Modelo Relacional
El Modelo Relacional o MR es un enfoque de organización de datos, que en vez de usar entidades y relaciones usa únicamente relaciones (pero no son lo mismo que en MER).
Las relaciones del MR representan tablas en la base de datos.
¿Para qué sirve?
Similar al MER, permite a los desarrolladores representar la estructura de la base de datos, pero de una forma más directa
Ejemplo
Tomemos de ejemplo el diagrama de la clase anterior:

Si quisieramos pasar este MER a MR deberíamos seguir los siguientes pasos.
Paso 1. Representar las entidades
Este es el paso más sencillo, tomamos cada una de las entidades y las representamos con su nombre en mayúsculas, seguido de sus atributos dentro de ”<>”. Además indicamos claves primarias
ALUMNO<id (PK), nyAp>
MATERIA<nombre (PK), año (PK)>
PROFESOR<id (PK), nyAp>
TEMA<título (PK), carga_horaria, materia_nombre (PK, FK), materia_año (PK, FK)>
Paso 2. Identificar y mapear las relaciones
En el MER, las relaciones pueden ser uno a uno (1:1), uno a muchos (1:N) o muchos a muchos (N:M). Para convertirlas al MR, seguimos estas reglas:
🔹 Relaciones 1:1 (Uno a Uno)
Cuando dos entidades tienen una relación 1:1, la clave primaria de una entidad pasa como clave foránea (FK) a la otra. La elección de dónde colocar la FK depende de cuál entidad depende más de la otra.
📌 Ejemplo: Si una tabla USUARIO tiene una relación 1:1 con PERFIL, podríamos definir:
USUARIO<id (PK), nombre, email>
PERFIL<username (PK), foto, biografía, **id_usuario (PK, FK)**>
Aquí, la clave id de USUARIO se replica en PERFIL como clave primaria y foránea. Aunque podría ser al revés sin ningún problema.
🔹 Relaciones 1:N (Uno a Muchos)
En una relación 1:N, la clave primaria de la entidad que está en el lado 1 se pasa como clave foránea (FK) a la entidad que está en el lado N.
📌 Ejemplo: Un profesor puede dar varias materias, pero cada materia tiene un solo profesor:
PROFESOR<id (PK), nyAp>
MATERIA<nombre (PK), año (PK), profesor_id (FK)>
Aquí, profesor_id
en MATERIA actúa como FK referenciando a la PK de PROFESOR.
🔹 Relaciones N:M (Muchos a Muchos)
Las relaciones N:M no pueden representarse directamente en el MR, por lo que se necesita una tabla intermedia que almacene las claves primarias de ambas entidades como claves foráneas.
📌 Ejemplo: Un alumno puede inscribirse en varias materias, y una materia puede tener varios alumnos inscritos.
ALUMNO<id (PK), nyAp>
MATERIA<nombre (PK), año (PK)>
CURSA<alumno_id (PK, FK), materia_nombre (PK, FK), materia_año (PK, FK)>
Aquí:
-
CURSA es la tabla intermedia.
-
alumno_id
referencia a ALUMNO. -
materia_nombre
ymateria_año
referencian a MATERIA.
Resultado Final
ALUMNO<id (PK), nyAp>
PROFESOR<id (PK), nyAp>
MATERIA<nombre (PK), año (PK), profesor_id (FK)>
TEMA<título (PK), carga_horaria, materia_nombre (PK, FK), materia_año (PK, FK)>
CURSA<alumno_id (PK, FK), materia_nombre (PK, FK), materia_año (PK, FK)>
Conclusión
El Modelo Relacional proporciona una forma estructurada y eficiente de organizar los datos. Su correcta implementación asegura integridad, escalabilidad y rendimiento en los sistemas de bases de datos.
Si comprendes bien cómo transformar un MER en MR, podrás diseñar bases de datos optimizadas y listas para su implementación en SQL.