Diagrama entidad relación
¡Qué bueno que sigas aquí! En esta clase del curso de MySQL 8 vamos a diseñar un diagrama entidad-relación (o ERD, para los amigos). Es como hacer un mapa de tu base de datos, y te prometo que cuando lo tengas listo, vas a ver todo mucho más claro. Antes de meterle mano al código, necesitamos entender bien qué queremos construir, y este diagrama es el primer paso para que todo tenga sentido.
¿Qué es un diagrama entidad-relación?
Piénsalo como un dibujo que te muestra cómo se organiza tu base de datos. El diagrama entidad-relación (ERD) es una forma sencilla de ver las piezas clave: qué cosas vamos a guardar, cómo se conectan entre sí y qué detalles tiene cada una. Es como el plano de una casa antes de construirla, pero para datos.
Básicamente, sirve para:
- Identificar las entidades (las “cosas” importantes, como personas o productos).
- Definir las relaciones (cómo se vinculan esas cosas).
- Listar los atributos (los detalles de cada cosa).
Todo esto lo hacemos pensando en las necesidades del cliente o del proyecto, para que la base de datos sea útil y lógica.
Los ingredientes del ERD
Un diagrama entidad-relación tiene tres piezas principales:
- Entidades: Se dibujan como rectángulos. Son los objetos o conceptos del mundo real que queremos guardar (como “Mascotas” o “Clientes”).
- Relaciones: Van como rombos. Muestran cómo se conectan las entidades (por ejemplo, un cliente “tiene” una mascota).
- Atributos: Se representan con óvalos. Son las características de cada entidad (como el nombre o la edad de una mascota).
Con esto en mente, vamos a armar uno paso a paso con un ejemplo práctico: una clínica veterinaria.
Ejemplo práctico: la veterinaria
Imagina que el dueño de una veterinaria te llama y te dice qué necesita. Estas son sus reglas del negocio (o sea, lo que quiere que hagamos):
- “Quiero guardar datos de los doctores: nombre, teléfono, cargo.”
- “Necesito registrar cada mascota nueva: nombre, color, edad, sexo, tipo (perro, gato, etc.).”
- “Cada mascota debe tener un kardex único con un código, si tiene enfermedades y otros detalles.”
- “Quiero los datos de los dueños: nombre, apellido, zona, dirección, teléfono.”
- “Necesito registrar los servicios: fecha, costo, y qué se hizo.”
- “Quiero ver el historial de cada mascota: qué doctor la atendió y qué servicios se le hicieron.”
Paso 1: Identifiquemos las entidades y atributos
A partir de lo que nos dijo, estas son las entidades y sus atributos:
- Mascota: nombre, color, edad, sexo, tipo.
- Cliente: nombre, apellido, zona, dirección, teléfono.
- Kardex: código, enfermedad, detalles.
- Doctor: nombre, apellido, cargo, teléfono.
- Servicio: fecha, costo, detalle.
Paso 2: Conectemos las entidades con relaciones
Ahora, veamos cómo se relacionan. Hay tres tipos de relaciones que nos interesan:
- Uno a uno: Una cosa está conectada con exactamente otra cosa.
- Uno a muchos: Una cosa se conecta con varias, pero esas varias solo tienen una.
- Muchos a muchos: Varias cosas se conectan con varias otras.
Para nuestra veterinaria:
- Uno a uno: Una Mascota tiene un solo Kardex, y un Kardex pertenece a una sola Mascota.
- Uno a muchos: Un Cliente puede tener muchas Mascotas, pero una Mascota solo tiene un Cliente (su dueño).
- Muchos a muchos:
- Un Doctor puede hacer muchos Servicios, y un Servicio puede involucrar a varios Doctores (si trabajan en equipo).
- Un Servicio se hace a muchas Mascotas, y una Mascota puede tener muchos Servicios en su historial.
Paso 3: Dibujémoslo (o imaginémoslo)
Para armar el diagrama, usamos rectángulos para las entidades, rombos para las relaciones y óvalos para los atributos. Si tuvieras una herramienta como MySQL Workbench o incluso Paint, podrías dibujarlo así:

- Un rectángulo “Mascota” conectado por un rombo “Tiene” a un rectángulo “Kardex”.
- Un rectángulo “Cliente” conectado por un rombo “Posee” a “Mascota”.
- “Doctor” y “Servicio” con un rombo “Realiza” entre ellos, y “Servicio” con “Mascota” unidos por otro rombo “Atiende”.
Si quieres, prueba a dibujarlo en un papel o en tu programa favorito. ¡Es más fácil de lo que suena!
¿Por qué nos sirve esto?
Hacer un ERD antes de empezar te ahorra dolores de cabeza. Te ayuda a:
- Ver si algo no encaja desde el principio.
- Asegurarte de que el cliente y tú están en la misma onda.
- Planear una base de datos que sea fácil de usar y crecer después.
¡Listo para el próximo paso!
Con este diagrama en mente, ya tenemos una base sólida. En la siguiente clase, vamos a instalar MySQL y a explorar herramientas para hacer esto realidad. ¡Va a ser genial ver cómo cobra vida!
Mini desafío: Piensa en un proyecto propio (tu colección de videojuegos, una tiendita, lo que quieras). ¿Qué entidades y relaciones se te ocurren? Anótalo y lo revisamos juntos la próxima vez.