SQL Orígenes y Evolución
DDL Lenguajes de definición de datos creación e estructura de la base de datos
Integridad de los datos
create para crear la estructura de objetos de la base de datos
alter modificar objetos
drop Elimina el objeto
DML data manipulation language Lenguaje de manipulación de Datos
recuperación de datos
Manipulación de datos
Insert : Guarda información que se inserta o se almacena datos .Insertar, almacenar, guarda información.
Update:Actualizar cualquier dato .
Delete:borrar datos .
select :consultar datos
DCL Data control language Lenguaje de control de datos
control acceso
Compartición de datos
Grand Doy permiso a los que ingresen
revoice quitar permisos .
Roles de Sql
Invocación directa o interactiva
La sentencia es invocada desde el terminal.
Los datos devueltos se presentan en pantalla
El resultado puede ser :
*Un valor
*Una lista de valores
* Una tabla
*Vacío
Invocación desde programa.
* La sentencia se invoca como parte de la ejecución del programa .
* Los datos devueltos se recogen en una área de entrada del programa.
Ventajas de SQL
Independencia de los fabricantes
Portabilidad a cualquier plataforma .
SQL está estandarizado .
Basado en el modelo relacional.
Lenguaje de alto nivel.
Consultas interactivas ad-hoc.
Utilización en lenguaje de programación
multiples vista de datos
lenguaje de base de datos
definición dinámicas de datos
arquitectura cliente servidor
Tipos de datos
Creación de dominios
Los dominios se pueden utilizar como tipos de datos
permite cambiar simultáneamente un dato
ejemplo
Char(15)default “ 99999” = pepito
tipos de datos despliega pepito
Operadores
Creación De objetos : Tablas
Create table nombre tabla(Nombre_columna,Tipo_Columna Restricciones_Columna, restricciones_tabla)
Esquema
Nombre_esquema.nombe_tabla
Restricciones de columna:
*unique
*Not null
*default<valor_por_defecto>
check(condicion)
*primary key
*Refeences Nombre_tabla (nombre_atributo)
Restriccion de tabla
Unique (nombre_Atributo) que la combinación sea única
Primary Key (nombre_Atributo)
foreign Key(nombre_atributo)References
NOmbre_tabla(Nombre_atributo)accion_referencial
Check(condicion)
Acciones referenciales
on update accion
On delete accion
restrick
DBO propietario de la base datos esquema por defaul
sqlserver
win2003.sql123.mi_Database.mgalarza.cliente.estaba mal
win2003.sql123.mi_Database.aten_cliente.cliente.le hicieron haci
sherpoint
Consulta de datos
select lista_atributos
Se indican los atributos que se quieren obtener como respuesta a la consulta
select at1,at2,....atn..
se utiliza * si queremos todos los atributos de las tablas involucradas
select*..
Pueden aparecer filas duplicadas
para evitarlos se pueden utilizar DISTINCT
SELECT DISTINCT lista_atributos..
*Los nombres de los atributos se pueden cambiar en el resultados de la tabla.
from lista_tablas
indica la tabla o tablas q son necesarias para obtener informacion.
*Lista de tabls que se utilizan en la consulta separadaspor comas
FROM tab1,tab2,tabn..
*Realiza el producto cartesiano (x) de las mismas
*Las condiciones (where,group by)se imponen sobre el producto el producto cartesiano
where condición
*Indica las condiciones que se deben cumplir las filas obtenidas como resultado
condiciones que deben cumplir las tuplas
Operadores
*comparación
*lógicos
*matematicos
*otros como Where
Reunion (join)
*No se realiza automaticamente
*Hay que escribir la condición de la consulta
*Si no se pone la conidion de join se obtiene el producto cartesiano
Group BY lista_atributos(hace agrupaciones )
having condición agrupados ( hace condiciones sobre lo agrupado)
Oreder By lista_atributos ( Ordenar de forma ascendente o descendente)
Ambigüedades
Cuando el mismo nombre de atributo aparece en más de una tabla
*hay que distinguir a que atributo se refiere
*se cualifica el atributo con en el nombre de la tabla
nombre_tabla.nombre_atributo
select empleado.nombre, ci
from empleado ,departamento
where empleado.código=departamento.código
*cuando la misma relación se la usa más de una vez en la consulta
*En este caso se utiliza alias para las tablas
Select E.nombre,J.nombre
From empleado E,empleado j
where e.id_jefe=j.ID
Funciones de agregación o agrupación
*Son funciones que toman una colección de valores como entrada y producen un único valor de salida .
Count
devuelve el número de tuplas o valores especificados en un consulta para el atributo indicado
Se puede utilizar como un atributo.
Subconsultas
*En general se admiten niveles de anidación
*Para evitar la ambigüedad los atributos sin cualificar siempre se referirán a las relaciones declaradas en la consulta más interna .
*Para evitar problemas es aconsejable calificar los atributos alias para las relaciones .
SELECT nombre
FROM empleado
Where sueldo >select sueldo
from empleado
Where dpto=5
Palabras Reservadas
*Exits Un valor lógico si la consulta tiene valores
*Devuelve true si la tabla no es vacía
*Not exits se utiliza para comprobar si el resultado de una consulta anidada no es vacio.
*devuelve false si la tabla no es vacía.
Group BY
Se utiliza para formar agrupaciones de tuplas en función de los valores de uno o varios atributos .
ejemplo
SELECT dpto, count (*),AVG(sueldo)
FROM empleado
Group by dpto
Having
*Se utiliza siempre con group By
*Impone condiciones sobre los grupos formados previamente en group by
SELECT dpto,COUNT(*),AVG(sueldo)
from empleado
GROUP by
HAVING COunt(*)>2
Ejemplo en exel
ORDER BY
permite que el usuario ordene el resultado de una consulta por lo svalores de uno o mas atributos
*El orden puede ser ascendente(ASC)o Descendente (DSC)
Operadores de conjuntos
*Union
*ntersect
*minus
(consulta1) Operador _conjunto (consulta2)
(select id From alumnos)
Union
(select id
FROM empleados )
Referencias Bibliográficas:
Coronel C., Morris S., Rob P. (2011). Bases de Datos Diseño, implementación y administración (Novena edición). México: Cengage Learning Editores. (Libro digital).
No hay comentarios:
Publicar un comentario