Referencia de símbolos · Español
Notación pata de gallo: las cuatro marcas de cardinalidad y cómo leerlas
En resumen
La notación pata de gallo (crow's foot, o notación de Ingeniería de la Información) indica cuántos registros de una entidad se relacionan con un registro de otra mediante dos marcas en cada extremo de la línea. La marca interior (la más cercana al centro de la línea) es el mínimo: un círculo o para cero o una barra | para uno. La marca exterior (la que toca la entidad) es el máximo: una barra para uno o la «pata de gallo» de tres puntas para muchos. Así resultan cuatro extremos posibles: exactamente uno ||, cero o uno o|, uno o muchos |{ y cero o muchos o{. Una relación uno a muchos lleva || del lado del padre y o{ del lado del hijo.
Actualizado el · por el equipo de ChartCraft · Crow's foot notation (English)
¿Cuáles son las cuatro marcas de la notación pata de gallo?
Tres signos — barra (uno), círculo (cero) y pata de gallo (muchos) — se combinan en cuatro extremos de línea, cada uno con un par (mínimo, máximo). La columna Mermaid muestra cómo se escribe cada extremo a la izquierda y a la derecha de la línea en erDiagram.
Las cuatro marcas de cardinalidad
| Símbolo | Nombre | Significado | Mermaid |
|---|---|---|---|
| Exactamente uno (1, 1) | Dos barras: obligatorio y solo uno. Cada pedido pertenece a exactamente un cliente. | || / || | |
| Cero o uno (0, 1) | Círculo + barra: opcional, como máximo uno. Un cliente tiene cero o una dirección predeterminada. | |o / o| | |
| Uno o muchos (1, N) | Barra + pata de gallo: al menos uno, puede haber muchos. Un pedido tiene al menos un renglón. | }| / |{ | |
| Cero o muchos (0, N) | Círculo + pata de gallo: opcional, puede haber muchos. Un cliente puede tener cero o muchos pedidos. | }o / o{ | |
| Entidad con atributos | Caja con el nombre de la entidad y sus campos; PK marca la clave primaria y FK la clave foránea. | CLIENTE { int id PK } |
¿Qué es la notación pata de gallo?
Es la notación más usada para dibujar diagramas entidad-relación en el diseño de bases de datos. Representa las entidades como cajas con sus atributos dentro y las relaciones como líneas cuyos extremos indican la cardinalidad. Su nombre formal es notación de Ingeniería de la Información (IE), del método de James Martin; el nombre «pata de gallo» viene de la forma de tres puntas de la marca de «muchos».
La notación de Barker (usada por Oracle Designer) emplea la misma pata de gallo pero dibuja la opcionalidad con media línea punteada en lugar de un círculo. La notación de Chen, en cambio, usa rombos y etiquetas 1/N.
¿Cómo se lee la notación pata de gallo?
Se elige una entidad, se imagina un solo registro de ella y se miran las marcas del extremo opuesto de la línea: indican cuántos registros de la otra entidad puede tener ese registro. Luego se repite desde el otro lado. Marca interior = mínimo, marca exterior = máximo.
| Paso | Aplicado a CLIENTE ||——o{ PEDIDO |
|---|---|
| 1. Leer desde una entidad hacia la otra | Desde CLIENTE se miran las marcas junto a PEDIDO: o{. |
| 2. La marca que toca la otra entidad es el máximo | La pata de gallo toca PEDIDO: un cliente puede tener muchos pedidos. |
| 3. La marca de atrás es el mínimo | El círculo: un cliente puede tener cero pedidos. Resultado: cero o muchos. |
| 4. Leer el otro extremo | Desde PEDIDO se mira junto a CLIENTE: ||, exactamente un cliente por pedido, obligatorio. |
| 5. Unir las dos frases | «Un cliente hace cero o muchos pedidos; cada pedido lo hace exactamente un cliente». Es una relación uno a muchos, opcional del lado de muchos. |
| 6. La clave foránea va del lado de muchos | PEDIDO recibe la columna id_cliente NOT NULL. Un círculo del lado de uno (|o) la haría opcional (NULL). |
¿Cómo se representan las relaciones 1:1, 1:N y N:M en pata de gallo?
Uno a uno lleva barras (o círculo y barra) en ambos extremos; uno a muchos lleva barras del lado del padre y pata de gallo del lado del hijo; muchos a muchos lleva pata de gallo en ambos extremos. La tabla muestra las combinaciones más frecuentes con su código Mermaid.
| Tipo | Mermaid | Se lee |
|---|---|---|
| 1:1 obligatorio | PAIS ||--|| CAPITAL : tiene | Cada país tiene exactamente una capital y cada capital pertenece a un país. |
| 1:1 opcional | CLIENTE ||--o| DIRECCION : "tiene predeterminada" | Un cliente tiene cero o una dirección predeterminada. |
| 1:N opcional | CLIENTE ||--o{ PEDIDO : hace | Un cliente hace cero o muchos pedidos. |
| 1:N obligatorio | PEDIDO ||--|{ RENGLON : contiene | Un pedido contiene al menos un renglón. |
| N:M | ESTUDIANTE }o--o{ CURSO : cursa | Muchos estudiantes cursan muchos cursos; en la base de datos se resuelve con una tabla intermedia. |
En Mermaid, los extremos izquierdos son ||, |o, }| y }o, y los derechos ||, o|, |{ y o{. -- dibuja una línea continua (relación identificadora) y .. una punteada (no identificadora). Las etiquetas con espacios van entre comillas.
¿Cómo se ve un ejemplo completo en notación pata de gallo?
Cinco entidades y cuatro relaciones que usan las cuatro marcas: un CLIENTE hace cero o muchos PEDIDOs; un PEDIDO contiene uno o muchos RENGLONes; un PRODUCTO aparece en cero o muchos RENGLONes; un CLIENTE tiene cero o una DIRECCION predeterminada.
erDiagram
CLIENTE ||--o{ PEDIDO : hace
CLIENTE ||--o| DIRECCION : "tiene predeterminada"
PEDIDO ||--|{ RENGLON : contiene
PRODUCTO ||--o{ RENGLON : "aparece en"
CLIENTE {
int id_cliente PK
string nombre
}
PEDIDO {
int id_pedido PK
int id_cliente FK
date fecha
}
RENGLON {
int id_pedido PK, FK
int id_producto PK, FK
int cantidad
}
PRODUCTO {
int id_producto PK
string descripcion
decimal precio
}
DIRECCION {
int id_direccion PK
int id_cliente FK
string calle
}El mismo modelo puede describirse con palabras en el generador de diagramas entidad-relación, que coloca las marcas en cada línea.
¿Cuáles son los errores más comunes con la notación pata de gallo?
Casi todos los diagramas mal hechos caen en uno de estos errores: leer las marcas del extremo equivocado, invertir la marca interior y la exterior, dejar una relación N:M sin resolver, omitir el mínimo, poner la pata de gallo del lado del padre o mezclar notaciones.
| Error | Corrección |
|---|---|
| Leer las marcas del extremo cercano | Las marcas junto a una entidad describen cuántos registros de esa entidad hay por cada registro de la otra. Siempre se lee el extremo opuesto. |
| Invertir interior y exterior | La marca que toca la entidad es el máximo; la interior, el mínimo. El círculo nunca es la marca exterior. |
| Dejar una N:M en el modelo físico | Válido en un boceto conceptual; en el esquema se agrega una entidad intermedia (INSCRIPCION) con ||--o{ hacia cada lado. |
| Omitir el mínimo | Decidir si el padre puede existir sin hijos y agregar o o |; después define si la clave foránea admite NULL. |
| Pata de gallo del lado del padre | La pata va en la entidad que tiene muchos registros por cada registro de la otra: en clientes y pedidos, toca PEDIDO. |
| Mezclar notaciones | Las etiquetas 1/N de Chen o la multiplicidad UML 0..* no se combinan con patas de gallo en el mismo diagrama. |
¿Cómo se ven estos símbolos en diagramas reales?
Estos son diagramas reales de la galería pública de ChartCraft, generados a partir de una descripción en texto. Cada uno muestra el prompt con el que se creó (la galería está en inglés).
Preguntas frecuentes
¿Cuál es el símbolo de uno a muchos en un diagrama entidad-relación?
En la notación pata de gallo, uno a muchos se dibuja con dos barras || del lado del padre y una pata de gallo del lado del hijo: o{ si el padre puede no tener hijos, |{ si debe tener al menos uno. En Mermaid: CLIENTE ||--o{ PEDIDO : hace.
¿Qué significa la pata de gallo?
La marca de tres puntas que toca una entidad significa «muchos»: un registro de la entidad del otro extremo puede relacionarse con muchos registros de esta. Con un círculo detrás se lee cero o muchos; con una barra, uno o muchos.
¿De qué lado de la línea va la pata de gallo?
Del lado de la entidad que puede tener muchos registros por cada registro de la otra, es decir, del lado del hijo, que también es donde va la clave foránea. Entre clientes y pedidos, la pata toca PEDIDO.
¿Qué diferencia hay entre cero o muchos y uno o muchos?
El mínimo. Cero o muchos (o{) permite que el padre exista sin hijos, como un cliente sin pedidos. Uno o muchos (|{) exige al menos un hijo, como un pedido con al menos un renglón.
¿La notación pata de gallo es lo mismo que la notación IE?
Sí. Ingeniería de la Información (IE) es el nombre formal y «pata de gallo» (crow's foot) describe su marca de muchos. La notación de Barker usa la misma pata pero muestra la opcionalidad con una línea punteada.
Otras referencias de símbolos en español
Todas las guías de símbolos de ChartCraft en español: