En una frase
El modelo relacional (Codd, 1970) representa los datos en relaciones (tablas) formadas por tuplas (filas) y atributos (columnas). Pasar del diagrama E-R al modelo relacional es un proceso sistemático: cada elemento del diagrama se traduce a tablas y claves según unas reglas fijas.
Qué es el modelo relacional
- Una relación tiene un nombre y representa una entidad genérica; se muestra como tabla. Sus atributos (columnas) tienen un nombre y un dominio (tipo de datos). El número de atributos es el grado; el de tuplas, la cardinalidad.
- Propiedades de una relación: no hay tuplas repetidas; las tuplas no están ordenadas; los atributos no están ordenados; los valores son atómicos (indivisibles).
Claves e integridad
- Clave primaria (PK): conjunto de atributos que identifica de forma unívoca cada tupla. Cumple no nulo y unicidad. Se subraya.
- Clave alternativa (candidata): otro conjunto que también podría identificar (único y no nulo).
- Clave ajena (FK): atributos de una relación R que referencian la clave primaria de otra relación S. Los valores de la FK en R deben aparecer en alguna tupla de S (o ser nulos). Se escribe en cursiva o señalando a qué tabla apunta.
- Integridad referencial: garantiza que una fila se relaciona siempre con filas válidas. La vigila el SGBD.
| Al borrar/modificar una fila referenciada… | Efecto | Ejemplo (departamento y profesores) |
|---|---|---|
| RESTRICT / NO ACTION | Impide la operación si hay filas dependientes | No se puede borrar un departamento con profesores |
| CASCADE | Propaga la operación | Al borrar el departamento se borran sus profesores |
| SET NULL | Pone la clave ajena a NULL | Los profesores quedan sin departamento |
| SET DEFAULT | Pone un valor por defecto | Pasan a un departamento genérico |
Reglas de traducción E-R → relacional
| Elemento del E-R | Se traduce a… |
|---|---|
| Entidad fuerte | Una tabla con sus atributos; la PK es su identificador |
| Atributo compuesto | Una columna por cada componente (nombre, apellido1, apellido2) |
| Atributo derivado | No se almacena |
| Atributo multivalorado | Tabla nueva con una clave ajena a la entidad y el atributo; PK = ambos |
| Entidad débil | Tabla cuya PK es la clave ajena de la propietaria + su clave parcial. La relación identificadora no genera tabla |
| Relación 1:N | Clave ajena en la tabla de cardinalidad máxima 1 (el «hijo»), apuntando a la otra. Los atributos de la relación pasan a esa tabla |
| Relación 1:1, participación obligatoria solo en un lado | Clave ajena en la tabla con cardinalidad mínima 1 (evita nulos). La FK además es clave alternativa (única) |
| Relación 1:1, obligatoria en ambos lados u opcional en ambos | Clave ajena (única) en cualquiera de las dos tablas; si son «sinónimos», se pueden fundir en una |
| Relación N:M | Tabla nueva con dos claves ajenas (una por entidad); PK = combinación de ambas. Los atributos de la relación van aquí |
| Relación n-aria (ternaria…) | Tabla nueva con n claves ajenas; PK = concatenación de las claves ajenas (o de algunas de ellas) |
| Relación reflexiva 1:N | Clave ajena en la tabla que referencia a su propia PK («jefe») |
| Relación reflexiva N:M | Tabla nueva con dos claves ajenas a la misma tabla |
Ejemplos resueltos (calculados en vivo)
Atributos compuestos, multivalorados y derivados
Relación 1:N
Relación N:M con atributo
Relación 1:1 (participación opcional en ambos lados)
Entidad débil
Relación reflexiva
Notación y método
Se escribe TABLA(clave_primaria, clave_ajena, atributo, …): clave primaria subrayada y clave ajena en cursiva (o con una flecha a la tabla referenciada). Una clave ajena puede formar parte de la clave primaria (entidades débiles, tablas N:M).
- Una tabla por cada entidad (atributos simples y componentes de los compuestos; sin derivados ni multivalorados).
- Procesa las entidades débiles: su PK incluye la clave de la propietaria.
- Una tabla por cada atributo multivalorado.
- Recorre cada relación: ¿N:M o n-aria? → tabla nueva. ¿1:N? → FK en el lado de máximo 1. ¿1:1? → FK en el lado obligatorio.
- Revisa: ¿cada tabla tiene PK? ¿cada FK apunta a una PK existente? ¿están todos los atributos?
Errores típicos
- Poner la clave ajena en el lado equivocado de una 1:N (va donde la cardinalidad máxima es 1).
- Olvidar los atributos de una relación (pasan a la tabla que recibe la FK o a la tabla N:M).
- Dejar atributos multivalorados o derivados dentro de la tabla de la entidad.
- Olvidar que en una entidad débil la clave ajena es parte de la clave primaria.
- Crear una tabla para una relación identificadora o para una 1:N.
Quiz
Las opciones se barajan cada vez; repite el quiz hasta que no falles ninguna.