122
CC3201-1 BASES DE D ATOS O TOÑO 2017 Clase 2: Modelo Relacional / ER Aidan Hogan [email protected]

CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Embed Size (px)

Citation preview

Page 1: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

CC3201-1BASES DE DATOS

OTOÑO 2017

Clase 2: Modelo Relacional / ER

Aidan Hogan

[email protected]

Page 2: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

RESUMEN DE LOS CONTENIDOS ANTERIORES

Page 3: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Todo el mundo tiene la necesidad de manejar datos

Page 4: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

… y si intentáramos implementar todo desde cero (usando Java o Python)…

… habríamos implementado un sistema de bases de datos

Page 5: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

MODELOS DE DATOS

Sección 1.5 | Ramakrishnan / Gehrke

Page 6: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelos de cervezas

Page 7: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (árbol/jerarquía)

¿Algún problema aquí?

Page 8: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (árbol/jerarquía)

Page 9: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (árbol/jerarquía)

Page 10: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (grafo)

Page 11: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (grafo)

Page 12: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (tabla)

Page 13: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo de datos (tabla)

Page 14: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Diferentes modelos de datos tienendiferentes fortalezas y debilidades …

… como cervezas.

Page 15: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Pero el modelo (formal) más establecido esel del modelo relacional

Page 16: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

EL MODELO RELACIONAL

Page 17: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional

Formalizado por

Edgar F. Codd (IBM)

en 1969

Page 18: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Conceptos

• Relación: A cada tabla, la llamamos una relación

– En este caso: Cervezas

• Atributo: A cada columna, la llamamos un atributo

– En este caso: nombre, tipo, grados, ciudad-origen

• Tupla: A cada fila, la llamamos una tupla

– En este caso, p.ej.,

Page 19: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Esquema

• Para denominar una relación con sus atributos …

• Un esquema es un conjunto de relaciones:

Page 20: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Esquema

¿La repetición de los nombres de atributos… es un problema?

No, pero si fuera, podríamos desambiguar (implícitamente) cada atributo usando el nombre de la relación:

Page 21: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Dominio

• Asumimos que cada atributo tiene un dominio:

Page 22: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Instancia

• Una instancia de un esquema es un conjunto de tuplas para cada relación de ese esquema

Page 23: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Instancia

el conjunto puede ser vacío

Page 24: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Instancia

• Una instancia de un esquema es un conjunto de tuplas para cada relación de ese esquema

¿Cuáles son las consecuencias de esta definición?

1. No hay orden en las filas2. No se puede tener filas duplicadas

(SQL no respeta estas consecuencias a veces)

Page 25: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Instancia

Page 26: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones

Restricciones (de integridad):

son restricciones formales

que imponemos a un esquema

que todas sus instancias

deben satisfacer

Page 27: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

Un conjunto de atributos de una relación

forma una súper llave

si no permitimos que existan

dos (o más) tuplas para esa relación

con los mismos valores

en todos los atributos de la llave

Page 28: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

¿Una súper llave?

Page 29: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Sí.

Modelo Relacional: Restricciones (Llaves)

¿Entonces la siguiente es una súper llave?

Page 30: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

¿Ok, entonces la siguiente es una súper llave?

No.

Page 31: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

Un conjunto de atributos de una relación

forma una llave candidata

si es una súper llave

y no hay un subconjunto propio de esos atributos

que es una súper llave

Page 32: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

¿Cuál es la llave candidatamás natural aquí?

Page 33: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

¡No! Es una súper llave dado que hay un subconjunto propio que es una súper llave.

Entonces no es una llave candidata.

Modelo Relacional: Restricciones (Llaves)

¿Entonces la siguiente es una llave candidata?

Page 34: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

No.

… no es una llave candidata.

Modelo Relacional: Restricciones (Llaves)

¿Hay otra llave candidata?

Page 35: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

(Pero en la práctica/el futuro, podría ser …)

Modelo Relacional: Restricciones (Llaves)

¿Cuál es la llave candidata aquí?

Page 36: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

No.

¿Es una instancia del esquema?

Page 37: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Llaves)

¿Hay otra llave candidata?

Probablemente …

… o puede ser …

(si no tenemos un tipo como Gengis Kan)

Page 38: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

• Una súper-llave identifica cada fila:

• Una llave candidatura es una súper llave mínima:

• Se escogerá una de las llaves candidaturas como llave primaria:

Modelo Relacional: Restricciones (Llaves)

Page 39: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Dependencias funcionales)

Dado una relación

y dos conjuntos de atributos X, Y

X determina funcionalmente Y

si y solo si

cada valor de X en la relación

tiene asociado un solo valor de Y

Page 40: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional:Restricciones (Dependencias funcionales)

¿Hay una dependencia funcional aquí?

Page 41: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional:Restricciones (Dependencias funcionales)

¿Es una dependencia funcional?

¡No!

Page 42: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional:Restricciones (Dependencias funcionales)

¿Hay una dependencia funcional aquí usando la llave primaria (a la izquierda)?

Page 43: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones (Dependencias funcionales)

