![Page 1: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/1.jpg)
CC3201-1BASES DE DATOS
OTOÑO 2018
Clase 3: Modelo Entidad-Relación (II)
Aidan Hogan
![Page 2: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/2.jpg)
La última vez … E–R, E–R, E–R
![Page 3: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/3.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:ENTIDADES DÉBILES
Capítulo 2 |Ramakrishnan / Gehrke
![Page 4: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/4.jpg)
E–R: Entidades débiles
¡No se puede compartir llaves así!
![Page 5: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/5.jpg)
E–R: Entidades débiles
… entidades cuya llave dependa de la llave de otra entidad
¡Se llama una llave parcial!
![Page 6: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/6.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 7: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/7.jpg)
E–R: Entidades débilesUn ejemplo más complejo
¿Ahora, si queremos modelar notas de alumnos?
…
![Page 8: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/8.jpg)
E–R: Entidades débilesUna cadena de entidades débiles
¿Y si queremos guardar el nombre del alumno?
…
![Page 9: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/9.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 10: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/10.jpg)
E–R: Entidades débilesVarias dependencias
¿Podemos simplificar el modelo?
…
¡No hay llave parcial!
![Page 11: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/11.jpg)
E–R: Entidades débilesRelación con una entidad débil
¿Si tenemos notas por pregunta?
…
![Page 12: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/12.jpg)
E–R: Entidades débilesRelación con una entidad débil
¿Algún problema aquí?
¡Un alumno puede tener varias notas para varias preguntas en la misma evaluación!
…
![Page 13: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/13.jpg)
E–R: Entidades débilesVarias dependencias y una cadena
¿Algún problema aquí?
¡Todo bien!
![Page 14: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/14.jpg)
DIAGRAMA ENTIDAD–RELACIÓN:AGREGACIÓN
Capítulo 2 | Ramakrishnan / Gehrke
![Page 15: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/15.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
¿Cómo se puede conectar Auxiliar y Curso?
…
![Page 16: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/16.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
¿Cómo se puede conectar Profesor y Curso?
…
![Page 17: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/17.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
¿Cómo se puede conectar Auxiliar y Profesor?
¿Están implícitamente conectados por Curso?
![Page 18: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/18.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
¿Si hay varios Profesores en cada Cursocon sus propios Auxiliares?
…
![Page 19: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/19.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 20: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/20.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 21: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/21.jpg)
E–R: Agregación¿Cuándo se necesita agregación?
… se puede tener relaciones entre relaciones?No directamente, pero …
![Page 22: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/22.jpg)
E–R: Agregación: crear una entidad virtual encapsulando una relación
![Page 23: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/23.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 24: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/24.jpg)
E–R: Agregación: Mejor ejemplo
La relación no está entre relaciones (hay un hueco).
La relación conecta Persona y una entidad virtual.
![Page 25: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/25.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido sin hasta?
¡Sí! (Si un local puede tener películas no arriendadas)
![Page 26: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/26.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido sin precio-por-noche?
¡Sí! (Si un local puede tener películas no arriendadas)
![Page 27: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/27.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido sin ambos atributos?
¡Sí! (Si un local puede tener películas no arriendadas)
![Page 28: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/28.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido con participación?¡No!
![Page 29: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/29.jpg)
E–R: Agregación: Mejor ejemplo
¿Todavía tiene sentido con participación?
... más conciso con una relación ternaria!
![Page 30: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/30.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 31: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/31.jpg)
E–R: Relaciones: Agregación vs. Binaria + Ternaria
¿Cuál es la diferencia entre las dos opciones aquí?
Una persona podría arrendar una película de cualquier local, incluso uno que no tenga la película
![Page 32: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/32.jpg)
¿PARA QUÉ NECESITAMOS E–R?
![Page 33: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/33.jpg)
![Page 34: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/34.jpg)
¿Para qué necesitamos E–R?
• 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 35: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/35.jpg)
EJEMPLO:VINO, CERVEZA
![Page 36: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/36.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 37: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/37.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 38: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/38.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 39: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/39.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 40: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/40.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 41: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/41.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 42: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/42.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 43: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/43.jpg)
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 ciudad-origen, tipo, grados. Vinos y
cervezas tienen un precio unitario y una cantidad “en stock” actual.
![Page 44: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/44.jpg)
Modelando vinos y cervezas(pero …)
¿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” actual.
¡No hay una llave parcial!
![Page 45: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/45.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 46: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/46.jpg)
DEL MODELO ENTIDAD–RELACIÓN:AL MODELO RELACIONAL
Capítulo 3.5 | Ramakrishnan / Gehrke
![Page 47: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/47.jpg)
Modelo E–R: Entidad (con atributos y llaves)→ Modelo Relacional: Tabla
(Hay que agregar el dominio)
![Page 48: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/48.jpg)
Modelo E–R: Entidad (con atributos y llaves)→ Modelo Relacional: Tabla
![Page 49: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/49.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 50: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/50.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 51: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/51.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 52: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/52.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 53: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/53.jpg)
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla
Llaves foráneas:Las escribiremos así
(a veces abreviadas como C.)
![Page 54: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/54.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 55: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/55.jpg)
¿Algún problema aquí?
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla
La misma llave, pero ...un producto no tiene que ser fabricado por una compañía
Si intentáramos combinar las tablas, tendríamos un problemacon productos sin información
de su fabricación
![Page 56: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/56.jpg)
Modelo E–R: Relación (llaves foráneas)→ Modelo Relacional: Tabla ¿Hay algún caso que puede
generar una tabla redundante?
…
![Page 57: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/57.jpg)
Modelo E–R: Relación (con participación)→ Modelo Relacional: Tabla ¿Ahora?
![Page 58: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/58.jpg)
Modelo E–R: Relación (con participación)→ Modelo Relacional: Tabla
¿Es un problema con el diagrama?
¿Hay un mejor diagrama?
![Page 59: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/59.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 60: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/60.jpg)
Modelo E–R: Relaciones Múltiples→ Modelo Relacional: Tabla
![Page 61: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/61.jpg)
Modelo E–R: Relación (con papeles)→ Modelo Relacional: Columnas distintas
![Page 62: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/62.jpg)
Modelo E–R: Jerarquías de clases
¿Qué vamos a hacer aquí?
![Page 63: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/63.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Opción 1: Tablas solo para las subclases
![Page 64: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/64.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Opción 2: Tabla para la superclase
![Page 65: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/65.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál sea la mejor opción …
1
2
Mucho solapamiento sugiere 2 (con menos o no solapamiento sugiere 1)
(Si tuviéramos muchos Empleados que sean Clientes también, con 1, tendríamos que repetir los atributos generales de Personas dos veces en cada caso)
… con mucho solapamiento entre Cliente y Empleado?
![Page 66: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/66.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál sea la mejor opción …
1
2
Hay que elegir 2(Si tuviéramos Personas que no sean 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 67: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/67.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál sea la mejor opción …
1
2
Sugiere 2(Con muchas de estas consultas, y con 1, tendríamos que consultar a dos tablas,
pero con 2, tendríamos que consultar a una sola tabla)
… con muchas consultas para el nombre de una Persona dado el RUT?
![Page 68: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/68.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Eligiendo una opción
¿Cuál sea 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 69: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/69.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional
¿Cuáles son las opciones en este caso? …
![Page 70: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/70.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional
¿Pero hay otra opción aquí? …
![Page 71: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/71.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional
¿Hay otra opción? …
![Page 72: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/72.jpg)
Modelo E–R: Jerarquías de clases → Modelo Relacional:
Una opción implícita: Quitar la jerarquía
![Page 73: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/73.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 74: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/74.jpg)
Modelo E–R: Entidades débiles→ Modelo Relacional: Cuidado con las llaves
¿Alguien quiere ”adivinar”?
¿Algún problema aquí? La tabla De(.,.) es redundante… y es un nombre terrible para una tabla.
![Page 75: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/75.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. Figura 3.14) y por eso, se necesita una tabla para la relación. No estoy de acuerdo con eso: atributos en tales
relaciones siempre pueden ser asociados con la entidad débil dado su relación 1:n.
![Page 76: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/76.jpg)
Modelo E–R: Entidades débiles→ Modelo Relacional
¿Las relaciones?
![Page 77: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/77.jpg)
Modelo E–R: Agregación→ Modelo Relacional:
¿Alguien quiere ”adivinar”?
![Page 78: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/78.jpg)
• Aparte de jerarquías de clases la traducción es más o menos determinística
Modelo E–R: Relación→ Modelo Relacional: Tabla
¿Qué piensan ustedes?¿Cuál es mejor …
… diseñar tablas directamente o diseñar un modelo E-R antes?
![Page 79: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/79.jpg)
![Page 80: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/80.jpg)
LA PRÓXIMA VEZ, CONTINUAREMOS CON:
EL ÁLGEBRA RELACIONAL
Capítulo 4 | Ramakrishnan / Gehrke
![Page 81: CC3201 Bases de Datos - Aidan Hoganaidanhogan.com/teaching/cc3201-1-2018/lectures/BdD2018-03.pdf · Modelo E–R: Entidades débiles →Modelo Relacional: No se necesita una tabla](https://reader034.vdocuments.mx/reader034/viewer/2022050100/5f3fc065becdde23eb009377/html5/thumbnails/81.jpg)
¿Preguntas?