jueves, 9 de mayo de 2013

CONSULTAS BASICAS


Eliminación de tablas

La sentencia para eliminar una tabla y por ende todos los objetos asociados con esta tabla: como las vistas, disparadores, etc…  DROP TABLE.

Sintaxis de DROP  TABLE.

Drop table nombre de la tabla.

Ejemplo de DROP TABLE.

Utilizando una de la tablas antes creadas (blog  manual de SQL para crear una base de datos).

Use biblioteca

DROP TABLE libros.

De esa manera se borra una tabla por completo.

Sentencia ALTER.

Después que  una  tabla  ha  sido  utilizada  durante  algún  tiempo,  los usuarios  suelen descubrir que desean almacenar información adicional con respecto a las tablas. Por ejemplo en la base de datos  BIBLIOTECA, se podría desear:

   Añadir el nombre y número de una persona de contacto a cada fila de la tabla CLIENTES para contactar a los clientes.

    Añadir  una  columna  de  punto  de  orden  mínimo  en  la  tabla ARTICULO, para que            la         base   de       datos  pueda alertar automáticamente     cuando la cantidad o stock de un producto en particular está por debajo de lo óptimo para la venta.
Por lo general, esta sentencia ALTER TABLE se utiliza sobre tablas que ya poseen desde  cientos a miles de filas por ser tablas de un  sistemas de Base de Datos que ya está  en producción.

Los     cambios que se pueden realizar con la sentencia SQL ALTER TABLE

Son (ver ejemplo con la figura):

 
1. Añadir una definición de la columna de una tabla. Puede crearse con valores nulos o valores
 
ALTER TABLE nombre_de_la_tabla ADD nombre_de_columna_nueva TIPO_DE_DATO  NUL
 Ejemplo: ALTER TABLE LIBRO   ADD  FECHA datetime NULL
 
2. Eliminar una columna de la tabla. Pero antes de su eliminación deben ser  eliminados  por  ALTER  TABLE  todas  las  restricciones  que  estén definidas sobre esta columna.
Ejemplo:
ALTER TABLE libros  DROP  COLUMN fecha
 
SENTENCIA DE FILAS DUPLICADAS (DISTINCT)
Si una consulta incluye la llave primaria (pk) de una tabla en su lista de selección,  entonces cada fila de resultados será única (ya que la llave primaria (pk) tiene un valor diferente en cada fila). Si no se incluye la llave primaria en los resultados, pueden producirse filas duplicadas. Veamos el siguiente ejemplo,
Ejemplo: Seleccionar el código de artículos  que han sido pedidos.  Sin usar la palabra reservada DISTINCT.
El resultado tendría 13 filas y con nombre de clasificación repetido.
SELECT clasificación From libros
 
Ejemplo: Seleccionar el clasificación       que han sido pedidos. Utilizando la          palabra reservada DISTINCT. 
El resultado contiene menos filas, 4 filas y con la clasificación única, es decir no se repiten por las veces que fueron comprados como en el ejemplo.
Select distinct CLASIFICACIÓN From libros
 
Condiciones de Búsqueda (=, <>, >, <, >=, <=, BETWEEN, IN, LIKE, IS NULL, compuestas (AND, OR, NOT))
SQL usa las conectivas lógicas AND, OR           y NOT en la cláusula WHERE.
Los operandos de las conectivas lógicas pueden ser expresiones que
Contengan los operadores de comparación <, <=,>, > =, = y <>. SQL permite usar los operadores de comparación para comparar cadenas y expresiones aritméticas, así como tipos especiales, tales como el tipo fecha.
Ordenación de resultados de Consulta (cláusula ORDER BY)
Al igual que las filas de una tabla en la base de datos las filas de los resultados de  una consulta no están dispuestas en ningún orden particular. Existen situaciones en la que es necesaria ver la información en un orden en especial, como en orden alfabético (ASC, ascendente) u ver a las cifras de dinero   listadas de mayor monto a menor (DESC, descendente). Se puede pedir a SQL  que ordene los resultados de una consulta incluyendo la cláusula ORDER BY en la sentencia SELECT.
Ejemplo: Para buscar la información de los libros por orden de su  nombre, la sentencia select con la cláusula ORDER BY sería la siguiente:
1.-select*From libros order by TITULO_DEL_LIBRO
2.-select*From libros order by TITULO_DEL_LIBRO desc
 
 
En donde la primera tabla se acomoda en forma a-z y en la segunda se acomoda de z-a.
 
