cc3201 bases de datos - aidan hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/bdd2019-05.pdf ·...
TRANSCRIPT
![Page 1: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/1.jpg)
CC3201-1BASES DE DATOS
OTOÑO 2019
Clase 5: El Cálculo Relacional + SQL (I)
Aidan Hogan
![Page 2: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/2.jpg)
LA ÚLTIMA VEZ ...
![Page 3: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/3.jpg)
El Álgebra Relacional
![Page 4: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/4.jpg)
¿Se necesita un operador nuevo aquí?
Formalizando demasiadas preguntas
Y ¿marcas de vino que tengan un
vino de cada región de vinos?
Una tarea.
![Page 5: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/5.jpg)
La solución completa …
![Page 6: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/6.jpg)
División (una abreviatura)
¿Qué marcas de vino tienen un vino
de cada región de vinos?
![Page 7: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/7.jpg)
EL CÁLCULO RELACIONAL
(En breve)
Capítulo 4.3 | Ramakrishnan / Gehrke
![Page 8: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/8.jpg)
¿hay otra forma de
formalizar consultas?
![Page 9: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/9.jpg)
El Cálculo Relacional: Tuplas
¿Qué cervezas hay?
![Page 10: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/10.jpg)
El Cálculo Relacional: Selección
¿Qué cervezas de la marca
“Austral” hay?
![Page 11: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/11.jpg)
El Cálculo Relacional: Selección (>, ∧, etc.)
¿Qué ales son
más fuertes que 4,8?
![Page 12: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/12.jpg)
El Cálculo Relacional: Proyección
Un paso atrás …
¿Qué tipos de cerveza hay?
![Page 13: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/13.jpg)
El Cálculo Relacional:Selección + Proyección
Y ¿qué tipos tienen una cerveza
más fuerte que 4,8?
![Page 14: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/14.jpg)
El Cálculo Relacional: Selección + Proyección + Intersección
Estoy curioso ¿qué marcas de
cerveza tienen un ale y un lager?
![Page 15: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/15.jpg)
El Cálculo Relacional: Selección + Proyección + Diferencia
Y ¿qué marcas de cerveza tienen un
ale pero no un lager?
![Page 16: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/16.jpg)
El Cálculo Relacional: Selección + Proyección + Unión
Y ¿qué marcas de cerveza tienen un
ale o un lager?
¿En el cálculo?
![Page 17: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/17.jpg)
El Cálculo Relacional: Selección + Proyección + Unión
Y ¿qué marcas de cerveza tienen un
ale o un lager?
![Page 18: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/18.jpg)
El Cálculo Relacional: Join
¿Qué son los pares de nombres de
cervezas donde la primera cerveza
es más fuerte que la segunda?
![Page 19: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/19.jpg)
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino
de cada región de vinos?
¿En el cálculo?
![Page 20: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/20.jpg)
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino
de cada región de vinos?
![Page 21: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/21.jpg)
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino
de cada región de vinos que tenga
al menos un vino con precio mayor
de 4000?
![Page 22: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/22.jpg)
El Cálculo Relacional (de tuplas)
• Fórmulas atómicas:
• Una fórmula puede ser
– Una fórmula atómica o
– Sean (recursivamente) p y q formulas:
¿Se necesitan todos estos operadores?
![Page 23: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/23.jpg)
El Cálculo Relacional: División
¿Sin ?…
¿Qué marcas de vino tienen un vino
de cada región de vinos que tenga
al menos un vino con precio mayor
de 4000?
![Page 24: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/24.jpg)
El Cálculo Relacional: División
equivalente a
¿Qué marcas de vino tienen un vino
de cada región de vinos que tenga
al menos un vino con precio mayor
de 4000?
![Page 25: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/25.jpg)
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino
de cada región de vinos que tenga
al menos un vino con precio mayor
de 4000?
¿Sin ?…
![Page 26: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/26.jpg)
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino
de cada región de vinos que tenga
al menos un vino con precio mayor
de 4000?
equivalente a
![Page 27: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/27.jpg)
Consultas (no) seguras
• Sintácticamente correcta pero …
• Pide todas las tuplas que no estén en Cerveza (pero que satisfagan el esquema de Cerveza)
– ¡Puede ser infinito! (“No segura”)
Una consulta es segura si puede generar
todas las soluciones considerando solo las
constantes en los datos y la consulta.
Una definición aproximada
![Page 28: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/28.jpg)
El álgebra versus el cálculo (seguro)
… tienen la misma expresividad.
![Page 29: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/29.jpg)
El álgebra versus el cálculo (seguro)
… tienen la misma expresividad.
¿Qué piensan ustedes?¿Cuál es mejor … el álgebra o el cálculo?
![Page 30: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/30.jpg)
STRUCTURED QUERY LANGUAGE
(SQL)
El lenguaje estructurado de consulta
Capítulo 5 Database Management Systems,Ramakrishnan / Gehrke (Third Edition)
![Page 31: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/31.jpg)
El álgebra y el cálculo
… ¿cómo se pueden expresar estos lenguajes matemáticos en un lenguaje computacional?
![Page 32: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/32.jpg)
Los inicios de SQL …
Conceptualizado por
Donald Chamberlin (IBM) y Raymond F. Boyce (IBM)
en 1974
![Page 33: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/33.jpg)
1974 …
![Page 34: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/34.jpg)
La evolución de SQL
![Page 35: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/35.jpg)
Sistemas de bases de datos (con SQL)
http://db-engines.com/en/ranking/relational+dbms
¡Varios sistemas pueden tener varias interpretaciones del estándar de SQL!
Pero el “core” de SQL es compatible entre los sistemas más populares.
![Page 36: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/36.jpg)
SQL en alto nivel
• Lenguaje de Manipulación de Datos (LMD)– o DML: Data Manipulation Language en inglés
– Actualizar filas, consultar tablas, etc.
• Lenguaje de Definición de Datos (LDD)– o DDL: Data Definition Language en inglés
– Crear y definir tablas
• Disparadores (triggers), transacciones, seguridad, SQL dinámico, etcétera
![Page 37: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/37.jpg)
Los planetas
![Page 38: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/38.jpg)
Mientras tanto en Plutón …
![Page 39: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/39.jpg)
Forma básica de una consulta de SQL
![Page 40: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/40.jpg)
Proyectar todo: SELECT *
![Page 41: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/41.jpg)
¡Cuidado!
![Page 42: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/42.jpg)
Proyectar algo: SELECT [v1, …, vn]
![Page 43: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/43.jpg)
Seleccionar filas: WHERE (=|<>|<|<=|etc.)
![Page 44: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/44.jpg)
Seleccionar filas: WHERE … AND … (OR|NOT)
![Page 45: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/45.jpg)
Duplicados: SELECT
¿Algún problema aquí?
![Page 46: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/46.jpg)
![Page 47: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/47.jpg)
Distinto: SELECT DISTINCT
SQL puede cambiar las reglas del álgebra relacional; por ejemplo, permite duplicados,
considera orden entre las filas, etcétera.
¿Qué piensan ustedes?¿Duplicados en tablas/resultados son útiles?
![Page 48: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/48.jpg)
Ordenar resultados: ORDER BY [DESC|ASC]
![Page 49: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/49.jpg)
Reunir tablas: JOIN
![Page 50: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/50.jpg)
Alias: AS
![Page 51: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/51.jpg)
Alias: tablas
![Page 52: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/52.jpg)
Unión (distinta): UNION
![Page 53: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/53.jpg)
Unión (con alias): UNION + AS
![Page 54: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/54.jpg)
Unión (bruta): UNION ALL
![Page 55: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/55.jpg)
Diferencia: EXCEPT
![Page 56: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/56.jpg)
Intersección: INTERSECT
![Page 57: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/57.jpg)
Patrones simples: LIKE
![Page 58: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/58.jpg)
Patrones simples: NOT LIKE
![Page 59: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/59.jpg)
LIKE
¡Distinción de mayúsculas depende de
la configuración de un sistema en particular!
![Page 60: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/60.jpg)
Abreviatura: IN
![Page 61: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/61.jpg)
Abreviatura: BETWEEN
![Page 62: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/62.jpg)
Una tarea
• Pensar en la forma de representar estas consultas usando el álgebra y el cálculo
![Page 63: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/63.jpg)
LA PRÓXIMA VEZ, CONTINUAREMOS CON MÁS DEL:
STRUCTURED QUERY LANGUAGE (SQL)
Capítulo 4 & 5 | Ramakrishnan / Gehrke
![Page 64: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019-05.pdf · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan](https://reader034.vdocuments.co/reader034/viewer/2022051823/5fed30701bbf1464411acf27/html5/thumbnails/64.jpg)
Preguntas?