Modelo entidad relación: simbología y características del diagrama entidad relación.

Iniciobase de datosModelo entidad relación
Modelo entidad relación: simbología y características del diagrama entidad relación.

by Juan Carlos García

25-Sept-2024

(9)

Suscribirme al canal:

Hola Viajero, espero que este curso de base de datos gratuito te este gustando y sobre todo, estés aprendiendo los fundamentos de una base de datos, hoy analizaremos el modelo entidad relación y los diagramas entidad relación, esto es un tema que te ayudará a diseñar tus bases de datos de forma gráfica, lo cual para muchos, es más fácil y sencillo de comprender.

  • Si es tu primera vez en EWebik, por favor, revisa los capítulos anteriores y, todos los demás curso gratuitos que tenemos para ti, sin más comencemos con este increíble tema.

¡No te puedes perder las nuevas clases 🧐!

Base de datos

Base de datos

Curso gratuito de Bases de datos (DB): tipos, modelos y aplicaciones

Modelos de Base de Datos

Modelos de Base de Datos

Lista de los principales tipos y modelos de base de datos que existen

Modelo relacional

Modelo relacional

Modelo relacional: Base de datos relacional

Álgebra relacional

Álgebra relacional

Álgebra relacional: Fundamentos para la manipulación de datos

Normalización de base de datos

Normalización de base de datos

Normalización de base de datos: descripción y características de las 5 formas normales.

Modelo entidad relación

Modelo entidad relación

Modelo entidad relación: simbología y características del diagrama entidad relación.

SGBD

SGBD

Manejadores de base de datos (DBMS): Gestores de bases de datos (SGBD) relacionales

Servidor de Base de Datos

Servidor de Base de Datos

Servidores de Base de Datos: ¿Qué son? Tipos, características e instalación.

Backup y restaurar SQL Server

Backup y restaurar SQL Server

Backup SQL Server: ¿Cómo respaldar y restaurar una base de datos en SQL Server?

🧐 Autoevaluación: Modelo entidad relación

¿Cuáles son los elementos del modelo entidad relación?

¿Cuándo Chen habla del modelo entidad relación?

¿Cómo identificar las entidades en una base de datos?

Continua aprendiendo base de datos con estos libros

BASE DE DATOS: es una tarea fácil (Spanish Edition)

BASE DE DATOS: es una tarea fácil (Spanish Edition)

Hosting Digital Oceans

Hosting Digital Oceans

Con nuestro link de recomendación de EWebik, recibe 200 dólares en crédito para probar tus proyectos por 60 días.

  • VPS que van desde los 5 dólares.
  • VPS escalables.
  • Levanta tus servidores con unos pocos clics y crécelos cuando los necesites.
Diseño de Bases de Datos - Un enfoque práctico: Aprende a diseñar bases de datos desde el modelo conceptual hasta el modelo relacional con esta guía práctica con ejemplos (Spanish Edition)

Diseño de Bases de Datos - Un enfoque práctico: Aprende a diseñar bases de datos desde el modelo conceptual hasta el modelo relacional con esta guía práctica con ejemplos (Spanish Edition)

¿Qué es un modelo entidad relación?

El modelo entidad relación es una herramienta basada en diagramas de flujo que nos permite representar, cómo es que las entidades se relación entre sí y participan en el proceso de negocio, dentro de un sistema.

Es por ello, que solemos referirnos con más frecuencia a este modelo como diagrama entidad relación, aunque también se le conoce como:

  • Diagrama de relación de entidades (ERD)
  • Modelo ER
  • Diagramas ER

En cualquiera de los casos significa lo mismo.

Fundamentos y conocimientos previos

Antes de continuar, voy hacer un pequeño paréntesis de ciertos conceptos que ya debes conocer y que son necesarios para este tema:

  • Modelo de datos: en el primer capítulo éste curso vimos como que un modelo de datos se encarga de:
    • Establecer un lenguaje común, es decir, establecemos la forma y el cómo vamos a comunicarnos.
    • Identificación de entidades, es decir, de qué, quien o quienes hacemos referencia: personas, clientes, facturas, etc.
    • Reglas de negocio, conjunto de normas y limitaciones que rigen el sistema del que hacemos referencia.
  • Modelo lógico: establece con lujo de detalle:
    • Las relaciones entre entidades.
    • Se identifican plenamente los atributos y cuáles de ellos serán llaves, con lo cual estableceremos las relaciones que existen entre las entidades.
    • Identificación de las reglas de negocio.
  • Modelo físico: se crea a partir del modelo lógico, el cual nos permite implementar nuestra base de datos en un dispositivo específico.

Ahora, si somos observadores, todo lo que hemos hecho en este curso es trabajar sobre entidades, y hemos aplicado lo que indica el modelo relacional y también hemos aplicado las formas normales durante el proceso de normalización de una bases de datos. Todo esto nos ha llevado hasta el momento a crear un “Modelo lógico”.

No obstante, el modelo lógico para muchos no es fácil de leer y comprender, ya que sólo es un modelo que contiene un conjunto de relaciones normalizadas con llaves plenamente identificadas, es por ello que:

Los diagramas entidad relación existen, para que los modelos lógicos sean mucho más fáciles de entender y visualizar.

Orígenes: Historia del modelo entidad relación

En 1976 Peter Chen desarrolla los diagramas entidad relación, publicados en su artículo “Modelado Entidad-Relación: Eventos Históricos, Tendencias Futuras y Lecciones Aprendidas”. En dicho artículo Chen nos habla por primera vez sobre el concepto entidad relación.

En dicho artículo Chen nos expone un ejemplo:

Ejemplo propuesto por Peter Chen sobre el modelo entidad relación.
  • Existen dos entidades, ambas son del tipo “Persona”.
  • Además, existe una relación entre ambas personas que nombró “Casada con”.
  • En la relación “Casada con” cada persona tiene un “Rol”:
    • Una de las personas juega el rol de “esposa”.
    • Y la otra persona juega el rol de "esposo".

En dicho ejemplo Chen define que:

  • Los sustantivos son entidades.
  • Y los verbos son relaciones.

Ahora bien, si analizamos un poco más el ejemplo, podemos encontrar que hay dos tipos de relaciones, ¿Qué quiere decir esto? Que en español la palabra “relación", la utilizamos en varios sentidos o contextos, por ejemplo:

  • Usamos la palabra relación para referirnos a una lista de elementos, lo cual en inglés se traduce como “Relation”, que para este caso, tenemos una “lista de personas”, pero pudiésemos tener una relación de frutas, una relación de facturas, etc.
    • Bajo este contexto, es donde se origina el concepto “Modelo relacional o Relational Model”, ya que, "relación" hace referencia a un conjunto de elementos.
    • Y si te das cuenta, esto es el elemento principal de nuestras clases anteriores, donde, hice la analogía de relaciones como tablas.
  • Por otra parte, la palabra relación también la podemos utilizar, para referirnos a una conexión o correspondencia de una cosa con otra, que para este caso sería “Casado con”, pero, bien pudo ser otro tipo de correspondencia, “Amigo de”, “Hermano de”, etc.
    • Bajo este contexto, es donde se origina el concepto “Diagrama entidad relación o Entity Relationship Diagram”, ya que, “relación” hace referencia a una correspondencia entre entidades.
    • Y es precisamente lo que Chen introdujo en su ejemplo, donde, nos indica que los verbos son relaciones (Relationship), pero, dicha relación hace referencia a este contexto, es decir, a una correspondencia entre entidades.

Dicho lo anterior:

El objetivo primordial del Modelo Entidad Relación es, documentar los tipos de entidades y relaciones (Relationship) de una forma gráfica, a lo cual nombró como Diagrama de Relación de Entidades (ERD).

¿Para qué sirven los diagramas entidad relación?

Como te mencione anteriormente, es una forma gráfica de documentar las relaciones que existen, entre entidades pertenecientes a un sistema y ¿De qué nos sirve hacer esto? Pues bien, para:

  • El diseño de bases de datos: el cual es el principal uso de los diagramas ER, ya que, en esencia es el primer paso que debemos realizar cuando nos encontremos en el proceso de la creación de un sistema de información, ya que a través de un diagrama ER, es mucho más fácil identificar nuestras entidades y las llaves mediante las cuales se relacionarán dichas entidades.
  • Solución de problemas en base de datos existentes: ya que, a través de diagramas ER podemos detectar de forma gráfica problemas y errores de diseño o implementación.

