El modelo de relación de entidad (modelo ER ) es uno de los modelos de datos conceptuales en los que el diseño de la base de datos se representa en un diagrama para visualizar las relaciones entre los diferentes componentes de datos denominados entidades, así como otras relaciones. El modelo ER se centra principalmente en los tipos de entidades, atributos y las relaciones entre ellos.
El modelo ER es una parte importante del proceso de creación de una buena aplicación de base de datos. Ayuda a una mejor comprensión de los datos.
Componentes
Los componentes principales de un modelo ER son:
Tipos de entidad
Entidad es cualquier cosa que tiene existencia. por ejemplo, usuario/artículo
Tipo de entidad fuerte: el tipo de entidad fuerte puede existir de forma independiente. Se indican mediante un rectángulo con un solo borde. Ejemplo: un artículo puede existir sin el artículo con el que está relacionado.
Tipo de entidad débil: el tipo de entidad débil no puede existir de forma independiente. Significa que deben eliminarse si se elimina la entidad en relación. El artículo no debería existir sin el autor.
Relaciones
La relación es una conexión entre tipos de entidades iguales o diferentes y representa una parte de la información que la base de datos está diseñada para preservar. Por ejemplo, en la base de datos de XplainD la relación ‘Escrito por’ (artículo – escrito por – usuario) representa una información importante sobre el autor de un artículo.
Repasemos rápidamente los tipos de relaciones:
Relación de identificación frente a no identificación: en la relación de identificación, la entidad conectada siempre es una entidad débil y se identifica por la clave de la entidad fuerte de la relación, mientras que la relación de no identificación tiene entidades con sus propias claves o claves parciales.
Participación total y parcial: la participación total y parcial del tipo de entidad indica si todas las instancias son parte de la relación particular o no. Cada tipo de entidad en la relación tiene un tipo de participación correspondiente que se denota por el tipo de línea que los conecta. Línea doble para participación total, lo que significa que todas las instancias están ahí en la relación, por ejemplo, Línea única es para participación parcial, lo que significa que puede haber instancias del tipo de entidad que pueden no ser parte de la relación. Esta propiedad solo está asociada con tipos de relación muchos a muchos o uno a muchos.
Atributos
Un atributo pertenece a una entidad oa una relación (no a un tipo de entidad ni a un tipo de relación) y contiene parte de la información sobre esa entidad o relación. Una entidad puede tener uno o más atributos, mientras que la relación no está obligada a tener un atributo.
Cardinalidades
Las cardinalidades están asociadas con tipos de entidad en una relación. Indica si una relación es uno a uno, uno a muchos o muchos a muchos. La cardinalidad de un tipo de entidad se indica mediante un número o una letra con el conector de relación. 1 y 1 generalmente de uno a uno, 1 y N generalmente de uno a muchos y M y N de muchos a muchos.
Símbolos:
Ejemplo
Hagamos el diagrama ER para XplainD. Tenemos que tener en cuenta los siguientes requisitos:
- Las entidades son artículo y autor.
- Los aspectos importantes de un artículo que necesitamos almacenar son la identificación, el título, la descripción, el cuerpo, los artículos relacionados, la hora y la hora editada.
- Para los autores, debemos guardar la identificación, el nombre, la dirección y el perfil de Linkedin.
- Otros requisitos importantes son
- Para guardar qué autor editó qué artículo en qué momento.
- Para guardar la ubicación del artículo en la jerarquía.
Paso 1
Primero, elegiremos las entidades e intentaremos crear atributos para cada información sobre esa entidad. Omita las cosas que no se pueden poner en los atributos, por ejemplo, los editores de un artículo. Nos ocuparemos de ellos en el paso 2.
Los atributos del artículo son
Tenga en cuenta que ‘Páginas relacionadas’ e ‘Imágenes’ son atributos con varios valores.
Los atributos de autor son
Donde,
- ‘Dirección’ es un atributo compuesto de dirección de calle, ciudad y país.
- ‘Edad’ es un atributo derivado, lo que significa que se puede calcular en el nivel de la aplicación usando ‘Fecha de nacimiento’.
Paso 2
Ahora tratamos de identificar las relaciones y sus tipos que preservarán la información requerida.
Autor de un artículo: Autor podría haber sido el atributo del artículo pero, como puede ver, el autor en sí mismo es una entidad, en el diagrama ER está representado por una relación. Solo hay un autor para un artículo y un autor puede tener varios artículos, por lo que la relación será de uno a muchos (un autor para muchos artículos).
En la relación anterior la doble línea denota participación total lo que significa que todos los artículos tendrán un autor mientras que la línea única correspondiente a Autor denota participación parcial y significa que puede haber autores que no hayan escrito ningún artículo.
Editores de un artículo: aquí necesitamos vincular el artículo con los autores que han editado ese artículo y el momento de la edición. Dado que un artículo puede ser editado por varios autores, la relación será de muchos a muchos. Por lo tanto, tenemos la siguiente relación
Tenga en cuenta que no podemos averiguar la hora de la última edición de un artículo a partir de esta relación, por lo que no es necesario guardar la hora de la última edición en un atributo separado. Agregamos un atributo derivado para ‘Tiempo editado’
Ubicación del artículo: guardar la jerarquía de cada artículo en un atributo es tedioso. Almacenamos esta información en una relación. Será una relación recursiva. La jerarquía completa de un artículo se puede determinar a nivel de aplicación, por lo que agregamos un atributo derivado ‘Jerarquía’ al artículo de tipo de entidad. da