2. REGLAS DE TRANSFORMACIÓN
Para transformar un modelo entidad-relación a
modelo relacional seguiremos las siguientes reglas:
Toda entidad del modelo entidad-relación se
transforma en una tabla.
Cualquier atributo de una entidad se transforma en
un campo dentro la tabla, manteniendo las claves
primarias.
Las relaciones N:M se transforman en una nueva
tabla que tendrá como clave primaria la
concatenación de los atributos clave de las entidades
que relaciona.
3. REGLAS DE TRANSFORMACIÓN
En las relaciones 1:N se pueden tener dos casos:
Si la entidad que participa con cardinalidad máxima uno lo
hace también con cardinalidad mínima uno, entonces se
propaga el atributo de la entidad que tiene cardinalidad
máxima 1 a la que tiene cardinalidad máxima N,
desapareciendo el nombre de la relación. Si existen atributos
en la relación éstos también se propagarán.
Si la entidad que participa con cardinalidad máxima uno lo
hace también cardinalidad mínima cero, entonces se crea
una nueva tabla formada por las claves de cada entidad y los
atributos de la relación. La clave primaria de la nueva tabla
será el identificador de la entidad que participa con
cardinalidad máxima N.
4. REGLAS DE TRANSFORMACIÓN
En el caso de las relaciones 1:1 también pueden darse dos
casos:
Si las entidades poseen cardinalidades (0,1), la relación se
convierte en una tabla.
Si una de las entidades posee cardinalidad (0,1) y la otra (1,1),
conviene propagar la clave de la entidad con cardinalidad
(1,1) a la tabla resultante de la entidad con cardinalidad (0,1).
Si ambas entidades poseen cardinalidades (1,1) se puede
propagar la clave de cualquiera de ellas a la tabla resultante
de la otra.
En el caso de las relaciones N-arias se aplica la misma
regla que para las relaciones N:M
6. REGLAS DE TRANSFORMACIÓN
En este caso la relación “compra” se transforma en
una nueva tabla cuya clave primaria estará formada
por los atributos dni, que es la clave primaria de
cliente, y código, que es la clave primaria de producto.
Además tendrá como campo fecha compra, ya que
este atributo forma parte de la relación.
7. REGLAS DE TRANSFORMACIÓN
El modelo relacional quedaría de la siguiente forma
(en negrita las claves primarias):
CLIENTE( dni, nombre, apellidos)
PRODUCTO( código, descripción)
COMPRAS( dni_cliente, código_producto,
fecha_compra)
8. REGLAS DE TRANSFORMACIÓN
Relaciones 1:N
Veamos ahora el caso de una relación 1:N. En el siguiente
modelo entidad-relación un empleado pertenece a un único
departamento (debe pertenecer a uno obligatoriamente), y un
departamento tiene 1 o más empleados.
9. REGLAS DE TRANSFORMACIÓN
En este caso se propaga el atributo código de
departamento a la tabla EMPLEADO. El modelo
relacional quedaría de la siguiente manera:
EMPLEADO( dni, nombre, salario,
código_departamento)
DEPARTAMENTO( código, nombre, localización)
11. REGLAS DE TRANSFORMACIÓN
En este caso la entidad que participa con cardinalidad
máxima 1, DEPARTAMENTO, también lo hace con
cardinalidad mínima 0, ya que puede haber
empleados que no pertenezcan a ningún
departamento. Así pues, se crea una nueva tabla
formada por dni de EMPLEADO y código de
DEPARTAMENTO. En esta nueva tabla dni de
EMPLEADO será la clave primaria. El modelo
relacional quedaría de la siguiente forma:
13. REGLAS DE TRANSFORMACIÓN
Relaciones 1:1
Veamos ahora el caso de una relación 1:1 a través del siguiente
ejemplo. En el siguiente modelo entidad-relación un equipo de
fútbol tiene a un único presidente y un presidente preside a un
único club de fútbol.
14. REGLAS DE TRANSFORMACIÓN
En este ejemplo, tal y como dicen las reglas, podemos
propagar la clave de cualquier tabla a la tabla
resultante de la otra. Es decir, tenemos dos opciones,
o mover la clave de PRESIDENTE a EQUIPO o mover
la clave de EQUIPO a PRESIDENTE. El modelo
relacional podría quedar de cualquiera de las dos
formas siguientes:
15. REGLAS DE TRANSFORMACIÓN
EQUIPO( código, nombre, año
fundación)
PRESIDENTE( dni, nombre,
código_equipo)
EQUIPO(código, nombre,
año_fundación, dni_presidente)
PRESIDENTE( dni, nombre)