WHERE condición de Búsqueda
La cláusula WHERE: establece criterios de selección  de ciertas filas  en el resultado de la consulta  gracias a las    condiciones de búsqueda. Si no se requiere condiciones de búsqueda puede omitirse y el resultado de la consulta serán todas las filas de las tablas enunciadas en el FROM.
Sintaxis:
Select columna  From tabla   where columna que se va a condición =45 valor que se va a buscar
Ejemplo:
Select*From libros where CLASIFICACIÓN='informática' order by TITULO_DEL_LIBRO
 
Condiciones de Búsqueda con LIKE.
Ejemplo: Seleccionar a todos los nombres que contengan la letra "E" dentro de su nombre.
Select TITULO_DEL_LIBRO From libros where TITULO_DEL_LIBRO like 'E%' order by TITULO_DEL_LIBRO
Select TITULO_DEL_LIBRO From libros where TITULO_DEL_LIBRO like '%E' order by TITULO_DEL_LIBRO
Select TITULO_DEL_LIBRO From libros where TITULO_DEL_LIBRO like '%E%' order by TITULO_DEL_LIBRO
 
 
En la primera consulta me nuestra la búsqueda para encontrar todos los títulos que empiecen con la letra ‘e’.
En la segunda nuestra los títulos que tienen una letra ‘E’ dentro de su
Y la tercera busca la combinación de las 2 primeras.
Colocación del alias en una columna.
La colocación de un alias a una columna es simplemente para identificar con un nombre que nosotros colocamos en específico.
Sintaxis
Select columna as ‘el alias’ From tabla
Ejemplo.
Select titulo_del_libro as ‘Nombre’ From libro

miércoles, 24 de abril de 2013

MANUAL DE SQL PARA CREAR UNA BASE DE DATOS (B.D.) COMPLETA


MANUAL DE SQL PARA CREAR UNA BASE DE DATOS  (B.D.) COMPLETA

Primero hay que abrir el SQL

Una vez abierto SQL abrimos una consulta nueva (New Query)

Una vez que hallamos abierto  la nueva consulta vamos a crear nuestra base de datos (B.D.) biblioteca escribimos  

·        CREATE DATABASE (NOMBRE DE B.D. QUE QUEREMOS COLOCARLE)

En nuestro caso seria así:

·        Create database biblioteca

Una vez que hayamos escribido esto damos clic en el boto de ejecutar (execute) y en la parte de abajo no indicara que si la sentencia se ejecuto bien o no.

Una vez que nos indique que esta bien es hora de crear tablas en nuestra base de datos pero primero hay que indicar que B.D.  Se va ocupar con la sentencia

·        User (se coloca el nombre de la B.D.)

En nuestro caso seria:

·        User biblioteca.

Y ejecutamos y de nuevo nos deben indicar que se ejecuto correctamente el comando.

Ahora crearemos las tablas que debe llevar nuestra B.D. para esto ocuparemos la sentencia.

·        Create table (nombre de la tabla) después abrimos in paréntesis (y colocamos los campos que va a llevar nuestra tabla después de colocamos el valor de nuestro campo ya sea char (si son puras letras), int (si son puros números), varchar (si son combinados), datetime (si es de fechas) entre otros y al final cerramos el paréntesis).

En nuestro caso nuestras tablas son:

·        Libros. Los campos de la tabla son: ID_LIBROS,TITULO_DEL_LIBRO,EDITORIAL,CLASIFICACIÓN

·        Usuario. Los campos de la tabla son: NOMBRES,APELLIDOS,DIRECCION,TELEFONO,E_MAIL.

·        Prestamos. Los campos de la tabla son: NOMBRE_USUARIO,APELLIDOS,DIRECCION,TELEFONO,E_MAIL,ID_LIBROS, TITULO_DEL_LIBRO,CLASIFICACIÓN,DIAS_PRESTADOS,FECHA_DE_PRESTAMO,FECHA_DE_DEVOLUCION.

·        Devoluciones. Los campos de la tabla son: TITULO_DEL_LIBRO,EDITORIAL,DIAS_PRESTADOS,FECHA_DE_PRESTAMO, FECHA_DE_DEVOLUCION,NOMBRE_USUARIO,DIRECCION,TELEFONO, RECARGO_FECHA_VENCIDA,INCIDENCIAS.

Y quedarían de la siguiente manera

CREATE TABLE LIBROS

