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

  1. Elige la herramienta Table en la barra de herramientas y haz clic en el lienzo para crear una tabla para cada entidad
  2. 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

  1. Selecciona la Connector Tool
  2. Dibuja una línea entre entidades relacionadas
  3. 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ímboloSignificado
`` (línea simple)
○ (círculo)Cero (opcional)
< o > (pata de cuervo)Muchos

Relaciones Comunes

NotaciónInicioFinSignificado
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

  1. Selecciona un conector entre entidades
  2. En la pestaña Style del Inspector, ve a la sección Connector
  3. Elige Start Arrowhead y End Arrowhead en la lista Built-in Arrowheads. Las puntas de flecha de ERD son:
Punta de flechaSignificado típico
Bar BarExactamente uno (‖)
Bar BallCero o uno (○|)
Crows FeetMuchos
Crow BarUno o muchos (|<)
Crow BallCero 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
  • email
  • phone

Order

  • order_id (PK)
  • customer_id (FK)
  • order_date
  • total

Paso 3: Dibujar Entidades

  1. Crea una tabla con la herramienta Table para cada entidad
  2. Agrega los nombres de las entidades como encabezados
  3. Enumera los atributos dentro de cada tabla
  4. Marca las claves primarias (PK) y las claves foráneas (FK)

Paso 4: Agregar Relaciones

  1. Dibuja un conector de Customer a Order
  2. Establece el extremo "uno" en Customer (|)
  3. Establece el extremo "muchos" en Order (<)
  4. 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 erDiagram de 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