Características y elementos del diagrama entidad relación

Bien, aterricemos lo que hemos visto hasta este momento, ya te he expuesto varios conceptos y, para que no te quede duda y establezcamos un lenguaje común.

Revisaremos a detalle qué significan cada elemento y su simbología que conforman los diagramas entidad relación, comenzando con la notación que el propio Chen propuso.

Notación de Chen: Símbolos de los diagramas entidad relación

La notación de Chen es la base de todo y, son los primeros símbolos propuestos para la creación de los diagramas entidad relación, así que revisemos lo que Chen nos indica y los símbolos que propuso.

Entidad

Las entidades son aquello de qué o quienes deseamos hablar o hacemos referencia, bajo el modelo ER, son aquellos denominados como sustantivos, ya sea, personas, ideas u objetos y, de los cuales podemos listar o crear conjuntos, por ejemplo: personas, estudiantes, localizadores, frutas, etc.

  • Las entidades son representadas gráficamente mediante un rectángulo.
Rectángulo, representación gráfica de una entidad según Chen

Chen indica que existen ciertos tipos de entidades, por ejemplo:

  • Entidad débil: son aquellas entidades donde su existencia es dependiente de otra entidad, comúnmente esta dependencia hace referencia a la palabra “Detalle”, por ejemplo, el detalle de una factura, ya que una entidad que almacena los detalles de una factura, no tendría razón de ser, sino existe una entidad factura.
  • Una entidad débil se enlaza a una entidad, a través de una llave foránea.
Rectángulo, representación gráfica de una entidad débil según Chen
  • Entidad asociativa: es un tipo que puede relacionar a más de una entidad, por ejemplo: una entidad asociativa puede relacionar a una entidad factura con una entidad cliente, típicamente en este tipo de entidad existe una relación de muchos a muchos.
  • En una entidad asociativa, por lo regular, existen más de una llave foránea.
Rectángulo, representación gráfica de una entidad asociativa según Chen

Atributos

Los atributos se consideran propiedades que definen o identifican a una entidad, dichas características pueden ser de tipos numéricas, de texto, fechas, etc., por ejemplo, una entidad persona, puede tener atributos como: edad, nacionalidad, estatura, etc.

  • Según la notación de Chen, un atributo simple puede ser representado a través de un ovalo o círculo.
Representación grafica en forma de ovalo de un atributo simple
  • Van unidos a su entidad a través de una línea.
  • La llave debe ser subrayada para su identificación.
  • Si en una entidad hay más de una llave, se subraya con una línea punteada las llaves parciales.
Representación de atributos según la notación de Chen

Chen, también propone los siguientes tipos de atributos:

  • Atributos multi-valuados: aquellos que denotan más de un valor.
Representación grafica en forma de ovalo de un atributo multivaluado
  • Atributos derivados: son aquellos que derivan o se calculan a partir de otro atributo.
Representación grafica en forma de ovalo de un atributo derivado
  • Y atributos compuestos: son aquellos que pueden ser divididos en otros más simples.
Representación grafica en forma de ovalo de un atributo compuesto

Relaciones

Dentro del diagrama entidad relación, las relaciones, hacen referencia a la interacción o asociación entre entidades, y como menciona Chen, debemos ver a las relaciones como verbos, por ejemplo: en un carro se instala un localizador GPS, donde:

  • Las entidades son carro y localizador GPS
  • Ahora, "instala" o el acto de instalar, es la acción o verbo, lo cual, une mediante una acción ambas entidades.

Dentro de la notación de Chen, existen varios tipos de relaciones:

  • Relaciones fuertes: donde la existencia de cierta entidad, no depende de otra entidad.
Representación gráfica de una relación, forma de rombo o diamante
  • Relaciones débiles: indica que la existencia de una entidad, depende de la existencia de otra entidad, también son conocidas como relaciones identificadoras.