(ID_LIBROS VARCHAR(10),

TITULO_DEL_LIBRO VARCHAR(50),

EDITORIAL VARCHAR(50),

CLASIFICACIÓN VARCHAR(50))



CREATE TABLE USUARIOS

(NOMBRES CHAR(50),

APELLIDOS CHAR(50),

DIRECCION VARCHAR(50),

TELEFONO INT,

E_MAIL VARCHAR(50))

 

CREATE TABLE PRESTAMOS

(NOMBRE_USUARIO CHAR(50),

APELLIDOS CHAR(50),

DIRECCION VARCHAR(50),

TELEFONO INT,

E_MAIL VARCHAR(50),

ID_LIBROS VARCHAR(10),

TITULO_DEL_LIBRO VARCHAR(50),

CLASIFICACIÓN VARCHAR(50),

DIAS_PRESTADOS INT,

FECHA_DE_PRESTAMO DATETIME,

FECHA_DE_DEVOLUCION DATETIME)

 

CREATE TABLE DEVOLUCIONES

(TITULO_DEL_LIBRO VARCHAR(50),

EDITORIAL VARCHAR(50),

DIAS_PRESTADOS INT,

FECHA_DE_PRESTAMO DATETIME,

FECHA_DE_DEVOLUCION DATETIME,

NOMBRE_USUARIO CHAR(50),

DIRECCION VARCHAR(50),

TELEFONO INT,

RECARGO_FECHA_VENCIDA VARCHAR(50),

INCIDENCIAS INT

)

 

Una ves echas estas tablas le damos ejecutar (siempre y cuando este solo en la consulta de lo contario marcaria un error y se tendría que seleccionar solamente lo que se va ejecutar).
Cunado se ejecuta con un error.

Este error se refiere que no se puede ejecutar de nuevo la sentencia de Create database  por que ya hay una base de datos en SQL con ese nombre lo que se tiene que hacer es quitar la sentencia o colocar dos líneas (--) para colocarlo como comentario y ejecutarlo.

Una vez creado nuestras tablas hay que llenarlas para este ocuparemos la sentencia:

·        Insert into nombre de la tabla(nombre de los campos de la tabla) values( y datos que se le van a colocar a la tabla)

En nuestro caso que daría así tomando la tabla libro:

 

INSERT INTO LIBROS

(ID_LIBROS,TITULO_DEL_LIBRO,EDITORIAL,CLASIFICACIÓN)

VALUES(1,'SQL','MCMALION','INFORMATICA')

 

En la tabla usuario que daría así:

INSERT INTO USUARIOS

(NOMBRES,APELLIDOS,DIRECCION,TELEFONO,E_MAIL)

VALUES('YADIRA','ZAMUDIO','FUENTES DE PROMETEO',55234545,'YAD@HOTMAIL.COM')

 

En la tabla préstamo

INSERT INTO PRESTAMOS

(NOMBRE_USUARIO,APELLIDOS,DIRECCION,TELEFONO,E_MAIL,ID_LIBROS,TITULO_DEL_LIBRO,CLASIFICACIÓN,DIAS_PRESTADOS,FECHA_DE_PRESTAMO,FECHA_DE_DEVOLUCION)

VALUES('YADIRA','ZAMUDIO','FUENTES DE PROMETEO',55234545,'YAD@HOTMAIL.COM',1,'SQL','INFORMATICA' ,3,GETDATE(),GETDATE()-2)

 

Y en la tabla

INSERT INTO DEVOLUCIONES

(TITULO_DEL_LIBRO,EDITORIAL ,DIAS_PRESTADOS ,FECHA_DE_PRESTAMO,FECHA_DE_DEVOLUCION,NOMBRE_USUARIO ,DIRECCION ,TELEFONO ,RECARGO_FECHA_VENCIDA ,INCIDENCIAS)

VALUES('SQL','PORRUA',6,GETDATE(),GETDATE()-6,'DANIEL','OSTOR',56789032,'%15',2)

De esta manera se empieza a llenar las tablas colocaremos 1 ejemplos de cada uno para que identifique los elementos si es correcto mostrara lo siguiente de lo contrario es que colocamos un dato mal.

Y hay que revisar donde esta el error por eso hay que tener mucho cuidado de como colocamos los datos (todo lo que tenga letras lleva comilla sencilla ‘‘y los números va normal) se separa un dato de otro con una coma,)
 
