Diagramas ERD
Crea Diagramas Entidad-Relación (ERD) para modelar estructuras de bases de datos y relaciones de datos.
¿Qué es un ERD?
Un Diagrama Entidad-Relación visualiza:
- Entidades: Tablas u objetos de la base de datos
- Atributos: Propiedades de las entidades
- Relaciones: Cómo se conectan las entidades entre sí
- Cardinalidad: La naturaleza de las relaciones (uno a uno, uno a muchos, etc.)
Crear un ERD
Agregar Entidades
- Elige la herramienta Table en la barra de herramientas y haz clic en el lienzo para crear una tabla para cada entidad
- Usa la primera fila como nombre de la entidad y las filas siguientes para los atributos
Consulta Tablas para editar filas, columnas y texto de celdas.
Cada entidad normalmente contiene:
- Nombre de la entidad (encabezado)
- Campo(s) de clave primaria
- Otros atributos
Agregar Relaciones
- Selecciona la Connector Tool
- Dibuja una línea entre entidades relacionadas
- Establece las puntas de flecha apropiadas para la cardinalidad
Notación de Pata de Cuervo
La notación de pata de cuervo es el estilo de ERD más común. Usa símbolos en los extremos de los conectores para mostrar la cardinalidad.
Símbolos de Cardinalidad
| Símbolo | Significado |
|---|---|
| ` | ` (línea simple) |
○ (círculo) | Cero (opcional) |
< o > (pata de cuervo) | Muchos |
Relaciones Comunes
| Notación | Inicio | Fin | Significado |
|---|---|---|---|
| Uno a Uno | ` | ` | ` |
| Uno a Muchos | ` | ` | < |
| Muchos a Muchos | < | > | Varios se relacionan con varios |
| Cero o Uno | `○ | ` | ` |
| Cero o Muchos | ○< | ` | ` |
Aplicar Puntas de Flecha de Pata de Cuervo
- Selecciona un conector entre entidades
- En la pestaña Style del Inspector, ve a la sección Connector
- Elige Start Arrowhead y End Arrowhead en la lista Built-in Arrowheads. Las puntas de flecha de ERD son:
| Punta de flecha | Significado típico |
|---|---|
| Bar Bar | Exactamente uno (‖) |
| Bar Ball | Cero o uno (○|) |
| Crows Feet | Muchos |
| Crow Bar | Uno o muchos (|<) |
| Crow Ball | Cero o muchos (○<) |
Crow Bar Segment y Crow Ball Circle son dibujos alternativos para los extremos de uno-o-muchos y cero-o-muchos.
También puedes hacer clic derecho en el extremo de un conector para elegir su punta de flecha.
Flujo de Trabajo de ERD de Ejemplo
Paso 1: Identificar Entidades
Para una base de datos de comercio electrónico:
- Customer
- Order
- Product
- OrderItem
Paso 2: Definir Atributos
Customer
- customer_id (PK)
- name
- phone
Order
- order_id (PK)
- customer_id (FK)
- order_date
- total
Paso 3: Dibujar Entidades
- Crea una tabla con la herramienta Table para cada entidad
- Agrega los nombres de las entidades como encabezados
- Enumera los atributos dentro de cada tabla
- Marca las claves primarias (PK) y las claves foráneas (FK)
Paso 4: Agregar Relaciones
- Dibuja un conector de Customer a Order
- Establece el extremo "uno" en Customer (|)
- Establece el extremo "muchos" en Order (<)
- Esto muestra: un customer tiene muchos orders
Paso 5: Etiquetar Relaciones
Agrega etiquetas de texto a los conectores:
- "places" (Customer → Order)
- "contains" (Order → OrderItem)
- "is product in" (Product → OrderItem)
Buenas Prácticas de ERD
Diseño
- Mantén las entidades relacionadas cerca unas de otras
- Usa un tamaño de entidad consistente
- Alinea las entidades en un patrón de cuadrícula
- Minimiza el cruce de conectores
Nomenclatura
- Usa sustantivos en singular para las entidades (Customer, no Customers)
- Usa convenciones de nomenclatura consistentes (camelCase, snake_case)
- Etiqueta las relaciones con verbos
Documentación
- Incluye claves primarias para todas las entidades
- Muestra claramente las claves foráneas
- Considera agregar tipos de datos
- Anota cualquier restricción
Consejos
- Empieza desde texto: Pega un
erDiagramde Mermaid con Edit → Insert Mermaid (PRO) para obtener un primer borrador, luego refínalo — consulta Soporte de Mermaid - Usa el diseño automático: Ayuda a organizar diagramas complejos
- Agrupa entidades relacionadas: Crea secciones lógicas
- Exporta para documentación: Inclúyelo en especificaciones técnicas y wikis
- Control de versiones: Guarda las iteraciones a medida que evoluciona tu base de datos