Representación gráfica de una relación, forma de rombo o diamante

 💡 Por ejemplo, si tenemos tres entidades: Factura, Detalle factura y Servicio; podemos deducir lo siguiente:

  • Entre Factura y Detalle Factura, existe una relación débil, ya que la entidad Detalle Factura depende de que exista una factura.
  • No obstante, la entidad Servicio, no depende de que exista un detalle o una factura, es por ello, que entre Servicio y Detalle Factura, hay una relación fuerte.
Ejemplo de relación fuerte y débil
  • Relación recursiva: es donde una entidad esta relacionada con sigo misma, por ejemplo, en una entidad Empleado y una relación Puesto, hay una relación recursiva, ya que todo puesto será empleado.
Ejemplo de una relación recursiva, entre entidad empleado y relación puesto

Cardinalidad

La cardinalidad nos indica que un número de entidades pueden ser asociadas con otras entidades mediante una relación binaria, dicha relación puede ser:

  • Uno a uno
  • Uno a muchos
  • Muchos a muchos

En la notación de Chen, para indicar la cardinalidad se utilizan: 1, N o M.

  • Un smartphone solo tiene una marca o es de una marca.
  • Un pedido tiene varios detalles.
  • Más de un repartidor atiende más de una zona.
Ejemplo de cardinalidad según Chane

📌 Como puedes observar la notación de Chen utiliza muchos símbolos lo que hace que los diagramas entidad relación basados en esta notación sean bastante completos, pero, con la desventaja que son demasiado extensos y complicados de leer debido a que utiliza una gran cantidad de símbolos.

Tipos de notaciones para crear un diagrama entidad relación

Quizá el hecho de que la notación de Chen es rica en símbolos, da como resultado que sea complejo interpretar un diagrama ER bajo esta notación, quizá esta sea la razón, del porqué, han ido apareciendo otras notaciones que facilitan este trabajo.

📌 NOTA: no es mi intención ni pretendo demostrar que una notación es mejor que otra, simplemente expreso mi opinión y la forma en que personalmente creo los diagramas entidad relación.

Algunas de las notaciones que existen son:

  • Backers conocida como notación de la pata de cuervo.
  • Bachman
  • UML
  • IDEF1X
  • Min, Max/ISO
  • Martin

No revisaremos todas las notaciones disponibles, ya que, este post sería bastante extenso, así que vamos a revisar la de Backers y haremos un ejemplo.

Notación de Backers o pata de cuervo

El objetivo principal de esta notación es ocupar al máximo el espacio disponible y, estable los siguientes símbolos:

  • Entidad: es representada por un rectángulo y, podemos omitir los atributos.
Rectángulo, representación gráfica de una entidad según Chen
  • Atributos: dentro del mismo rectángulo de la entidad, podemos indicar los atributos y sus características.
Representación gráfica de una entidad según Backers
  • Relaciones: son representadas mediante líneas. ―
  • Cardinalidad: se representa a través de:
    • 0 que representa ninguno.
    • | una línea vertical para representar Uno
    • || dos líneas verticales para representar Uno y sólo uno.
    • Y para representar de muchos a muchos utiliza un símbolo similar a la pata de un ave, de ahí el nombre de notación pata de cuervo, el símbolo es el siguiente.
Símbolo pata de cuervo, representa una relación de muchos a muchos

Excelente, en este punto ya hemos establecido un lenguaje común a través de símbolos y, ya sabemos qué significa cada uno de ellos, así que para aterrizar cada concepto, te explicaré un método general para crear un diagrama entidad relación y después haremos una ejemplo.

Procedimiento general para crear un diagrama entidad relación