Por ultimo apara verificar que nuestro dato se genero correctamente en nuestra tabla colaremos una consulta:

·        Select * From nombre de la tabla. Selecciona (select) todo (*) lo de la tabla (From) nombre de la tabla.

En nuestro caso seria para las 4 tablas:

SELECT * FROM PRESTAMOS

SELECT * FROM LIBROS

SELECT * FROM DEVOLUCIONES

SELECT * FROM USUARIOS

jueves, 18 de abril de 2013

SQL


POR QUE FRACASA UN BASE DE DATOS (B.D).
Existe varios factores por lo cual una B.D. fracasa una de ellas son:
• Tiempo.
• Documentación limitada: Cuando los clientes limitan la B.D el usuario la brinda.
• Mantenimiento.
• Inadecuados gestores.
METODOLOGÍA DE BASE DE DATOS (B.D.).



Esquema físico.
• DDL: Proceso  de creación de base de datos.
• DML: hace los procesos, cambios o decodificaciones de tablas por medio de las consultas.
• Tipo de manejo de base de datos (B.D).
• Lote relacional: Relaciona con la interfaz.
• Sistema gestor de base de datos (SGBD).

DISEÑO CONCEPTUAL.
                                          Diseño conceptual

Esquema conceptual o descripción de alto nivel de contenido de información de la D.B, independientemente del S.G.B.D. que se vaya a utilizar.
Modelo conceptual: Lenguaje que se utiliza para describir esquemas conceptuales.
Propósito: Obtener un esquema conceptual que lo exprese todo.
DISEÑO LÓGICO.
                                          Diseño Lógico


Esquema lógico: Descripción de la estructura de la B.D. según el modelo del SGBD que se vaya a utilizar.
Modelo lógico: Lenguaje  que se utiliza para describir lenguajes lógicos; hay  varios modelos lógicos: de red relacional, orientado a objetos...
Propósito: obtener una presentación que use de la manera más eficiente los recursos disponibles en el modelo lógico para estructurar datos y modelar registros el diseño lógico depende del modelo que  soporta el S.G.B.D.
DISEÑO FISICO.
                                         

Esquema físico: descripción de la implementación de una B.D. en la memoria secundaria.
• Memoria secundaria: estructura de almacenamiento y método usado para tener acceso efectivo a los datos.
El diseño físico se adapta a el S.G.B.D. se expresa haciendo uso de los lenguajes de definición de datos S.G.B.D. En SQL (lenguaje de consulta estructurado) las sentencias que se utilizan son las siguientes:
 Create database.
 Create table.
 Create view.
 Create index.
 Create schema.
 Create snapshot.
 Create clúster.
Dependencia de cada una de las etapas de diseño, en el tipo de S.G.B.D. y en el S.G.B.D. especifico.



MODELO DE DATOS.
Esquema: descripción de la estructura de los datos de interés un esquema conceptual se represente mediante un modelo conceptual.
  Expresividad.
  Minimalidad.
  Formalidad.
MODELO ENTIDAD-RELACIÓN.
Es el modelo más utilizado para el diseño conceptual de B.D.
                                            
ENTIDAD.
• Tipo de objeto sobre que se recoge información: cosas personales, conceptos o sucesos (empleados, clientes, etc.).
• Las entidades se representan gráficamente mediante rectángulos y sus nombres aparecen en el interior asignado.

RELACION (INTERRELACIÓN).
• Correspondencia o asignación entre 2 o más atributos.
• Se representa mediante rombos.
• La carnalidad con la entidad: participación  en una revelación especifica el número máximo y mínimo  de correspondencias.



ATRIBUTOS.
• Características de interés sobre una entidad o sobre una relación.
• La carnalidad en un atributo indica el numero mínimo y máximo de valor que pueda tomar
• Re representa por medio de:




DEFICIÓN DE SQL (LENGUAJE DE CONSULTA ESTRUCTURADO).
Conjunto de información almacenado en memoria auxiliar que permite acceso director y un conjunto de programación que manipula esos datos.
Ventajas de SQL.
 Dependencia de los datos y tratamientos.
 Combo en datos.
 Coherencia de resultados.
 Acciones logísticamente continuas.
 Reducen redundancias.
 Se evita inconsistencias.
 Mejora la disponibilidad de datos.
 No hay dueño de datos.
 Restricción de seguridad.
 Gestión de almacenamiento.
Finalidad: sirve a una aplicación o más de la mejor manera posible.