CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... ·...
Transcript of CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... ·...
![Page 1: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/1.jpg)
CC3201-1BASES DE DATOS
OTOÑO 2019
Clase 3: Modelo Entidad-Relación (II)
Aidan Hogan
![Page 2: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/2.jpg)
La última vez … E–R
![Page 3: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/3.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:RELACIONES MÚLTIPLES
Capítulo 2 | Ramakrishnan / Gehrke
![Page 4: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/4.jpg)
ER: Relaciones
¿Cómo se puede modelar un alquilar que involucra Personas, Películas y Locales de Videos?
![Page 5: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/5.jpg)
ER: Relaciones Múltiples
¿Cuál es preferible?
Más flexible(p.ej., restricciones)
Mucho más conciso
![Page 6: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/6.jpg)
ER: Relaciones Múltiples
¿Si quisiéramos decir que una Persona puede alquilar varias Películas pero de un solo Local de videos? …
![Page 7: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/7.jpg)
DER: Relaciones Múltiples:Arcos Etiquetados (Papeles)
![Page 8: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/8.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:RESTRICCIONES AVANZADAS
Capítulo 2 | Ramakrishnan / Gehrke
![Page 9: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/9.jpg)
ER: Restricciones(Hemos visto) Valor único
O?
…
![Page 10: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/10.jpg)
ER: Restricciones(Hemos visto) Valor único
... tiene más sentido
![Page 11: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/11.jpg)
ER: RestriccionesParticipación
… cada profesor trabaja en al menos una universidad
![Page 12: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/12.jpg)
ER: RestriccionesParticipación + Valor Único
… cada profesor trabaja en una (sola) universidad
![Page 13: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/13.jpg)
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 14: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/14.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:JERARQUÍAS DE CLASES
Capítulo 2 | Ramakrishnan / Gehrke
![Page 15: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/15.jpg)
E–R: Jerarquías de clasesIsA: esUn(a) en inglés
… los atributos origen, nombre y tipo se heredan por Vino y Cerveza
![Page 16: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/16.jpg)
E–R: Jerarquías de clasesSuperclases y subclases
… Bebida es una superclase… Vino y Cerveza son subclases
![Page 17: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/17.jpg)
E–R: 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 18: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/18.jpg)
DER: Jerarquías de clasesRestricciones: Solapamiento
• Solapamiento (Overlap): ¿se permite que dos subclases contengan la misma entidad?
¿Hay Solapamiento aquí? No (con suerte).
![Page 19: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/19.jpg)
DER: Jerarquías de clasesRestricciones: Solapamiento
• Solapamiento (dicho de otra manera)
– ¿Se puede tener una entidad en A y B o B y C o A y C?
• ¿Sí? entonces se permite Solapamiento [por defecto]
• ¿No? entonces no se permite Solapamiento
![Page 20: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/20.jpg)
DER: Jerarquías de clasesRestricciones: Solapamiento
No hay Solapamiento
• No Solapamiento (dicho de manera más matemática) significa que:
![Page 21: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/21.jpg)
DER: Jerarquías de clasesRestricciones: Cobertura
• Cobertura (Covering): ¿todas las subclases cubren la superclase?
¿Hay Cobertura aquí? No (con suerte).
![Page 22: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/22.jpg)
DER: Jerarquías de clasesRestricciones: Cobertura
• Cobertura (dicho de otra manera): – ¿Se puede tener una entidad en Z que no esté en ni A, ni B, ni C?
• ¿Sí? entonces no se puede afirmar cobertura [por defecto]
• ¿No? entonces se puede afirmar cobertura
![Page 23: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/23.jpg)
DER: Jerarquías de clasesRestricciones: Cobertura
• Cobertura (dicho de manera más matemática) significa que:
![Page 24: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/24.jpg)
Co
ber
tura
afir
mad
a
DER: Jerarquías de clasesRestricciones: Cobertura y Solapamiento
Solapamiento no permitido Solapamiento permitido
Co
ber
tura
no
afir
mad
a
[por defecto]
![Page 25: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/25.jpg)
DER: Jerarquías de clasesRestricciones: Cobertura y Solapamiento
[por defecto]
Co
ber
tura
afir
mad
a
Solapamiento no permitido Solapamiento permitido
Co
ber
tura
no
afir
mad
a
![Page 26: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/26.jpg)
DER: Jerarquías de clasesRestricciones
¿Hay Cobertura aquí?
Depende (¿datos históricos?)¿Hay Solapamiento aquí?
Sí (de alumnos universitarios)
![Page 27: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/27.jpg)
DER: Jerarquías de clasesRestricciones
¿Hay Cobertura aquí?
Sí (p.ej., auxiliar)¿Hay Solapamiento aquí?
Depende (¿visitantes?)
![Page 28: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/28.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:ENTIDADES DÉBILES
Capítulo 2 |Ramakrishnan / Gehrke
![Page 29: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/29.jpg)
E–R: Entidades débiles
¡No se pueden compartir llaves así!
![Page 30: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/30.jpg)
E–R: Entidades débiles
… entidades cuya llave dependa de la llave de otra entidad
¡Se llama una llave parcial!
![Page 31: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/31.jpg)
(1) Dependencia de llave
E–R: 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 32: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/32.jpg)
E–R: Entidades débilesUn ejemplo más complejo
¿Ahora, si queremos modelar notas de alumnos?
…
![Page 33: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/33.jpg)
E–R: Entidades débilesUna cadena de entidades débiles
¿Y si queremos guardar el nombre del alumno?
…
![Page 34: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/34.jpg)
E–R: Entidades débilesUna cadena de entidades débiles
¿Algún problema aquí?
¡Repeticiones del nombre del alumno para cada nota!(Redundante con el RUT)
…
![Page 35: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/35.jpg)
E–R: Entidades débilesVarias dependencias
¿Podemos simplificar el modelo?
…
¡No hay llave parcial!
![Page 36: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/36.jpg)
E–R: Entidades débilesRelación con una entidad débil
¿Si tenemos notas por pregunta?
…
![Page 37: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/37.jpg)
E–R: Entidades débilesRelación con una entidad débil
¿Algún problema aquí?
¡Un alumno puede tener varias notas por varias preguntas en la misma evaluación!
…
![Page 38: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/38.jpg)
E–R: Entidades débilesVarias dependencias y una cadena
¿Algún problema aquí?
¡Todo bien!
![Page 39: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/39.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:AGREGACIÓN
Capítulo 2 | Ramakrishnan / Gehrke
![Page 40: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/40.jpg)
E–R: Agregación¿Cuándo se necesita la agregación?
¿Cómo se pueden conectar Auxiliar y Curso?
…
![Page 41: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/41.jpg)
E–R: Agregación¿Cuándo se necesita la agregación?
¿Cómo se puede conectar Profesor y Curso?
…
![Page 42: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/42.jpg)
E–R: Agregación¿Cuándo se necesita la agregación?
¿Cómo se pueden conectar Auxiliar y Profesor?
¿Están implícitamente conectados por Curso?
![Page 43: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/43.jpg)
E–R: Agregación¿Cuándo se necesita la agregación?
¿Si hay varios Profesores en cada Cursocon sus propios Auxiliares?
…
![Page 44: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/44.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
¿Si queremos decir cuántas horas el Auxiliartrabaja con cada Profesor en el Curso?
…
![Page 45: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/45.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
¿Si queremos decir el sueldo del Auxiliar en el Cursoen total (independientemente de los Profesores)?
…
![Page 46: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/46.jpg)
E–R: Agregación¿Cuándo se necesita la agregación?
… se pueden tener relaciones entre relaciones?No directamente, pero …
![Page 47: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/47.jpg)
E–R: Agregación: crear una entidad virtual encapsulando una relación
![Page 48: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/48.jpg)
E–R: Agregación: ¿Cuándo se usa? Un caso típico
(1) Dependencia de llave(1) 0-n a 0-n
(2) Atributos diferenteso (2) Atributos diferentes
![Page 49: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/49.jpg)
E–R: Agregación: Mejor ejemplo
La relación no está entre relaciones (hay un hueco).
La relación conecta la entidad Persona y una entidad virtual.
![Page 50: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/50.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido sin hasta?
¡Sí! (Si un local puede tener películas no alquiladas)
![Page 51: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/51.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido sin precio-por-noche?
¡Sí! (Si un local puede tener películas no alquiladas)
![Page 52: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/52.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido sin ambos atributos?
¡Sí! (Si un local puede tener películas no alquiladas)
![Page 53: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/53.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido con participación?¡No!
![Page 54: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/54.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido con participación?
... más conciso con una relación ternaria!
![Page 55: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/55.jpg)
E–R: 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 56: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/56.jpg)
E–R: Relaciones: Agregación vs. Binaria + Ternaria
¿Cuál es la diferencia entre las dos opciones aquí?
Una persona podría alquilar una película de cualquier local, incluso uno que no tenga la película
![Page 57: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/57.jpg)
¿PARA QUÉ NECESITAMOS E–R?
![Page 58: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/58.jpg)
![Page 59: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/59.jpg)
¿Para qué necesitamos E–R?
• Modelar los requerimientos de un aplicación
– De una forma menos técnica que usar tablas
• Evitar redundancia / lograr un modelo conciso
• Documentar restricciones conceptuales
• Evitar problemas (p.ej. con llaves)
![Page 60: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/60.jpg)
EJEMPLO:VINO, CERVEZA
![Page 61: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/61.jpg)
Modelando vinos y cervezas
Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
![Page 62: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/62.jpg)
Modelando vinos y cervezas
Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
No tenemos llaves …
![Page 63: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/63.jpg)
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 ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
![Page 64: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/64.jpg)
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 ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
![Page 65: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/65.jpg)
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 ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
![Page 66: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/66.jpg)
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 ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
![Page 67: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/67.jpg)
Modelando vinos y cervezas(con restricciones)
Listo.
Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” cada día.
![Page 68: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/68.jpg)
Modelando vinos y cervezas(pero …)
¿Qué pasa sin fecha (si hay solo el stock actual)?
Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” actual.
![Page 69: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/69.jpg)
Modelando vinos y cervezas(pero …)
Vendemos vinos y cervezas. Cada vino tiene año, tipo, grados y ciudad-origen. Cada cerveza tiene ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” actual.
¡No hay una llave parcial!
![Page 70: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/70.jpg)
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 ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” actual.
![Page 71: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/71.jpg)
DEL MODELO ENTIDAD–RELACIÓN:AL MODELO RELACIONAL
Capítulo 3.5 | Ramakrishnan / Gehrke
![Page 72: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/72.jpg)
Modelo E–R: Entidad (con atributos y llaves)→ Modelo Relacional: Tabla
(Hay que agregar el dominio)
![Page 73: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/73.jpg)
Modelo E–R: Entidad (con atributos y llaves)→ Modelo Relacional: Tabla
![Page 74: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/74.jpg)
Modelo E–R: Relación (con atributos)→ Modelo Relacional: Tabla
(Tenemos que elegir el dominio)
Las llaves de las entidades juntas
forman una súper llave para la relación
![Page 75: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/75.jpg)
Modelo E–R: Relación (con atributos)→ Modelo Relacional: Tabla
(Tenemos que elegir el dominio)
Las llaves de las entidades juntas
forman una súper llave para la relación
¿Por qué una súper llave y no una llave
candidata?
![Page 76: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/76.jpg)
(Tenemos que elegir el dominio)
Modelo E–R: Relación (con valor único)→ Modelo Relacional: Tabla
Con esta restricción no se necesita c-nombre
para la llave; p-nombre forma una llave candidata.
![Page 77: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/77.jpg)
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla
Una llave foránea:Una llave primaria en otra tabla
También una llave primaria
Una llave foránea:Una llave primaria en otra tabla
![Page 78: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/78.jpg)
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla
Llaves foráneas:Las escribiremos así
(a veces abreviadas como C.)
![Page 79: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/79.jpg)
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla ¿Algún problema aquí?
La misma llave, pero ...un producto no tiene que ser fabricado por una compañía
![Page 80: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/80.jpg)
¿Algún problema aquí?
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla
Si intentáramos combinar las tablas, tendríamos un problema
con productos sin datos de fabricación
La misma llave, pero ...un producto no tiene que ser fabricado por una compañía
![Page 81: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/81.jpg)
¿Algún problema aquí?
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla
¡Todo bien!
![Page 82: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/82.jpg)
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla ¿Hay algún caso que puede
generar una tabla redundante?
…
![Page 83: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/83.jpg)
Modelo E–R: Relación (con participación)→ Modelo Relacional: Tabla ¿Ahora?
![Page 84: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/84.jpg)
Modelo E–R: Relación (con participación)→ Modelo Relacional: Tabla
¿Es un problema con el diagrama?
¿Hay un mejor diagrama?
![Page 85: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/85.jpg)
Modelo E–R: Relación (con participación)→ Modelo Relacional: Tabla
¿Es un problema con el diagrama?
¡Sí! Pero no cambia la traducción: a veces, hay que considerar la posibilidad de combinar algunas tablas.
¿Hay un mejor diagrama?
![Page 86: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/86.jpg)
Modelo E–R: Relaciones Múltiples→ Modelo Relacional: Tabla
![Page 87: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/87.jpg)
Modelo E–R: Relación (con papeles)→ Modelo Relacional: Columnas distintas
![Page 88: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/88.jpg)
Modelo E–R: Jerarquías de clases
¿Qué vamos a hacer aquí?
![Page 89: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/89.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Opción 1: Tablas solo para las subclases
![Page 90: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/90.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Opción 2: Tabla para la superclase
![Page 91: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/91.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál es la mejor opción ...
1
2
Mucho solapamiento sugiere la 2 (con menos o no solapamiento sugiere la 1)
(Si tuviéramos muchos Empleados que son Clientes también, con la 1, tendríamos que repetir los atributos generales de Personas dos veces en cada caso)
… con mucho solapamiento entre Cliente y Empleado?
![Page 92: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/92.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál es la mejor opción …
1
2
Hay que elegir la 2(Si tuviéramos Personas que no son ni Empleados ni Clientes,
no podríamos representarlas con la opción 1)
… sin cobertura … si hay Personas que no son Empleados ni Clientes?
![Page 93: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/93.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál es la mejor opción …
1
2
Sugiere la 2(Con muchas de estas consultas, y con la 1, tendríamos que consultar dos tablas,
pero con la 2, tendríamos que consultar una sola tabla)
… con muchas consultas por el nombre de una Persona dado el RUT?
![Page 94: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/94.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál es la mejor opción …
1
2
En general …Hay que considerar las tablas, los atributos, los datos, las
restricciones, el control de acceso, etcétera, y aplicar algo “prudente”.
![Page 95: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/95.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional
¿Cuáles son las opciones en este caso?…
![Page 96: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/96.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional
¿Pero hay otra opción aquí?…
![Page 97: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/97.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional
¿Hay otra opción? …
![Page 98: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/98.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Una opción implícita: Quitar la jerarquía
![Page 99: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/99.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Una opción implícita: Quitar la jerarquía
¿Algún problema aquí? Tendremos mucha repetición en la columna tipo.
(Pero es más sencillo, el sistema puede comprimirla, etcétera.)
![Page 100: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/100.jpg)
Modelo E–R: Entidades débiles→ Modelo Relacional: Cuidado con las llaves
¿Alguien quiere ”adivinar” qué tablas necesitamos?
¿Algún problema aquí? La tabla De(.,.) es redundante… y es un nombre pésimo para una tabla.
![Page 101: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/101.jpg)
Modelo E–R: Entidades débiles→ Modelo Relacional: No se necesita una tabla para la relación débil
Entonces …
Observación: En el libro de R&G, se mencionan atributos sobre relaciones débiles (p.ej. la figura 3.14) y por eso, se necesita una tabla para la relación. No estoy de acuerdo con eso: los atributos en tales
relaciones siempre pueden ser asociados con la entidad débil dada su relación 1:n.
![Page 102: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/102.jpg)
Modelo E–R: Entidades débiles→ Modelo Relacional
¿Las relaciones?
![Page 103: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/103.jpg)
Modelo E–R: Agregación→ Modelo Relacional:
¿Alguien quiere ”adivinar” ´qué tablas necesitamos?
![Page 104: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/104.jpg)
• Aparte de las jerarquías de clases la traducción es más o menos determinista
Modelo E–R: Relación→ Modelo Relacional: Tabla
¿Qué piensan ustedes?¿Cuál es mejor …
… diseñar las tablas directamente o diseñar un modelo E-R antes?
![Page 105: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/105.jpg)
![Page 106: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/106.jpg)
LA PRÓXIMA VEZ, CONTINUAREMOS CON:
EL ÁLGEBRA RELACIONAL
Capítulo 4 | Ramakrishnan / Gehrke
![Page 107: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2019/lectures/BdD2019... · 2019-03-21 · CC3201-1 BASES DE DATOS OTOÑO 2019 Clase 3: Modelo Entidad-Relación](https://reader031.fdocuments.ec/reader031/viewer/2022041005/5ea9bd2dbb9ed2644961539e/html5/thumbnails/107.jpg)
¿Preguntas?