Modelo entidad-relación


Un modelo entidad-relación (o modelo ER ) describe cosas interrelacionadas de interés en un dominio específico del conocimiento. Un modelo ER básico se compone de tipos de entidades (que clasifican las cosas de interés) y especifica las relaciones que pueden existir entre entidades (instancias de esos tipos de entidades).

En la ingeniería de software , un modelo ER se suele formar para representar cosas que una empresa necesita recordar para realizar procesos empresariales . En consecuencia, el modelo ER se convierte en un modelo de datos abstracto , que define una estructura de datos o información que se puede implementar en una base de datos , típicamente una base de datos relacional .

El modelado entidad-relación fue desarrollado para base de datos y diseño por Peter Chen y publicado en un artículo de 1976, [1] con variantes de la idea existente previamente. [2] Algunos modelos ER muestran entidades de supertipos y subtipos conectadas por relaciones de generalización-especialización, [3] y un modelo ER también se puede utilizar en la especificación de ontologías específicas de dominio .

Un modelo ER suele ser el resultado de un análisis sistemático para definir y describir lo que es importante para los procesos en un área de una empresa. No define los procesos de negocio; solo presenta un esquema de datos comerciales en forma gráfica. Por lo general, se dibuja en forma gráfica como cajas ( entidades ) que están conectadas por líneas ( relaciones ) que expresan las asociaciones y dependencias entre entidades. Un modelo ER también se puede expresar de forma verbal, por ejemplo: un edificio se puede dividir en cero o más apartamentos, pero un apartamento solo se puede ubicar en un edificio.

Las entidades pueden caracterizarse no solo por relaciones, sino también por propiedades adicionales ( atributos ), que incluyen identificadores llamados "claves primarias". Los diagramas creados para representar atributos, así como entidades y relaciones, pueden llamarse diagramas entidad-atributo-relación, en lugar de modelos entidad-relación.

Un modelo ER normalmente se implementa como una base de datos . En una implementación de base de datos relacional simple, cada fila de una tabla representa una instancia de un tipo de entidad y cada campo de una tabla representa un tipo de atributo. En una base de datos relacional, se implementa una relación entre entidades almacenando la clave principal de una entidad como un puntero o "clave externa" en la tabla de otra entidad.


Un diagrama entidad-atributo-relación para un MMORPG usando la notación de Chen.
Dos entidades relacionadas
Una entidad con un atributo.
Una relación con un atributo
Varios métodos para representar la misma relación de uno a muchos. En cada caso, el diagrama muestra la relación entre una persona y un lugar de nacimiento: cada persona debe haber nacido en un solo lugar, pero cada lugar puede haber tenido cero o más personas nacidas en él.
Dos entidades relacionadas que se muestran utilizando la notación de pata de gallo. En este ejemplo, se muestra una relación opcional entre Artista y Canción; los símbolos más cercanos a la entidad de la canción representan "cero, uno o muchos", mientras que una canción tiene "uno y solo un" artista. Por lo tanto, el primero se lee como un artista (puede) interpretar "cero, una o muchas" canciones.