Notaciones E/R Alternativas: Crow’s Foot y UML
Aunque la notación original propuesta por Peter Chen (con rombos para relaciones y elipses para atributos) es la más extendida en la enseñanza académica, en la industria del software y en las herramientas CASE profesionales (como MySQL Workbench, DBeaver, ERwin, Lucidchart o draw.io) predominan la Notación Pata de Gallo (Crow's Foot) y los Diagramas de Clases UML.
1. ¿Por qué existen diferentes notaciones? #
- Notación Peter Chen (1976): Muy visual y conceptual, pero en modelos con cientos de atributos y entidades los diagramas se vuelven inmensos e ilegibles debido a la gran cantidad de elipses flotantes.
- Notación Crow's Foot (Richard Barker / Information Engineering): Compacta y orientada a la ingeniería de datos; integra los atributos dentro del propio rectángulo de la entidad e indica las cardinalidades directamente en los extremos de las líneas.
- Notación UML (Unified Modeling Language): Estándar universal de la ingeniería de software orientada a objetos, unificando el diseño de la base de datos con el código de la aplicación.
2. La Notación Pata de Gallo (Crow’s Foot) #
En la notación Crow's Foot:
- Entidades: Se representan como rectángulos divididos en dos secciones:
- Encabezado superior: Nombre de la entidad.
- Cuerpo inferior: Lista de atributos (indicando con
PKo subrayado la clave primaria, y conFKlas claves foráneas).
- Relaciones: Se representan como líneas directas entre entidades (sin rombos intermedios), con el verbo o nombre de la relación sobre la línea.
Simbología de cardinalidades en los extremos de la línea: #
Cada extremo de la línea contiene dos símbolos: el símbolo interior (cardinalidad mínima: obligatoriedad) y el símbolo exterior (cardinalidad máxima: conectividad).
1Símbolo Significado Cardinalidad (min, max) 2───┼──┼─── Uno y solo uno (Obligatorio 1) (1, 1) 3───○──┼─── Cero o uno (Opcional 1) (0, 1) 4───┼──∈─── Uno o muchos (Obligatorio N) (1, N) 5───○──∈─── Cero o muchos (Opcional N) (0, N)
TIP
El símbolo con tres ramificaciones abiertas (∈o>) se denomina pata de gallo (Crow's Foot) y representa la multiplicidad «muchos» ().
Ejemplo: Clientes y Pedidos en Crow's Foot #
1┌─────────────────┐ ┌─────────────────┐ 2│ CLIENTE │ │ PEDIDO │ 3├─────────────────┤ ├─────────────────┤ 4│ PK id_cliente │───┼───┼───────○───∈─│ PK id_pedido │ 5│ nombre │ (1, 1) (0, N) │ FK id_cliente │ 6│ email │ │ fecha │ 7└─────────────────┘ └─────────────────┘
- Lectura:
- Un Cliente puede realizar de 0 a muchos pedidos (
○──∈). - Un Pedido pertenece a uno y solo un cliente obligatoriamente (
┼──┼).
- Un Cliente puede realizar de 0 a muchos pedidos (
3. Notación UML (Diagramas de Clases) #
En UML, las entidades se modelan como clases y las relaciones como asociaciones.
Estructura de la clase: #
- Compartimento 1: Nombre de la clase (
Cliente). - Compartimento 2: Atributos con su tipo de datos y visibilidad (
+ id_cliente: int [PK],+ email: string). - Compartimento 3 (opcional en BD): Operaciones o métodos.
Multiplicidades en los extremos de la asociación: #
1Notación UML Significado 21 Exactamente uno (1..1) 30..1 Opcional (cero o uno) 4* o 0..* Cero o muchos 51..* Al menos uno (uno o muchos)
1┌───────────────────────┐ ┌───────────────────────┐ 2│ Cliente │ │ Pedido │ 3├───────────────────────┤ 1 0..* ├───────────────────────┤ 4│ + id_cliente: int PK │──────────────────│ + id_pedido: int PK │ 5│ + nombre: string │ realiza │ + fecha: date │ 6└───────────────────────┘ └───────────────────────┘
4. Tabla de Equivalencias entre Notaciones #
| Situación de Negocio | Notación Chen (min, max) | Notación Crow's Foot | Notación UML |
|---|---|---|---|
| Obligatorio Uno (Exactamente 1) | (1, 1) | ───┼──┼─── | 1 o 1..1 |
| Opcional Uno (Máximo 1) | (0, 1) | ───○──┼─── | 0..1 |
| Obligatorio Muchos (Al menos 1) | (1, N) | ───┼──∈─── | 1..* |
| Opcional Muchos (Cero o más) | (0, N) | ───○──∈─── | * o 0..* |
Resumen del tema
Conceptos clave #
- Notación Peter Chen: enfoque conceptual con entidades (rectángulos), relaciones (rombos) y atributos (elipses) con notación
(min, max). - Notación Crow's Foot (Pata de Gallo): enfoque compacto industrial donde los atributos residen dentro de la entidad y las cardinalidades se ilustran en los extremos de la línea con círculos (0), barras (1) y patas de gallo (N).
- Notación UML: modelado orientado a objetos con clases rectangulares y multiplicidades en extremos (
0..1,1,1..*,*). - Correspondencia universal: cualquier modelo expresado en Chen puede trasladarse de forma unívoca a Crow's Foot o UML sin pérdida de semántica.
Qué debes recordar #
En Crow's Foot, la barra vertical representa 1, el círculo representa 0 y la pata de tres puntas representa N; en UML, los límites se escriben directamente como rangos min..max.