Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
Introducción a SQL
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
IISSI 1
Introducción a SQL 07/11/2014
Introducción a SQL
Introducción a SQL
• Trazabilidad de modelos
– A partir del modelo conceptual se puede obtener
1. Trazabilidad de
modelos un modelo relacional que se implementa
2. ¿Qué es SQL?
3. Evolución posteriormente en SQL para obtener el esquema
histórica
4. Presentación del
modelo
de la base de datos.
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
Requisitos
varias tablas
10.Consultas restricciones
complejas
cif
nombre
publ
publiiccaa
fecha order_id number,
*
dirección
order_dt date,
? MC MR MR SQL
aallm
mac
aceenaP
naPro
roduct
ductos
osEn
En cust_id references customer
* *
constraint pk_orders (order_id)
© Diseño de Amador Durán Toro, 2011
A
Allma
maccéénn LLííne
neaaD
DeeC
Caatá
tállogo
ogo PPro
roduc
ducto
to
nombre
dirección
precioMenosDeCien
precioMásDeCien *
rref
ef er
erenc
enciiaa
1
código
nombre
)
descripción
….
Modelo conceptual
Modelo relacional Código SQL
IISSI 2
Introducción a SQL 07/11/2014
Introducción a SQL
• ¿Qué es SQL?
– SQL (Structured Query Language) es el lenguaje
estándar para definir, manipular y consultar bases de
1. Trazabilidad de
modelos datos relacionales.
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
– Puede ser utilizado en lenguajes de programación de
5. Transformación
SQL-Oracle
propósito general como Java o bien en lenguajes
6. Create table específicos del fabricante (p.ej. PL/SQL en Oracle,
7. Actualización de
datos Transact SQL en MS-SQL Server).
8. Select
9. Consultas de
varias tablas
10.Consultas – Se pueden distinguir dos tipos de sentencias:
complejas
• DDL (Data Definition Language): gestión del esquema
de la base de datos (creación, modificación y borrado
de tablas, claves, etc.).
• DML (Data Manipulation Language): gestión de los
Introducción a SQL
• ¿Qué es SQL?
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 3
Introducción a SQL 07/11/2014
Introducción a SQL
Introducción a SQL
IISSI 4
Introducción a SQL 07/11/2014
Introducción a SQL
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
IISSI 5
Introducción a SQL 07/11/2014
Introducción a SQL
Introducción a SQL
• Creación de tablas
– Claves primarias
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
Dos posibles
4. Presentación del
modelo formas de
5. Transformación definir PK.
SQL-Oracle
6. Create table
7. Actualización de Notación para PK
datos
formada por más
8. Select
9. Consultas de
de un atributo
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 6
Introducción a SQL 07/11/2014
Introducción a SQL
• Creación de tablas
– Not null, unique, check
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• Creación de tablas
– Not null, unique, check Constraint restricción
1. Trazabilidad de permite darle nombre a la
modelos restricción. Por defecto,
2. ¿Qué es SQL? Oracle le signa SY_Cn,
3. Evolución
histórica
siendo n un entero. En
4. Presentación del caso de que le demos
modelo nombre será más fácil
5. Transformación identificar de que
SQL-Oracle
6. Create table
restricción se trata
7. Actualización de cuando se produzca el
datos mensaje de error.
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 7
Introducción a SQL 07/11/2014
Introducción a SQL
• Creación de tablas
– Claves ajenas
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• Creación de tablas
– Claves ajenas en la tabla EMPLEADOS
1. Trazabilidad de
modelos Integridad
2. ¿Qué es SQL?
3. Evolución
Referencial
histórica
4. Presentación del
modelo
5. Transformación
• Cada fila de empleados tiene un valor de OID_D que es
SQL-Oracle
6. Create table
null ó bien referencia una fila de la tabla departamentos
7. Actualización de
datos
• Cada fila de empleados tiene un valor de jefe que es
8. Select null ó bien referencia una fila de la misma tabla
9. Consultas de
varias tablas
10.Consultas
complejas
– ¿Qué ocurre cuando se actualiza el elemento
referenciado mediante la FK?
• Se borra o modifica el OID_D referenciado (de la tabla
departamentos)
© Diseño de Amador Durán Toro, 2011
IISSI 8
Introducción a SQL 07/11/2014
Introducción a SQL
• Creación de tablas
Filas referenciadas
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Filas referenciadas
Introducción a SQL
IISSI 9
Introducción a SQL 07/11/2014
Introducción a SQL
Introducción a SQL
IISSI 10
Introducción a SQL 07/11/2014
Introducción a SQL
1. Trazabilidad de
modelos • ON DELETE RESTRICT
2. ¿Qué es SQL? Opciones por defecto
3. Evolución • ON UPDATE RESTRICT
histórica
4. Presentación del
modelo
• ON DELETE CASCADE
5. Transformación
SQL-Oracle • ON DELETE SET NULL
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
IISSI 11
Introducción a SQL 07/11/2014
Introducción a SQL
Introducción a SQL
• Insert
– Una vez creadas las tablas con sus restricciones de
1. Trazabilidad de
modelos
integridad (intensión), se insertan las filas (extensión).
2. ¿Qué es SQL?
Especifica los atributos
3. Evolución
histórica cuyos valores se van a
4. Presentación del insertar
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
No se especifican atributos. Es el
© Diseño de Amador Durán Toro, 2011
IISSI 12
Introducción a SQL 07/11/2014
Introducción a SQL
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
Especifica la columna a
4. Presentación del
modelo modificar y el nuevo valor.
5. Transformación
SQL-Oracle
6. Create table
• Delete: Borra filas
7. Actualización de
datos
8. Select
Selecciona las filas
9. Consultas de
varias tablas afectadas (modificar,
10.Consultas borrar…..)
complejas
Introducción a SQL
• Select
– Permite seleccionar datos de la base de datos.
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
SELECT < lista de columnas >
modelo
5. Transformación
SQL-Oracle FROM < T1, T2,.. ,Tn >
6. Create table
7. Actualización de
datos WHERE < condición >
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 13
Introducción a SQL 07/11/2014
Introducción a SQL
• Select
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• Distinct
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 14
Introducción a SQL 07/11/2014
Introducción a SQL
Introducción a SQL
• Between
– Selecc¡ona valores en un rango.
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 15
Introducción a SQL 07/11/2014
Introducción a SQL
• IN
1. Trazabilidad de
modelos
2. ¿Qué es SQL? – Permite comparar un valor individual v (un nombre de atributo)
3. Evolución
histórica con un conjunto de valores V (generalmente una consulta
4. Presentación del
modelo anidada). Devuelve TRUE si v es uno de los elementos de V.
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• Subcadenas (Like)
1. Trazabilidad de
modelos – Para comparar cadenas de caracteres se utiliza el operador de
2. ¿Qué es SQL?
comparación Like.
3. Evolución
histórica
4. Presentación del
– Las cadenas parciales se especifican mediante los caracteres
modelo
reservados % y _.
5. Transformación
SQL-Oracle
• % representa cualquier cadena de caracteres
6. Create table
7. Actualización de • _ representa un único caracter
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 16
Introducción a SQL 07/11/2014
Introducción a SQL
• Order by
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
Ordena por departamento
9. Consultas de
varias tablas descendente y a igual
10.Consultas departamento por nombre del
complejas empleado alfabético
Introducción a SQL
IISSI 17
Introducción a SQL 07/11/2014
Introducción a SQL
• Producto cartesiano
Empleados (5 filas) Departamentos (3 filas)
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas • 15 (3x5) filas
10.Consultas
complejas
Introducción a SQL
4 filas. Las filas que no enlazan (no tienen igual oid_d) no aparecen
IISSI 18
Introducción a SQL 07/11/2014
Introducción a SQL
• Natural join
– Iguala los atributos que se llaman igual y los presenta solo una vez.
1. Trazabilidad de Equivalentes
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• LEFT JOIN
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
Aparecen las filas que enlazan (igual oid_d) y los empleados sin departamento (oid_d null)
IISSI 19
Introducción a SQL 07/11/2014
Introducción a SQL
• RIGHT JOIN
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• FULL JOIN
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 20
Introducción a SQL 07/11/2014
Introducción a SQL
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas – Como resultado de los operadores conjuntistas, se obtiene un nuevo conjunto y por
tanto sin duplicados.
– Las tablas operando tienen que ser compatibles (igual nº de columnas y las
correspondientes del mismo tipo).
Introducción a SQL
• Exists
1. Trazabilidad de
modelos
2. ¿Qué es SQL? ?????
3. Evolución
histórica
– Sirve para comprobar si el resultado de una consulta
4. Presentación del
modelo
anidada contiene tuplas.
5. Transformación
SQL-Oracle – “Obtener los departamentos sin empleados”.
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 21
Introducción a SQL 07/11/2014
Introducción a SQL
• Exists
1. Trazabilidad de
modelos
?????
2. ¿Qué es SQL?
3. Evolución
histórica
– Sirve para comprobar si el resultado de una consulta
4. Presentación del
modelo
anidada contiene tuplas.
5. Transformación
SQL-Oracle – “Obtener los departamentos sin empleados”.
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• C
Consultas complejas
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de – Están enfocadas a los niveles táctico y estratégico de
datos
8. Select un sistema de información.
9. Consultas de
varias tablas
– Presentan los datos agrupados a partir de los registros
10.Consultas
complejas
individuales que corresponden a las operaciones diarias
© Diseño de Amador Durán Toro, 2011
IISSI 22
Introducción a SQL 07/11/2014
Introducción a SQL
• Funciones agregadas
– COUNT devuelve el número de filas o valores
1. Trazabilidad de
modelos especificados en una consulta.
2. ¿Qué es SQL?
3. Evolución
histórica
– SUM, MAX, MIN, AVG se aplican a un conjunto o
4. Presentación del
modelo multiconjunto de valores numéricos y devuelven
5. Transformación
SQL-Oracle respectivamente la suma, el valor máximo, el
6. Create table
7. Actualización de mínimo y el promedio de dichos valores.
datos
8. Select
9. Consultas de
– Estas funciones se pueden usar con la cláusula
varias tablas
10.Consultas SELECT o con la cláusula HAVING.
complejas
Introducción a SQL
• Funciones agregadas
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución – “Número de empleados, salario mínimo, salario
histórica
4. Presentación del
modelo
máximo, salario medio y salario total”.
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 23
Introducción a SQL 07/11/2014
Introducción a SQL
• Group by
– Agrupa las tuplas que tienen el mismo valor para
1. Trazabilidad de
modelos ciertos atributos.
2. ¿Qué es SQL?
3. Evolución
histórica
– Permite aplicar las funciones de agregación (sum,
4. Presentación del
modelo max, min, avg, count, etc.) a cada uno de dichos
5. Transformación
SQL-Oracle grupos.
6. Create table
7. Actualización de
datos
– Los atributos de agrupación pueden aparecer en
8. Select
9. Consultas de
la cláusula SELECT.
varias tablas
10.Consultas
complejas
– Es el equivalente al operador agregación de
Álgebra Relacional
Introducción a SQL
• Group by
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
Group By OID_D
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 24
Introducción a SQL 07/11/2014
Introducción a SQL
• Group by
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución – “Número de empleados, salario mínimo, salario
histórica
4. Presentación del
modelo
máximo, salario medio y salario total y por
5. Transformación
SQL-Oracle
departamento”.
departamento
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas – En Algebra Relacional:
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 25
Introducción a SQL 07/11/2014
Introducción a SQL
• Having
– Especifica una condición sobre el grupo de tuplas
1. Trazabilidad de
modelos asociado a cada valor de los atributos de
2. ¿Qué es SQL?
3. Evolución agrupación (clases de equivalencia).
histórica
4. Presentación del
modelo – Sólo los grupos que cumplan la condición entrarán
5. Transformación
SQL-Oracle en el resultado de la consulta.
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• Having
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución – “Obtener, para los departamentos que tengan más de
histórica
4. Presentación del
modelo
empleado, el código de departamento, número de
un empleado
5. Transformación
SQL-Oracle
empleados que tiene, salario máximo y salario medio”.
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 26
Introducción a SQL 07/11/2014
Introducción a SQL
• Having
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
– Having es equivalente a hacer una restricción después
8. Select
9. Consultas de
varias tablas
del group by
10.Consultas
complejas
Alias, renombra count(*)
Introducción a SQL
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas – En Algebra Relacional:
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 27
Introducción a SQL 07/11/2014
Introducción a SQL
• ANY, ALL
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
– Permite comparar un valor individual v (nombre de atributo)
3. Evolución
histórica
con un conjunto de valores V (consulta anidada).
4. Presentación del
modelo
– “Obtener los empleados con salario mayor que el salario medio
5. Transformación
SQL-Oracle
en todos los departamento”.
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
• Ejercicios
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución – “Departamento con más empleados”.
histórica
4. Presentación del
modelo Equivalentes
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 28
Introducción a SQL 07/11/2014
Introducción a SQL
• Comentarios, sugerencias, …
1. Trazabilidad de
modelos
2. ¿Qué es SQL?
3. Evolución
histórica
4. Presentación del
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
Introducción a SQL
1. Trazabilidad de
– Revisión final y simplificación: octubre 2011 (Amador Durán).
modelos
2. ¿Qué es SQL?
– Retoques menores: octubre 2012 (Amador Durán).
3. Evolución – Reducción y adaptación a ejemplo: noviembre 2013 (Mayte Gómez).
histórica
4. Presentación del – Cambios de contenido y ejemplos: octubre 2014 (Margarita Cruz).
modelo
5. Transformación
SQL-Oracle
6. Create table
7. Actualización de
datos
8. Select
9. Consultas de
varias tablas
10.Consultas
complejas
© Diseño de Amador Durán Toro, 2011
IISSI 29