Está en la página 1de 13

Gestin base de datos :

Modelo Relacional (II)


I. Transformacin del Modelo ER al Modelo
Relacional
Como se vio anteriormente la elaboracin de un buen diseo de la base de datos es un
proceso que requiere una serie de fases.
La primera de ella consista en la creacin de un diseo conceptual a partir de los
requerimientos del sistema. A continuacin se genera un modelo lgico que permite
adaptar el modelo inicial al gestor que utilicemos, para finalmente generar el modelo
fsico listo para ser implementado en el Sistema Gestor de Base de Datos (SGBD).
A primera vista se puede observar que con la transformacin de un esquema E/R a un
esquema relacional se pierde semntica puesto que tanto las entidades como las
interrelaciones se transforman en relaciones. Tambin hay prdida de semntica en la
propagacin de clave, donde desaparece incluso la relacin 1:N.
Esta prdida de semntica no implica un peligro para la integridad de la BD, ya que
pueden definirse restricciones de integridad referencial que aseguren la conservacin
de la misma.
Se parte del siguiente diagrama del MER para ilustrar las reglas de transformacin:

Ilustracin 1 Modelo ER entre PERSONA y VIVIENDA


A continuacin se muestra una resea para indicar la representacin del tipo de clave
en el paso a tabla:
Representacin de claves
Primaria:
Externa o fornea:

1. Paso 1: Transformacin de entidades


a) Las entidades normales
Las entidades normales, no, las dbiles, del diagrama ER se transforman en
relaciones (tablas) en el modelo relacional. La tabla se llamar igual que el
tipo de entidad de donde proviene.
Ej: PERSONA (dni, nombre, fecha_na)

b) Las entidades dbiles


Las entidades dbiles del diagrama ER se convierten en relaciones en el modelo
relacional, con todos sus atributos simples. Se incluye como clave externa en
esta relacin la clave primaria de la relacin que representa a la entidad
propietaria de la entidad dbil. La clave primaria de la relacin se formar con
esta clave externa ms la clave parcial de la entidad dbil. La clave
identificadora queda as resuelta.
2

Para esta transformacin en concreto se parte del siguiente diagrama MER:

Ilustracin 2 Modelo ER entre PLANTA y la entidad dbil CAMA

Ej. PLANTA (num_planta, capacidad)


CAMA (num_cama, num_planta)

Paso 2: Transformacin de atributos de entidades


Cada atributo de una entidad se transforma en una columna de la relacin a la que ha
dado lugar la entidad.

a) Los atributos simples


En el diagrama ER se convierten en atributos o columnas en la tabla, los
cuales tienen permitido tomar valores nulos, a no ser que se indique lo
contrario (NOT NULL).

b) Los atributos compuestos en el diagrama ER


Se convierten en tantos atributos/columnas como componentes simples
tengan.

c) Los atributos identificadores principales


Pasan a ser la (o las) clave primaria de la relacin. Si la clave elegida es
compuesta, en la relacin la clave ser el conjunto de atributos
correspondientes a sus componentes simples.

d) Los atributos multivaluados


Se convierten en una nueva relacin o tabla cuya clave estar formada por
la concatenacin de la clave de la relacin que se encuentra y el nombre del
atributo.

3. Paso 3 Transformacin de interrelaciones


Por cada vnculo binario N:M ( N:N) del diagrama ER
Se crea una nueva relacin que tendr como clave primaria la
concatenacin de los atributos identificadores principales de los tipos de
entidad que asocia. Cada uno de los atributos que forman la clave primaria
de esta relacin constituyen una clave ajena respecto a cada una de las
tablas donde este atributo es clave primaria.Otra caracterstica que
debemos recoger en esta transformacin son las cardinalidades mxima y
mnima de cada una de las entidades que participan en la relacin. La
cardinalidad mnima se transforma mediante la admisin o no de valores
nulos en la entidad que se propaga su AIP (atributo identificador principal) y
la mxima mediante la especificacin de restricciones o aserciones.
Ej. Suponiendo que la relacin del ejemplo fuera N:M
PERSONA (dni, nombre, fecha_na)
VIVIENDA (direccion, m2)
TIENE (dni, direccion, fecha_compra)

