Model relacional i transformacions d'E‑R
El modelo relacional es la base de la mayoría de los sistemas de gestión de bases de datos (SGBD) actuales. Para diseñar bases de datos robustas es esencial comprender cómo pasar del modelo…

En la conversió d’un model E‑R a model relacional, quina és la regla general per a les entitats?
Com es representa una interrelació 1:N en el model relacional?
Quin valor s’utilitza per indicar que un atribut pot ser indefinit o desconegut?
Segons la regla de determinació de PK per a relacions n‑àries, quina és la PK quan totes les entitats són "molts"?
En una jerarquia d'entitats, quina relació existeix entre la PK de la subclasse i la superclasse?
Quina és la forma correcta de definir la clau primària d'una relació ternària del tipus M:N:P?
Quina restricció s’aplica a les tuples dins d’una relació segons el model relacional?
En una relació, com es descriu la homogeneïtat de les columnes?
Com es gestiona una entitat dèbil en el model relacional?
Introducción al modelo relacional y sus transformaciones desde el modelo E‑R
El modelo relacional es la base de la mayoría de los sistemas de gestión de bases de datos (SGBD) actuales. Para diseñar bases de datos robustas es esencial comprender cómo pasar del modelo entidad‑relación (E‑R) al modelo relacional, así como conocer las reglas que rigen claves primarias, claves foráneas y restricciones de integridad.
1. Clave primaria (PK) en una entidad
Una clave primaria identifica de forma única cada fila (tupla) de una tabla. En el contexto de un empleado, el atributo que cumple esta función es el codi‑empleat. Otros atributos como nom, dni o cognom pueden ser únicos, pero no garantizan la unicidad en todos los casos (por ejemplo, dos personas pueden compartir nombre o apellido).
- Una PK nunca debe contener valores
NULL. - Debe ser inmutable: una vez asignada, no debe cambiarse.
- Puede ser simple (un solo atributo) o compuesta (varios atributos).
2. Regla general de conversión de entidades a tablas
Al transformar un modelo E‑R a relacional, cada entidad se convierte en una tabla. Cada atributo de la entidad pasa a ser una columna de esa tabla. Esta regla es fundamental porque mantiene la semántica de la entidad y permite que la información sea almacenada de forma estructurada.
Ejemplo:
- Entidad
Empleado→ TablaEmpleado - Atributos
codi‑empleat, nom, cognom, dni→ Columnas con los mismos nombres.
3. Representación de relaciones 1:N
En una relación de cardinalidad uno a muchos (1:N), la tabla del lado "muchos" recibe una clave foránea (FK) que apunta a la PK de la tabla del lado "uno". De esta manera, cada registro del lado "N" puede asociarse a un único registro del lado "1".
- Ejemplo:
Departamento (PK: dept_id)yEmpleado (FK: dept_id). - La FK se declara con la restricción
REFERENCESpara garantizar la integridad referencial.
4. Valor NULL y atributos indefinidos
El valor NULL indica que un atributo es desconocido o no aplicable. A diferencia de una cadena vacía ('') o el número 0, NULL representa la ausencia de valor y se maneja de forma especial en consultas SQL (p. ej., IS NULL).
- Los atributos que pueden ser opcionales deben permitir NULL.
- Las funciones de agregación ignoran los valores NULL.
5. Determinación de la PK en relaciones n‑arias
Cuando una relación involucra n entidades y todas tienen cardinalidad "muchos" (M:N:...), la clave primaria compuesta se forma con la unión de todas las PK de las entidades participantes. Esta combinación garantiza la unicidad de cada combinación de valores.
- Ejemplo: relación ternaria
Inscripción (estudiante_id, curso_id, semestre_id)→ PK compuesta por los tres atributos.
6. Jerarquías de entidades y herencia
En una jerarquía de subclase‑superclase, la PK de la subclase se convierte en FK que referencia a la PK de la superclase. Esto permite que cada fila de la subclase esté vinculada a una fila de la superclase, manteniendo la integridad de la herencia.
- Superclase
Persona (PK: persona_id) - Subclase
Empleado (PK/FK: persona_id)
7. Definición de la PK en relaciones ternarias M:N:P
Para una relación ternaria del tipo M:N:P, la PK correcta es una clave compuesta por los atributos PK de las tres entidades involucradas. No se necesita crear atributos adicionales ni generar claves artificiales, a menos que se requiera por motivos de rendimiento.
- Ejemplo: tabla
Asignación (proyecto_id, recurso_id, periodo_id)con PK compuesta por los tres campos.
8. Restricción de unicidad de tuplas
El modelo relacional impone que no se permiten tuplas duplicadas. Cada fila debe ser única según su clave primaria. Esta restricción evita la redundancia y facilita la consistencia de los datos.
- Si se intenta insertar una fila con una PK ya existente, el SGBD lanzará un error.
- Las claves únicas adicionales pueden reforzar esta regla para otros conjuntos de columnas.
9. Buenas prácticas para el diseño relacional
Aplicar las reglas anteriores es esencial, pero también es importante seguir buenas prácticas que mejoren la optimización SEO del contenido educativo:
- Uso de palabras clave: incluir términos como "modelo relacional", "clave primaria", "clave foránea", "NULL" y "integridad referencial" en títulos y párrafos.
- Estructura semántica: emplear etiquetas
<h2>,<h3>y listas para facilitar la indexación. - Enlaces internos: aunque no se muestran aquí, en una página completa se pueden enlazar conceptos relacionados (p. ej., normalización).
- Contenido rico: combinar texto con ejemplos de código SQL y diagramas (no incluidos por limitaciones de formato).
10. Resumen rápido
Para consolidar lo aprendido, a continuación se presentan los puntos clave en formato de lista:
- PK única →
codi‑empleatpara empleados. - Entidad → tabla; atributo → columna.
- Relación 1:N → FK en la tabla del lado "N".
- Valor indefinido →
NULL. - Relación n‑aria con todos "muchos" → PK compuesta por todas las PK.
- Jerarquía → PK de subclase es FK a superclase.
- Relación ternaria M:N:P → PK compuesta por los tres atributos.
- Restricción de duplicados → no se permiten tuplas idénticas.
Dominar estas transformaciones y reglas permite diseñar bases de datos relacionales eficientes, coherentes y fáciles de mantener, lo que es fundamental tanto para desarrolladores como para administradores de bases de datos.
