64
CC3201-1 BASES DE DATOS O TOÑO 2019 Clase 5: El Cálculo Relacional + SQL (I) Aidan Hogan [email protected]

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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

CC3201-1BASES DE DATOS

OTOÑO 2019

Clase 5: El Cálculo Relacional + SQL (I)

Aidan Hogan

[email protected]

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

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

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

¿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

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

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

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

¿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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

¡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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Preguntas?