Por cada vnculo binario 1:N del diagrama ER


Existen dos soluciones:

La clave primaria de la relacin que representa a la entidad del lado


1 pasa como clave externa a la relacin que representa a la entidad
del lado N. Si el vnculo tiene atributos, estos van a la relacin del
lado N. De esta forma desaparece el nombre de la relacin. Ser la
opcin utilizada en caso de que la relacin no tenga atributos o
tenga muy pocos.

Ej. Suponiendo que la relacin del ejemplo fuera N:1


4

PERSONA (dni, nombre, fecha_na, direccin, fecha_compra)


VIVIENDA (direccion, m2)

Formar una nueva relacin formada por los campos de las claves
principales de las entidades que intervienen en la interrelacin junto
con los atributos de la interrelacin. En este caso la clave primaria
ser la formada por los campos de la clave de la entidad que est en
el lado de la N.

Ej. Suponiendo que la relacin del ejemplo fuera N:1


PERSONA (dni, nombre, fecha_na)
VIVIENDA (direccion, m2)
TIENE (dni, direccion, fecha_compra)

Por cada vnculo binario 1:1 del diagrama ER


Se considera un caso particular de las interrelaciones con tipo de
correspondencia 1:N. No hay una regla fija para su transformacin,
pudindose crear una nueva tabla o transformarla mediante una
propagacin de clave.
Casos:

Si las entidades que se asocian poseen cardinalidades (0,1),


entonces se puede propagar la clave de cualquiera de ellas a la otra
tabla, teniendo en cuenta los accesos ms frecuentes y prioritarios a
los datos de las tablas.

Ej. Suponiendo que la relacin del ejemplo fuera 1:1 (con cardinalidades
0,1)
PERSONA (dni, nombre, fecha_na, direccin, fecha_compra)
VIVIENDA (direccion, m2)

Si una de las entidades que participa en la relacin posee


cardinalidad (0,1) mientras que en la otra es (1,1), conviene
propagar la clave de la entidad con cardinalidad (1,1) a la tabla
resultante de la entidad de cardinalidades (0,1), con el fin de evitar
que aparezcan valores nulos.

Ej. Suponiendo que la relacin del ejemplo fuera 1:1 (con cardinalidades
0,1 hacia PERSONA y 1,1 hacia VIVIENDA)
PERSONA (dni, nombre, fecha_na, direccin, fecha_compra)
VIVIENDA (direccion, m2)

En el caso de que ambas entidades presenten cardinalidades (1,1),


ocurrira un caso similar al primero; se puede propagar la clave de
cualquiera de ellas a la tabla resultante de la otra, teniendo en
cuenta en este caso los accesos ms frecuentes y prioritarios a los
datos de las tablas.

Ej. Suponiendo que la relacin del ejemplo fuera 1:1 (con cardinalidades
1,1)
PERSONA (dni, nombre, fecha_na, direccin, fecha_compra)
VIVIENDA (direccion, m2)

Por cada vnculo n-ario (n>2) del diagrama ER , se crea una


nueva relacin. Se incluyen en ella como atributos de clave externa los
atributos clave primaria de cada una de las relaciones que representan a las
entidades que participan en el vnculo. Si el vnculo tiene atributos, estos
van a la relacin creada. La clave primaria de la nueva relacin es la
combinacin de las claves externas.
A partir del siguiente esquema para una relacin ternaria, se tienen los supuestos:

Ilustracin 3 Modelo ER de una relacin ternaria

Si existen 2 ms N se genera una nueva tabla (adems de las ya


existentes: CLIENTE, CUENTA y SUCURSAL):
6

N:N:1

TIENE (num_cliente, num_cuenta, num_sucursal)

N:N:N

TIENE (num_cliente, num_cuenta, num_sucursal)

Si solo hay una N o menos se le hace el mismo tratamiento que las


binarias (no generando una tabla para la relacin):

N:1:1 (en este caso se migran hacia el lado de la N)