A continuación te explicaré el método que utilizo yo para crear un diagrama entidad relación, dicho método es un procedimiento repetitivo, ya que, puedes repetir el proceso en cada revisión para encontrar áreas de oportunidad o para agregar cambios, veamos cuales son estos pasos:

  • Identificación de entidades, atributos y llaves: recuerda lo visto anteriormente, los sustantivos siempre serán nuestras entidades, entonces, debes leer cuidadosamente los requerimientos para identificar correctamente dichas entidades.
    • Puedes comenzar solo identificando las entidades, y en una iteración posterior, identificar atributos y llaves.
  • Identificación de relaciones y cardinalidad: ya que has identificado las entidades, trata de identificar como se relación entre sí y su cardinalidad.
  • Diagramación: puedes comenzar a realizar bosquejos del diagrama, para ello puedes empezar en un papel o algún software que te permita realizar este tipo de diagrama, lo importante es que independiente de como lo hagas, puedas borrar o modificar, recuerda que es un proceso que repetirás.
    • No es necesario que diagrama sea el tercer paso, puedes diagramar desde el momento que identificas las entidades.
  • Normalización: este proceso depende mucho de la experiencia de quien está diseñando, aunque ya hicimos una clase completa de este tema que pueden ayudarte en este punto.
  • Comprobación y revisión: una vez que tengas un diagrama preliminar, date un tiempo para revisar y comprobar si no hay errores, redundancia, etc. De haber mejoras o cambios, comienza este proceso nuevamente.

Ejemplo: Crear un diagrama entidad relación sobre el tema GPS

Una empresa transportista requiere identificar sus automóviles y sus equipos GPS, además, requiere identificar que equipos GPS están instalados en que vehículos, nuestro cliente nos indica que: un vehículo puede tener más de un equipo GPS instalado al mismo tiempo.

Es un ejemplo muy simple, pero podemos aplicar al cien por ciento el procedimiento general que te mostré en el apartado anterior, así que vamos a proceder con la primer iteración.

Primera iteración: identificación de entidades y cardinalidad

En esta primera iteración no profundizaremos en los detalles, identificaremos las entidades principales y su cardinalidad:

  • Identificación de entidades, atributos y llaves: recuerda que debes leer detenidamente los requerimientos, centrando tu atención en los sustantivos, por ejemplo:
    • Transportista
    • Automóviles
    • Equipos GPS
  • Relaciones y cardinalidad: identifiquemos como se relaciones dichas entidades y, para la cardinalidad, utilizaremos la notación 1:N:M que establece Chen, así que, si analizamos los requerimientos podemos detectar las siguientes relaciones:
    • Entre Transportista y Automóviles tenemos una relación de uno a muchos (1:N): ya que un transportista cuenta con muchos vehículos.
    • Ahora, entre Transportista y Equipos GPS hay una relación de uno a muchos (1:N): ya que un transportista es dueño de varios equipos GPS.
    • Entre Automóviles y Equipos GPS hay una relación de muchos a muchos (N:M): ya que un GPS puede estar instalado en un vehículo y, un automóvil puede tener instalado más de un equipo GPS.
  • Diagrama: con este primer análisis, ya podemos iniciar con la creación de nuestro primer diagrama.
Primer diagrama entidad relación del ejemplo de GPS
  • Normalización: Dado que no hemos establecido atributos ni llaves, nos saltaremos este paso.
  • Revisión y comprobación: Algunos colegas crean sus diagramas ER hasta este nivel de detalle, obviamente, en la vida real seguramente vamos a tener más de tres entidades y no se vería tan simple su diagrama, no obstante, yo siempre establezco los atributos y llaves, y elimino las relaciones de muchos a muchos, para esto, tenemos que hacer más iteraciones.

Segunda iteración: eliminación de relaciones muchos a muchos

  • Identificación de entidades, atributos y llaves: volvemos a leer los requerimientos, pero no identificamos nuevas entidades.
  • Relaciones y cardinalidad: en el diagrama ER de la primera iteración, vemos que existe una cardinalidad de muchos a muchos, para eliminar este tipo de relación debemos:
    • Transformar la relación de muchos a muchos por dos relaciones de uno a muchos.
    • Para llevar a cabo esta transformación debemos crear una entidad que relacione ambas entidades, esta entidad es conocida como una “tabla intermedia o tabla de relación”.
    • Para este caso, le podríamos llamar “automóviles-equipos”, ya que los registros de esta tabla nos indicarían, una instalación o desinstalación.
  • Diagrama: veamos como va evolucionando nuestro diagrama.
Segundo diagrama entidad relación del ejemplo de GPS, se eliminan las relaciones de muchos a muchos
  • Normalización: Dado que no hemos establecido atributos ni llaves, nos saltaremos este paso.
  • Revisión y comprobación: aun podemos dar más detalles en nuestro diagrama entidad relación, así que haremos otra iteración para encontrar atributos y llaves.