Una llave (súper o candidata)

de una relación

determina funcionalmente

todos los atributos

de la relación

Page 44: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional:Restricciones (Dependencias funcionales)

¿Cómo podemos determinar las llaves candidatas usando las dependencias funcionales?

Además, si la parte izquierda es mínima en este respecto, es …

una llave candidata.

Si la parte derecha contiene todos los atributos,la parte izquierda es …

una súper llave.

Page 45: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

UN PROBLEMA CON EL VINO

Page 46: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones

¿Cuál es la llave primaria más natural?(Hay que pensar en el futuro también)

¿Cómo podemos solucionareste problema?

¿ ?

Page 47: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelo Relacional: Restricciones

¿Cuál es la llave primaria más natural?(Hay que pensar en el futuro también)

¿Cómo podemos solucionareste problema?

¿ ?

¿Cómo podemos solucionar este problema?

Page 48: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Solución 1: ¿Un nombre de vino más especifico?

Page 49: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Solución 2: ¿Un atributo nuevo: id? (¿por ejemplo, el código de barras?)

Page 50: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Solución 3: ¿Una tabla “En-Stock” para vino y cerveza?

Page 51: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Solución 4: ¿Combinemos las tablas?

Page 52: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Solución 5: ¿Dimitamos y tomar una botella de vino?

Page 53: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

¿Podemos evitar este tipo de problema?

¿Cómo podemos solucionareste problema?

Page 54: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

DISEÑO CONCEPTUAL:EL DIAGRAMA ENTIDAD–RELACIÓN

Capítulo 2 | Ramakrishnan / Gehrke

Page 55: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Una pregunta más general:Conceptualmente: ¿qué estamos describiendo?

• Entidades:

• Atributos de entidades:

• Relaciones entre entidades:

Page 56: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Diagramas: Entidad–Relación (ER)

Page 57: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Llaves(son obligatorias para cada entidad)

Page 58: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Binarias(Dos entidades relacionadas)

Page 59: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Binarias(Dos entidades relacionadas)

Page 60: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones BinariasAtributos de Relaciones

Relaciones tienenatributos descriptivos(no se pueden usarlos

como parte de una llave)

Page 61: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Binarias:Multiplicidad de relaciones

• n a n:

• n a 0 o 1:

• 0 o 1 a n:

• 0 o 1 a 0 o 1:

¿Cuál es correcta? ¡Depende de la aplicación!

n significa 0 o más

Page 62: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

De hecho, hay muchas convenciones

• Según Wikipedia:

Page 63: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Pero sólo utilizaremos esta convención:

• Un Producto se fabrica por como máximo una Compañía

• Una Compañía puede fabricar varios Productos

No significa que hay solo 0 o 1 Compañía.Significa que un Producto se fabrica por 0 o 1 Compañía.

Page 64: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Binarias(Dos entidades relacionadas)

¿Multiplicidad de atributos?

Siempre a 11 a 1 (e.g., rut)

n a 1 (e.g., categoría)

Page 65: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ENTIDAD–RELACIÓN:RELACIONES MÚLTIPLES

Capítulo 2 | Ramakrishnan / Gehrke

Page 66: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones

¿Cómo se puede modelar un arriendo que involucra Personas, Películas y Locales de Videos?

Page 67: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Cómo se puede modelar un arriendo que involucra Personas, Películas y Locales de Videos?

Page 68: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Por qué no un atributo?

Si Película no es un “valor simple” (tiene varios atributos)y/o si se necesita Película en la llave de la relación

Relaciones tienenatributos descriptivos(no se puede usarlos

como parte de una llave)

Page 69: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Las multiplicidades?…

Page 70: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

Page 71: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

Una Persona puede arrendar una sola Película en un solo Local de videos.Puede ser que haya varias Locales de videos con varias Películas, etc.

¿Qué significa ésta (exactamente)?

Persona es “una llave” de la relación

Page 72: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Si quisiéramos decir que una Persona puede arrendar varias Películas de varios Locales de videos? …

Page 73: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Si quisiéramos decir que una Persona puede arrendar varias Películas pero de un solo Local de videos? Regresaremos.

Page 74: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Es un diagrama ER?

Formalmente no. No tenemos llaves de entidades.(Pero a menudo, se omiten los atributos para ser conciso)

Page 75: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Se puede hacerlo usando relaciones binarias?…

Page 76: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

Page 77: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Cuál es preferible?

Más flexible(p.ej., restricciones)

Mucho más conciso

Page 78: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones Múltiples

¿Si quisiéramos decir que una Persona puede arrendar varias Películas pero de un solo Local de videos? …

Page 79: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

DER: Relaciones Múltiples:Arcos Etiquetados (Papeles)

Page 80: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

DIAGRAMA ENTIDAD–RELACIÓN:RESTRICCIONES AVANZADAS

Capítulo 2 | Ramakrishnan / Gehrke

Page 81: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Restricciones(Hemos visto) Valor único

O?

Page 82: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Restricciones(Hemos visto) Valor único

Page 83: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: RestriccionesParticipación

… cada profesor trabaja en al menos una universidad

