database - Diferencia entre el diagrama ER y el diagrama EER
jira api (3)
¿Cuál es la diferencia entre ERD (diagrama de relación de entidad) y EERD (diagrama de relación de entidad mejorado)?
Modelo entidad-relación
Tienes relaciones ( fuente de imagen )
y atributos ( fuente de la imagen )
que también pueden ser claves primarias ( fuente de imagen )
Entidad mejorada: modelo de relación
Tienes lo mismo que con el modelo ER plus
especialización
particionamiento (que son múltiples especializaciones)
generalización
agregación
Las claves se anotan de manera diferente:
Las características principales agregadas por el Modelo ER mejorado son especialización / generalización y uniones. De estos Gen-spec es el que más a menudo surge en las respuestas a las preguntas de .
Gen-spec es la contraparte, en el modelado ER, de clase-subclase en el modelado de objetos. Un ejemplo para ilustrar: un vehículo motorizado podría ser un auto o un camión. Una característica como el espacio de carga pertenece a un camión pero no a un auto. Entonces, hay características que se aplican a la entidad generalizada, pero también son características que se aplican a solo una de las especializaciones.
Muy a menudo, la gente viene aquí con una pregunta sobre el diseño de tablas para un caso de gen-spec. Pero no lo reconocen como tal, porque nunca fueron introducidos a gen-spec en su educación inicial sobre bases de datos.
Otra forma de decir esto es que se les enseñó cómo modelar e implementar "tiene una" relación, pero no cómo modelar e implementar "es una" relación.
Me gustaría agregar que el modelo ER es un modelo básico que tiene todo lo que necesita para el álgebra relacional tal como es (incluida la jerarquía ISA - la inaritencia y otras cosas que no recuerdo). Y es más abstracto (por lo que cada cuadro no tiene que ser una tabla de base de datos y, al revés, algunos cuadros pueden tener más de una tabla)
El modelo EER está más cerca de cómo se ve la base de datos real. Así que cada caja es en realidad tabla.
Supongo que la respuesta aceptada también es correcta, pero en mi opinión (no he leído esto en ningún lugar, solo creo que es de esta manera) EER se creó para ayudar a las personas a diseñar bases de datos incluso más que el álgebra relacional básica. El álgebra relacional con ER le da todo lo que necesita para modelar la base de datos, pero necesita un compilador que traduzca las jerarquías y relaciones ISA en tablas reales y con EER obtenga lo que ve. Estaba usando ambas para diseñar tablas. ER es más lógico, porque te abstrae de cosas como la herencia, ya que simplemente le dices a tu herramienta de ER que quiero que se herede de eso y no tienes que crear 2 tablas. Pero EER es mejor porque ves lo que obtienes.
Conclusión: ER es un principio básico, EER es una herramienta un poco mejor para el trabajo real con menos abstracción.
(Mi conocimiento teórico del álgebra relacional está demasiado oxidado, así que espero recordar todo bien, corregirme si me equivoco)