Reforzamiento: Modelado Entidad-Relación
Antes de hablar de normalización, transacciones u optimización, necesitas dominar la herramienta con la que se diseña cualquier base de datos: el Modelo Entidad-Relación. Esta guía es un repaso completo pensado para consolidar lo que ya viste en Bases de Datos I, con actividades que te exigen razonar, no solo memorizar.
Bienvenido
El Modelo Entidad-Relación (MER) es la herramienta con la que se diseña la estructura de cualquier base de datos, antes de escribir una sola línea de SQL. Esta guía es un repaso completo: si ya viste estos conceptos en Bases de Datos I, aquí los vas a consolidar con actividades que exigen razonar, no solo memorizar.
Al finalizar esta guía dominarás entidades, atributos, claves, relaciones, cardinalidad, entidades débiles, las dos notaciones más usadas, y sabrás traducir un modelo ER a tablas relacionales.
Encontrarás actividades cortas y autocorregibles —selección múltiple, verdadero/falso, emparejamiento, clasificación y completar espacios— repartidas a lo largo de la guía, un diagrama ER para etiquetar, y una sección de ejercicios de razonamiento donde se te da un escenario o una tabla y debes predecir el resultado correcto antes de comprobarlo. Cada actividad te da retroalimentación inmediata.
📖 Repasa
Todos los conceptos del modelo Entidad-Relación, desde cero.
🔎 Razona
Escenarios y tablas donde debes predecir el resultado antes de verificarlo.
🧠 Conecta
La base que necesitarás para normalización y diseño de tablas relacionales.
¿Qué es el modelo Entidad-Relación?
El MER es una herramienta conceptual, propuesta por Peter Chen en 1976, para representar la estructura de los datos de un sistema de forma independiente de cualquier motor de base de datos concreto. Es el puente entre "lo que el negocio necesita guardar" y "cómo se van a organizar las tablas".
| Fase de diseño | Qué produce |
|---|---|
| Conceptual | Diagrama Entidad-Relación: entidades, atributos y relaciones, sin pensar todavía en un motor de base de datos. |
| Lógico | Esquema relacional: tablas, columnas y claves, ya derivadas del modelo ER. |
| Físico | Implementación real en un motor concreto (tipos de datos exactos, índices, particiones). |
Un error en el modelo ER se arrastra a todas las fases siguientes. Diseñar bien en esta etapa —antes de tocar SQL— ahorra muchísimo trabajo de corrección más adelante.
¿En qué fase del diseño de una base de datos se usa el modelo Entidad-Relación?
Entidades
Una entidad es un objeto o concepto del mundo real sobre el que necesitas guardar información, y del que existen muchas instancias distintas: "Cliente", "Producto", "Curso". Se representa como un rectángulo en la notación clásica de Chen.
"Cliente" es el tipo de entidad (lo que modelas una sola vez en el diagrama). "Juan Pérez" es una instancia concreta de ese tipo (una fila que existirá en la tabla). El diagrama ER modela tipos, no instancias.
Clasifica cada elemento como entidad, atributo o valor concreto.
Tipos de atributos
No todos los atributos son iguales. Distinguirlos correctamente es clave para decidir cómo se van a representar como columnas más adelante.
| Tipo | Descripción | Ejemplo |
|---|---|---|
| Simple | No se puede dividir en partes más pequeñas. | Edad. |
| Compuesto | Se puede dividir en subpartes con sentido propio. | Nombre completo (nombre + apellido). |
| Derivado | Se calcula a partir de otro atributo, no se guarda directamente. | Edad, calculada desde la fecha de nacimiento. |
| Multivaluado | Puede tener varios valores simultáneamente para la misma instancia. | Teléfonos de un mismo cliente. |
Un atributo multivaluado casi nunca se convierte en una sola columna: normalmente se convierte en una tabla aparte, como verás más adelante en esta guía.
Relaciona cada tipo de atributo con su ejemplo.
Une cada tipo de atributo con su ejemplo.
Claves: primaria, candidata y foránea
Las claves son las que permiten identificar instancias de forma única y conectar entidades entre sí.
| Clave | Definición |
|---|---|
| Clave candidata | Cualquier atributo (o conjunto de atributos) que podría identificar de forma única cada instancia. |
| Clave primaria | La clave candidata que finalmente se elige para identificar cada fila de la tabla. |
| Clave foránea | Un atributo que referencia la clave primaria de otra entidad, materializando una relación entre ambas. |
En "Estudiante" podrían ser claves candidatas tanto el carnet de identidad como el código de estudiante; la universidad elige una de las dos como clave primaria. Si la tabla "Matrícula" guarda el código de estudiante para saber a quién pertenece, ese código actúa ahí como clave foránea.
Elige el tipo de clave correcto para cada frase.
1. El carnet de identidad y el código de estudiante son ambos, antes de decidir cuál usar, ejemplos de .
2. Una vez que la universidad decide usar el código de estudiante para identificar cada fila de la tabla "Estudiante", ese código pasa a ser la .
3. Cuando la tabla "Matrícula" guarda ese mismo código para saber a qué estudiante pertenece cada registro, ese código funciona ahí como .
Relaciones entre entidades
Una relación es una asociación con sentido de negocio entre dos o más entidades. Se representa como un rombo en la notación de Chen, y normalmente se nombra con un verbo: "Cliente REALIZA Pedido", "Empleado TRABAJA_EN Departamento".
La mayoría de las relaciones que modelarás son binarias (conectan exactamente dos entidades). También existen relaciones ternarias, que conectan tres entidades a la vez, aunque son mucho menos comunes.
A veces una entidad se relaciona consigo misma. El caso clásico es "Empleado ES_JEFE_DE Empleado": la tabla EMPLEADOS guarda una columna jefe_id que apunta a otro id de esa misma tabla. Esto se llama relación reflexiva o recursiva, y la volverás a ver en la sección de razonamiento.
En la frase "Un Alumno SE_INSCRIBE en un Curso", ¿cuál es la relación?
Cardinalidad y participación
La cardinalidad indica cuántas instancias de una entidad pueden relacionarse con cuántas instancias de otra.
| Cardinalidad | Significado | Ejemplo |
|---|---|---|
| 1:1 | Una instancia se relaciona con exactamente una del otro lado. | Persona - Pasaporte. |
| 1:N | Una instancia se relaciona con varias, pero no al revés. | Departamento - Empleados. |
| N:M | Varias instancias de cada lado se relacionan entre sí. | Estudiantes - Cursos. |
Además de la cardinalidad, cada entidad tiene una participación en la relación: total (obligatoria: toda instancia debe participar) o parcial (opcional: puede quedar sin relacionarse).
Clasifica la cardinalidad correcta para cada relación.
Entidades débiles
Una entidad débil no puede identificarse de forma única solo con sus propios atributos: depende de una entidad fuerte (su "dueña") para existir. Se representa con un rectángulo de doble línea, y su relación con la entidad fuerte, con un rombo de doble línea.
"Dependiente" de un "Empleado": dos empleados distintos podrían tener cada uno un dependiente llamado "María". "María" sola no identifica nada de forma única; su identificador real es la combinación de su nombre más el id del empleado del que depende (su clave parcial + la clave de la entidad fuerte).
Una entidad débil puede identificarse de forma única usando solamente sus propios atributos.
Notación: Chen vs. pata de gallo
La notación de Chen (rectángulos, rombos y óvalos) es la más didáctica para aprender la teoría. En la práctica, las herramientas de diseño (MySQL Workbench, dbdiagram.io) suelen usar la notación de pata de gallo ("crow's foot"), más compacta.
| Elemento | Notación de Chen | Notación de pata de gallo |
|---|---|---|
| Entidad | Rectángulo | Rectángulo |
| Atributo | Óvalo conectado con una línea | Listado dentro del rectángulo |
| Relación | Rombo | Línea directa entre entidades, sin rombo |
| Cardinalidad | Etiquetas "1", "N" junto a las líneas | Símbolos en los extremos de la línea |
Relaciona cada símbolo de la notación de pata de gallo con su significado.
Une cada símbolo con lo que representa.
Etiqueta el diagrama
Este diagrama, en notación de Chen, modela: "Un Empleado TRABAJA_EN un Departamento; un Departamento tiene muchos Empleados, pero cada Empleado trabaja en un único Departamento." Identifica qué representa cada marca numerada.
Relaciona cada número del diagrama con el concepto que representa.
De ER a tablas relacionales
Un modelo ER no se ejecuta directamente: se traduce a tablas siguiendo reglas fijas. Estas son las más importantes.
| Elemento ER | Se convierte en... |
|---|---|
| Entidad fuerte | Una tabla, con sus atributos simples y compuestos como columnas. |
| Atributo multivaluado | Una tabla aparte, relacionada mediante clave foránea. |
| Relación 1:N | Una clave foránea en la tabla del lado "N". |
| Relación N:M | Una tabla intermedia, con dos claves foráneas (una por cada entidad). |
| Entidad débil | Una tabla cuya clave primaria combina su clave parcial con la clave foránea de la entidad fuerte. |
Relaciona cada elemento del modelo ER con lo que se convierte en el esquema relacional.
Une cada elemento ER con su traducción a tablas relacionales.
Ejercicios de razonamiento
En estas preguntas no se te pide recordar una definición: se te da un escenario o una tabla, y debes razonar cuál sería la respuesta correcta antes de comprobarla.
| Id | Nombre | jefe_id | Salario |
|---|---|---|---|
| 1 | Carlos Ramírez | NULL | 9000 |
| 2 | Ana López | 1 | 6000 |
| 3 | Luis Martínez | 1 | 7000 |
| 6 | Diego Morales | 3 | 8000 |
La tabla EMPLEADOS de arriba tiene una columna jefe_id que hace referencia al id de otra fila de esa misma tabla. ¿Qué tipo de relación representa esto en el modelo Entidad-Relación?
Una tabla CLIENTES tiene las columnas id, nombre, telefono1, telefono2 y telefono3, para guardar hasta tres teléfonos por cliente.
¿Qué error de modelado se está cometiendo con las columnas telefono1, telefono2 y telefono3, y cómo se corrige?
Una aerolínea registra que cada Vuelo tiene asignado un único Avión en un momento dado, pero un mismo Avión puede operar muchos Vuelos distintos a lo largo del tiempo.
¿Cuál es la cardinalidad correcta de la relación entre Vuelo y Avión?
Actividades de repaso
Un repaso integrador de todo el módulo. Cada actividad se corrige al instante; tu progreso se guarda automáticamente en este navegador.
¿Quién propuso el modelo Entidad-Relación?
Una relación N:M se traduce directamente a una clave foránea en una de las dos tablas involucradas.
Un Departamento tiene muchos Empleados, pero cada Empleado pertenece a un único Departamento. ¿Cuál es la cardinalidad?
¿Cuál de estas situaciones describe mejor a una entidad débil?
Al pasar un modelo ER a tablas relacionales, ¿qué le ocurre a una relación N:M?
Cheat Sheet
| Término | Idea clave |
|---|---|
| Entidad | Objeto o concepto del mundo real con muchas instancias. |
| Atributo | Propiedad de una entidad; puede ser simple, compuesto, derivado o multivaluado. |
| Clave primaria | Identifica de forma única cada fila de una tabla. |
| Clave foránea | Referencia la clave primaria de otra tabla, materializando una relación. |
| Relación | Asociación con sentido de negocio entre dos o más entidades. |
| Relación reflexiva | Una entidad se relaciona consigo misma. |
| Cardinalidad | 1:1, 1:N o N:M: cuántas instancias se relacionan con cuántas. |
| Entidad débil | No se identifica sola; depende de la clave de una entidad fuerte. |
| Relación N:M en tablas | Se convierte en una tabla intermedia con dos claves foráneas. |
¿Sabías que...?
📄 Un solo artículo lo cambió todo
Peter Chen presentó el modelo Entidad-Relación en un único artículo de 1976, "The Entity-Relationship Model—Toward a Unified View of Data", que sigue siendo referencia obligada.
🐔 Por qué se llama "pata de gallo"
La notación crow's foot debe su nombre a que el símbolo de cardinalidad "muchos" se dibuja como tres líneas abiertas, parecidas a la huella de una pata de ave.
➡️ El siguiente paso: normalización
Un modelo ER bien construido es la base para normalizar correctamente un esquema relacional, el siguiente gran tema de Base de Datos II.