CLIENTE (num_cliente, num_cuenta, num_sucursal)

Paso 4.- Transformacin de la dimensin


temporal
Es habitual que ciertas interrelaciones incorporen atributos de carcter temporal y
que adems estos sean multivaluados.
Un ejemplo tpico es el de la interrelacin que vincula a los clientes con las
habitaciones de un hotel ya que estos se han podido alojar en ms de una ocasin
en la misma habitacin, con lo que el campo fecha_entradasera multivaluado. En
este caso la tabla generada estar formada por los campos dni, num_habitacion y
fecha_entrada, que sern tambin los que forman la clave primaria.
Cuando esto ocurre la interrelacin se transforma en una nueva tabla cuyos
campos sern las claves de las entidades relacionadas y los campos propios de la
relacin, mientras que la clave ser la fomada por las claves de las entidades y, en la
mayora de los casos, uno o varios de los campos temporales.
Ej. HOSPEDA (dni, num_habitacion, fecha_entrada)

Paso 5.- Transformacin de relaciones reflexivas


A partir del siguiente diagrama existen dos soluciones:

Ilustracin 4 Modelo ER de relacin reflexiva

1:N (N del lado del rol contenido)


OBJETO (cod_objeto_contenido, cod_objeto_contenedor, dimension)

N:N
OBJETO (cod_objeto, dimension)
CONTIENE (cod_objeto_contenido, cod_objeto_contenedor)

6. Paso 6.- Transformacin de Jerarquas de Tipos y


Subtipos
En general se puede dar tres posibilidades:

Englobar todos los atributos de la entidad y sus subtipos en una sola


relacin. El inconveniente es que si los subtipos participan en relaciones
(1:N) se tiene que garantizar que el supertipo pueda ser de un subtipo o de
otra de forma indiferente.

Considerar las relaciones distintas para cada subtipo, que contengan


adems los atributos comunes y eliminar el supertipo. Cuando la ISA es
parcial no se puede utilizar, no se cumplen todos los subtipos. En el caso de
que sean exclusivas se necesita utilizar un trigger o disparador para
discernir que un tipo no sea de otro tipo.

Crear una relacin para el supertipo y tantas relaciones como subtipos


haya, con sus atributos correspondientes. Es la ms utilizada. Los subtipos
se transforman en relaciones dbiles respecto al supertipo, aadindoseles

la clave primaria del supertipo. Se les suele poner un atributo tipo para
distinguirlas, as se mejora el rendimiento al hacer joins. Si hay muchas
consultas sobre el supertipo ser mucho ms cmodo.
Si es inclusiva, el tipo forma parte de la clave primaria.
A continuacin se representa una ISA de entidades seguros, de tal forma
que heredan de la misma el seguro de hogar, de vida y de automvil:
-

SEGURO(cod_seguro, prima, tipo, )

SEGURO_HOGAR (cod_seguro, contenido, continente, riesgoAnexo,


)

SEGURO_VIDA (cod_seguro, edad, profesion, cobertura)

SEGURO_AUTOMOVIL (cod_seguro, coche, anios, edad, cobertura,


)

Test
1. En la siguiente tabla: alumno (dni, num_expediente, num_seguridad_social,
nombre, apellidos, direccin, telfono)
a. dni, num_expediente, num_seguridad_social y nombre son consideradas
claves candidatas.
b. nombre podra ser clave primaria en la relacin.
c.

Si selecciono el num_expediente como primaria, las claves alternativas


seran el dni y el num_seguridad_social.

d. num_expediente, apellidos, direccin o telfono podran considerarse


superclaves de la relacin.
2. Al transforma la siguiente relacin ternaria al Modelo Relacional, qu
atributos formaran parte de la clave?

a. PK_A, PK_B y PK_C


b. PK_A, PK_B
c.

PK_A, PK_C

d. PK_B, PK_C
3. En la transformacin al Modelo Relacional del siguiente Esquema E/R
empleando propagacin de clave, indicar cul de las siguientes afirmaciones
es cierta:

10

a. Se genera una nueva tabla PAGA cuya clave primaria es la combinacin de


las claves primarias de las entidades que interrelaciona, y tiene
adicionalmente el atributo fecha.
b. Se genera una nueva tabla PAGA cuya clave primaria es la combinacin de
las claves primarias de las entidades que interrelaciona, y el atributo fecha.
c. Se migrara la clave primaria de la entidad CLIENTE a FACTURA como clave
externa y el atributo fecha como clave primaria.
d. Se migrara la clave primaria de la entidad CLIENTE a FACTURA como clave
externa y el atributo fecha tambin de la misma forma que se encuentra
representado.
4. Seala la incorrecta a la hora de representar jerarquas:
a. Se permite englobar todos los atributos de la entidad y sus subtipos en una
sola relacin.
b. Se pueden considerar las relaciones distintas para cada subtipo, que
contengan adems los atributos comunes y eliminar el supertipo
c. Una opcin es crear una relacin para el supertipo y tantas relaciones como
subtipos haya, con sus atributos correspondientes.
d. Si la relacin es solapada, no es posible su representacin en el SGBD.
5. Qu afirmacin es cierta acerca de las relaciones reflexivas?:
a. Las relaciones reflexivas implican una clave fornea del lado del objeto
contenedor.
b. Las relaciones reflexivas implican siempre una clave fornea del lado del
objeto contenido.
c. Las relaciones reflexivas generan dos tablas, una para el contenedor y otra
para el contenido.
d. No es posible representar las relaciones reflexivas.
6. Escoge la opcin correcta en cuanto a clave primaria para representar los
distintos alojamientos de un cliente en un hotel:
a. dni, num_habitacion, fecha_entrada
b. dni, num_habitacion, fecha_entrada
c. dni, num_habitacion, fecha_entrada
d. dni, num_habitacion, fecha_entrada
11

7. Seala la opcin incorrecta en relaciones 1:1:


a.

Ambas entidades presenten cardinalidades (1,1) se puede propagar la clave


a cualquiera de ellas.

b. Si una entidad posee cardinalidad (1,1) y la otra (0,1), conviene propagar la


clave de la entidad con cardinalidad (1,1) a la tabla resultante de la entidad
de cardinalidades (0,1).
c.

Si las entidades que se asocian poseen cardinalidades (0,1), entonces se


puede propagar la clave de cualquiera de ellas a la otra tabla

d. Nunca generan una tabla intermedia.


8. Seala la opcin incorrecta en relaciones 1:N:
a. Existen dos soluciones posibles.
b. Una solucin consiste en que la clave primaria de la relacin

que

representa a la entidad del lado 1 pasa como clave externa a la relacin


que representa a la entidad del lado N.
c. Formar una nueva relacin formada por los campos de las claves
principales de las entidades que intervienen en la interrelacin junto con
los atributos de la interrelacin, siendo la clave primaria la formada por los
campos de la clave de la entidad que est en el lado de la N.
d. Formar una nueva relacin formada por los campos de las claves
principales de las entidades que intervienen en la interrelacin junto con
los atributos de la interrelacin, siendo la clave primaria la formada por los
campos de la clave de la entidad que est en el lado de la 1.
9. En cuanto a la transformacin de atributos:
a. Los atributos simples en el diagrama ER se convierten en atributos o
columnas en la tabla que no pueden tomar valor nulo.
b. Los atributos compuestos se transforman en una nica columna en la tabla.
c. Los atributos multivaluados se convierten en una nica columna en la
tabla.
d. Los atributos identificadores principales pasan a ser la (o las) clave primaria
de la relacin.
10. Seala la correcta en cuanto a entidades dbiles
a. Se convierten en relaciones en el modelo relacional, obviando sus atributos.
12

b. Se incluye como clave externa en esta relacin la clave primaria de la


relacin que representa a la entidad propietaria de la entidad dbil.
c. La clave primaria de la relacin se formar nicamente con la clave externa.
d. No existe una representacin en el MR para las entidades dbiles.

Respuestas:
1 c/ 2 d/3 d/4 d/5 a/6 c/7 d/8 d/9 d/10 b

13

También podría gustarte