Page 84: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: RestriccionesParticipación + Valor Único

… cada profesor trabaja en una (sola) universidad

Page 85: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: RestriccionesParticipación + Valor Único

… cada profesor trabaja en 0 o 1 universidad

… cada profesor trabaja en 1 o más universidades

… cada profesor trabaja en 1 (sola) universidad

Page 86: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ENTIDAD–RELACIÓN:JERARQUÍAS DE CLASES

Capítulo 2 | Ramakrishnan / Gehrke

Page 87: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Jerarquías de clasesIsA: esUn(a) en ingles

… los atributos origen, nombre y tipo se heredan por Vino y Cerveza

Page 88: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Jerarquías de clasesSuperclases y subclases

… Bebida es una superclase… Vino y Cerveza son subclases

Page 89: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Jerarquías de clasesGeneralización y especialización

Beb

ida

gen

eral

iza

Vin

o y

Cer

veza

Vin

o y C

erveza esp

ecializanB

ebid

a

Page 90: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ENTIDAD–RELACIÓN:ENTIDADES DEBILES

Capítulo 2 |Ramakrishnan / Gehrke

Page 91: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Entidades débiles

¡No se puede compartir llaves así!

Page 92: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Entidades débiles

… entidades cuya llave dependa de la llave de otra entidad

Page 93: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

(1) Dependencia de llave

ER: Entidades débiles¿Cuándo se usan? Tres características

… entidades cuya llave dependa de la llave de otra entidad

(2) Varias (débiles) a una (3) Participación total

(1) Dependencia de llave

Page 94: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

DIAGRAMA ENTIDAD–RELACIÓN:AGREGACIÓN

Capítulo 2 | Ramakrishnan / Gehrke

Page 95: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

¿Cómo se puede conectar Auxiliar y Curso?

Page 96: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

¿Cómo se puede conectar Profesor y Curso?

Page 97: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

¿Cómo se puede conectar Auxiliar y Profesor?

Están conectados implícitamente por Curso(?)

Page 98: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

¿Si hay varios Profesores en cada Cursocon sus propios Auxiliares?

Page 99: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

¿Si queremos decir cuántas horas el Auxiliartrabaja con cada Profesor en el Curso?

Page 100: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

¿Si queremos decir cuántas horas el Auxiliarda al Curso en total y con respecto a cada Profesor?

Page 101: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación¿Cuándo se necesita agregación?

… se puede tener relaciones entre relaciones?No directamente, pero …

Page 102: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación: crear una entidad virtual encapsulando una relación

Page 103: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación: ¿Cuándo se usa? Un caso típico

(1) Dependencia de llave(1) Varios a varios

(2) Atributos diferentes(2) Atributos diferentes

Page 104: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Agregación: Mejor ejemplo

La relación no está entre relaciones (hay un hueco).

La relación conecta Persona y una entidad virtual.

Page 105: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

ER: Relaciones: Binaria vs. Agregación vs. Ternaria

Más conciso

Más flexible

¡Es importante intentar ser tan conciso como sea posible (pero no más conciso)!

Page 106: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No
Page 107: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

¿PARA QUÉ NECESITAMOS ER?

Page 108: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No
Page 109: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

¿Para qué necesitamos ER?

• Modelar los requerimientos de un aplicación– En una forma menos técnica que usar tablas

• Evitar redundancia / lograr un modelo conciso

• Documentar restricciones conceptuales

• Evitar problemas (p.ej. con llaves)

Page 110: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

EJEMPLO:VINO, CERVEZA

Page 111: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

Page 112: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

No tenemos llaves …

Page 113: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(con llaves)

¿Repeticiones de atributos? […]

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

Page 114: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(con jerarquía de clases)

¿La llave del Stock? […]

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

Page 115: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(con entidades débiles)

¿Multiplicidades y otras restricciones? […]

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

Page 116: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(con restricciones)

¿Pero cada Bebida tiene que tener un valor de Stock? […]

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

Page 117: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(con restricciones)

Listo.

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas

tienen un precio unitario y una cantidad “en stock” cada día.

Page 118: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(pero …)

¿Qué pasa sin fecha (si hay sólo el stock actual)?

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas tienen un precio unitario y una cantidad “en stock” actual cada día.

Page 119: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(pero …)

¿Listo?

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas tienen un precio unitario y una cantidad “en stock” actual cada día.

Page 120: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Modelando vinos y cervezas(ser más conciso)

Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene año, tipo, grados. Vinos y cervezas tienen un precio unitario y una cantidad “en stock” actual cada día.

Page 121: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

LA PROXIMA VEZ, CONTINUAREMOS CON:

MODELO ER → MODELO RELACIONALY EL ÁLGEBRA RELACIONAL

Capítulo 3,5 y 4 | Ramakrishnan / Gehrke

Page 122: CC3201-1 B DATOS O 2017 Clase 2: Modelo Relacional / ERaidanhogan.com/teaching/cc3201-1-2017/lectures/BdD2017-02.pdf · ¿Cuáles son las consecuencias de esta definición? 1. No

Preguntas?