Tercera iteración: identificando atributos, llaves y normalización

  • Identificación de entidades, atributos y llaves: la identificación de atributos depende de la naturaleza del problema a resolver y la experiencia de quien está creando el diagrama ER, para nuestro ejemplo, podemos identificar algunos atributos con los cuales podemos caracterizar plenamente nuestras entidades.
    • Transportista:
      • RFC
      • Razón social
      • Dirección
      • Teléfono
      • Fecha
      • Etc.
    • Automóviles:
      • VIN
      • Color
      • Placas
      • Marca
      • Línea
      • Modelo
      • Estatus
      • Fecha
      • Etc.
    • Equipos GPS:
      • IMEI
      • Celular
      • SIM
      • Fabricante
      • Modelo
      • Protocolo
      • Estatus
      • Fecha
      • Etc.
    • Automóviles-equipos:
      • VIN
      • IMEI
      • Fecha asignación
      • Fecha desasignación
      • Estatus
  • Relaciones y cardinalidad: en esta iteración no tocaremos la cardinalidad.
  • Diagrama: nuestro nuevo diagrama se verá algo así, recuerda que tu puedes ir diagramando, incluso podemos utilizar la notación de la pata de cuervo para dar una mejor presentación y se entiendan mejor nuestras relaciones.
Tercer diagrama entidad relación del ejemplo de GPS, identificación de atributos y llaves
  • Normalización: Ya que tenemos atributos y llaves identificadas, podemos realizar un análisis en búsqueda de redundancias, por ejemplo:

Hay una redundancia evidente en la entidad Automóviles respecto a los atributos:

  • Marca
  • Línea
  • Modelo

Esto se da por que seguramente vamos a tener muchos carros con la misma, marca, línea y modelo, quizá lo comprendas mejor en la siguiente imagen.

Ejemplo de redundancia de atributos en una entidad que forma parte de un diagrama entidad relación

Para evitar esta redundancia podemos crear otra entidad que contenga estos datos y la relacionamos a través de una llave, y si eres observador, algo similar pasa en la entidad de Equipos GPS, aplicando los cambios veríamos algo así:

Cuarto diagrama entidad relación del ejemplo de GPS, normalización, eliminación de redundancias

Como puedes ver con las nuevas entidades “Tipos GPS” y “Tipos automóviles” eliminamos redundancias y nuestro diagrama entidad relación ha quedado más completo.

Aunque, si te das cuenta en “Transportista” tenemos un dato no atómico, el cual es “Dirección”, recuerda lo que hemos visto anteriormente, el modelo relacional nos indica que todos los atributos deben ser atómicos.

No obstante, también depende de nuestro sistema y la importancia de cada atributo, en el requerimiento, no expresan la importancia de identificar plenamente al transportista, pero como diseñadores, debes preguntarnos ¿Es necesario?

La respuesta te la dejo de tarea, y si decides eliminar el dato no atómico, mándame un correo con el nuevo diagrama, donde has eliminado esta anomalía. 😉

  • Revisión y comprobación: nuestro diagrama se mira bien, no obstante, pudiésemos seguir analizando, quizá seguir comprobando atributos, centrándonos en las llaves y, revisar si en efecto, las llaves que hemos establecido, nos brindarán un buen rendimiento o no, no obstante, como ejemplo, creo que se entiende el procedimiento, así que lo dejaremos hasta aquí, pero te invito a seguir revisándolo y me comentes si has encontrado más áreas de oportunidad.

Excelente, hemos llegado al final, espero no haberte mareado en el ejemplo, pero creo que viéndolo paso a paso se entiende mejor y podrás crear prácticamente, cualquier diagrama entidad relación, no olvides revisar todo el curso para comprender cada concepto, nos vemos en el siguiente capítulo.

🧐 Autoevaluación: Modelo entidad relación

¿Cuáles son los elementos del modelo entidad relación?

¿Cuándo Chen habla del modelo entidad relación?

¿Cómo identificar las entidades en una base de datos?

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como: Node JS, PHP, C# y Bases de datos.

Si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik