ERD es la abreviatura de Entity-Relationship Diagram (diagrama de entidades y relaciones). Es una representación visual de la estructura de tu base de datos, que muestra cómo las entidades (tablas) están conectadas entre sí.
Imagina que el ERD es como el mapa del metro para tu base de datos. Las estaciones son las tablas y las líneas que las unen son las relaciones. Este mapa te ayuda a entender cómo moverte entre estaciones (y cómo interactúan las tablas).
Un ERD se compone de:
- Entidades: son objetos o tablas, como "Estudiantes", "Cursos", "Profesores".
- Atributos: son las columnas de las tablas, como
ID,Nombre,Apellido. - Relaciones: son las líneas entre tablas que muestran cómo se relacionan, por ejemplo, un estudiante está inscrito en muchos cursos.
Con un ERD puedes no solo planificar la base de datos, sino también mostrarle a tus colegas o a tu jefe cómo está montada. ¡Es una herramienta potente para cualquier dev!
Elementos básicos del ERD
- Entidades
Una entidad es como una mini base de datos. Cada entidad corresponde a un objeto real o concepto que quieres gestionar en tu sistema. Por ejemplo:
- Tabla "Estudiantes".
- Tabla "Cursos".
- Tabla "Préstamos" (en un sistema de biblioteca).
Ejemplo:
+---------------+
| Estudiantes |
+---------------+
| ID |
| Nombre |
| Apellido |
| Fecha de nacimiento |
+---------------+
- Atributos Los atributos son propiedades o características individuales de una entidad. Se muestran como columnas en la tabla de la base de datos. Por ejemplo:
- Para la tabla "Estudiantes" pueden ser
ID,Nombre,Apellido. - Para la tabla "Cursos" serían
ID del Curso,Nombre del curso.
En el ERD normalmente se escriben dentro del rectángulo que representa la entidad.
Relaciones entre entidades
Una relación muestra cómo dos entidades interactúan entre sí. Te recuerdo los tipos principales de relaciones:
- Uno a uno (1:1): por ejemplo, cada estudiante tiene un carnet único.
- Uno a muchos (1:N): por ejemplo, un profesor puede dar varios cursos.
- Muchos a muchos (M:N): por ejemplo, varios estudiantes están inscritos en varios cursos.
Ejemplo de relación "Uno a muchos":
Estudiantes (1) <----- inscrito -----> (N) Cursos
Para implementar relaciones en la base de datos normalmente usamos claves foráneas.
¿Cómo construir un ERD?
Vamos a ver el proceso de construir un ERD paso a paso, y también un ejemplo para una biblioteca.
Paso 1: Define las entidades
Tu tarea es dividir el sistema en los objetos principales. Por ejemplo, para un sistema de biblioteca serían:
- "Libros".
- "Lectores".
- "Préstamos".
Ejemplo:
+-------------+ +--------------+ +------------+
| Libros | | Lectores | | Préstamos |
+-------------+ +--------------+ +------------+
| ID | | ID | | ID |
| Título | | Nombre | | Lector |
| Autor | | Apellido | | Libro |
| ISBN | | Fecha de nacimiento| | Fecha de préstamo|
+-------------+ +--------------+ +------------+
Paso 2: Añade los atributos
Cada entidad debe tener atributos clave. Por ejemplo:
- La tabla "Libros" debe incluir
ID(clave primaria),Título,Autor,ISBN. - La tabla "Lectores" —
ID,Nombre,Apellido.
Paso 3: Establece las relaciones
Ahora añade las relaciones entre entidades:
- "Préstamos" está relacionado con "Libros" (un libro puede ser prestado varias veces).
- "Préstamos" está relacionado con "Lectores" (un lector puede tomar varios libros).
Paso 4: Visualiza
Usa cualquier herramienta para crear diagramas, por ejemplo:
- draw.io
- dbdiagram.io
- Lucidchart
- Microsoft Visio
El diagrama se verá así:
[Lectores] ----(1:N)---- [Préstamos] ----(N:1)---- [Libros]
Para cada relación añade el tipo de dato y una explicación, por ejemplo:
- ID del Lector en "Préstamos" está relacionado con la clave primaria de la tabla "Lectores".
Ejemplo: ERD para una tienda online
Para una tienda online necesitas una estructura lógica que incluya:
- Usuarios (clientes registrados).
- Productos (artículos).
- Pedidos.
Paso 1: Entidades
- Usuarios:
ID de Usuario,Nombre,Email. - Productos:
ID de Producto,Nombre,Precio. - Pedidos:
ID de Pedido,ID de Usuario,Fecha del pedido.
Paso 2: Establecer relaciones
- Un usuario puede hacer varios pedidos (1:N).
- Un pedido puede incluir varios productos (M:N).
Diagrama ERD completo:
[Usuarios] ----(1:N)---- [Pedidos] ----(N:M)---- [Productos]
Para implementar la relación muchos a muchos, añade una tabla intermedia:
- Detalle de pedidos:
ID de Pedido,ID de Producto,Cantidad.
Consejos para crear un ERD
Primero piensa qué quieres ver en tu base de datos. Todo empieza por entender bien tu dominio.
Incluye solo los atributos y entidades que realmente importan. Demasiado detalle puede liar las cosas.
Asegúrate de que todas las relaciones tengan sentido lógico. Si una relación te parece rara, revísala.
Usa herramientas que te ayuden a visualizar los diagramas. Te ahorrarán tiempo y esfuerzo.
GO TO FULL VERSION