Símbolos del diagrama entidad relación
Los diagramas entidad relación usan tres familias de símbolos. La pata de gallo es la notación de las herramientas de bases de datos. Chen es la que se enseña en clase, y UML son los diagramas de clases aplicados a datos. En las tres, una tabla o entidad es un rectángulo y una relación es una línea entre rectángulos. Lo que cambia es cómo se escribe la cardinalidad, es decir, cuántas filas de un lado le corresponden a una fila del otro. La pata de gallo la marca en los extremos de la línea, y cada línea se lee dos veces, una hacia cada tabla. Abajo, cada símbolo aparece con su lectura. Lo dibuja ErdDocs con la misma notación que pone sobre tu propio esquema en la herramienta de abajo.
¿Qué significan los extremos de la pata de gallo?
En la pata de gallo todo ocurre en los extremos de la línea. Cada extremo apila hasta dos marcas. La más cercana a la tabla es el máximo, y la de fuera, el mínimo.
| Símbolo | Nombre | Cómo se lee | Ejemplo |
|---|---|---|---|
| Exactamente uno | Barra + barra: al menos uno y como máximo uno | un pedido pertenece a exactamente un cliente | |
| Cero o uno | Círculo + barra: opcional, como máximo uno | un cliente tiene como máximo una tarjeta de puntos | |
| Uno o muchos | Barra + pata de gallo: al menos uno | un pedido tiene al menos una línea | |
| Cero o muchos | Círculo + pata de gallo: cualquier cantidad, incluso ninguna | un cliente tiene cero o muchos pedidos |
Cómo leer una línea completa
Una línea de relación se lee dos veces, una hacia cada tabla. El ejemplo clásico de una tienda:
Las reglas de lectura completas, incluido qué significan las marcas cuando el esquema solo se conoce a medias, están en la página de la notación pata de gallo. Qué combinación elegir es una cuestión de cardinalidad.
Chen, pata de gallo y UML
| Concepto | Chen | Pata de gallo | UML |
|---|---|---|---|
| Entidad / tabla | Rectángulo | Rectángulo con la lista de columnas dentro | Caja de clase |
| Atributo | Óvalo unido a la entidad | Una fila dentro de la tabla | Un campo en la caja de clase |
| Relación | Rombo entre entidades | Una línea con marcas de cardinalidad en cada extremo | Línea de asociación |
| Cardinalidad | Letras 1, N, M junto al rombo | Barra, círculo y pata de gallo en los extremos | Multiplicidades 1, 0..1, 1..*, * |
| Clave primaria | Atributo subrayado | Marca de clave en la fila de la columna | Estereotipo o propiedad |
Una regla práctica. Mientras el esquema es solo una idea, usa Chen. Si el diagrama vive junto al código de la aplicación, usa UML. Cuando ya es una base de datos, usa la pata de gallo. Esa es la que ErdDocs dibuja a partir del esquema que pegas.
Un símbolo que los libros no traen: la línea discontinua
A los volcados reales a menudo les faltan las claves foráneas. Las aplicaciones en Rails, Django y Laravel suelen controlar las relaciones en el código, así que la base no declara nada. Para ese caso, ErdDocs añade un símbolo propio. Una línea continua es una relación que declara la base. Una discontinua es una relación deducida del nombre de la columna, como user_id → users. La primera la garantiza una restricción, y la segunda es una suposición bien fundada.
Los símbolos sobre un esquema real
Pega tu SQL en la herramienta de abajo. Buscará las claves foráneas y las restricciones únicas, y con ellas marcará el lado «muchos» de cada línea.
Preguntas frecuentes
¿Qué significan los símbolos de la pata de gallo?
Cada extremo de la línea apila hasta dos marcas. La más cercana a la tabla indica el máximo. Una barra es «como máximo uno» y la pata de tres puntas es «muchos». La de fuera indica el mínimo. Una barra es «al menos uno» y un círculo es «puede ser cero». Así, círculo + pata se lee «cero o muchos» y barra + barra, «exactamente uno».
¿Qué notación uso: Chen o pata de gallo?
Chen sirve para enseñar y para el modelo conceptual. Sus rombos convierten la relación en un elemento propio, y eso es lo que necesita una clase. La pata de gallo sirve para bases de datos reales. Dibuja un rectángulo por tabla con sus columnas dentro, que es la forma real de un esquema.
¿Cuál es el símbolo de una relación muchos a muchos?
Una pata de gallo en los dos extremos. En un esquema físico, el muchos a muchos se implementa con una tabla intermedia, como order_items entre orders y products. Por eso las herramientas que dibujan bases reales muestran dos relaciones uno a muchos que se juntan en esa tabla.
¿Por qué las herramientas de bases de datos no dibujan los rombos y óvalos de Chen?
Porque en una base de datos física lo que Chen dibuja por separado se reduce a tablas y columnas. Un óvalo de atributo es una fila dentro de la caja de la tabla. Un rombo de relación es una columna de clave foránea o una tabla intermedia. Dibujarlos como formas aparte duplicaría el tamaño del diagrama sin añadir ningún dato.
Relacionado
- Diagrama ER: entidades, relaciones y el punto en que un modelo conceptual se convierte en tablas.
- Notación pata de gallo: las reglas de lectura, con ejemplos resueltos.
- Cardinalidad en el diagrama ER: cómo una base de datos real determina qué marcas lleva una línea.
- Ejemplos de diagramas ER: catorce esquemas completos, cada uno con su diagrama y su diccionario.