Vous êtes sur la page 1sur 6

Sistemas de Bases de Datos I Prof. Nunzio N. Savino V. Tema Nro.

7
CI3315
Enero-Abril 2002
Traduccin Extensiones ER-Relacional

Pgina 1 de 6
Traduccin de las Extensiones del Modelo
Entidad-Interrelacin al Modelo Relacional

En el tema anterior se estudiaron los esquemas de traduccin de las estructuras del modelo
ER. En este tema se utilizar una tcnica similar para especificar las reglas de traduccin de
las extensiones del modelo ER que se han estudiado a un esquema relacional. Para cada tipo
de estructura o restriccin implcita agregada al modelo ER se presentar su transformacin
al modelo relacional.

TRATAMIENTO DE INTERRELACIONES SUBCLASE/SUPERCLASE.

Sea B una subclase de la superclase A. En este caso B se traduce como una relacin R
B
que
posee como atributos los resultantes de transformar los atributos de B ms la clave primaria
de R
A
.
Para determinar las claves de R
B
deben considerarse dos posibles escenarios:

La subclase B no posee claves. En este caso R
B
posee una nica clave candidata que es la
clave primaria que fue copiada de R
A
. En este caso la clave primaria de R
B
ser esta
clave candidata.

A
B
C
A
At
B
At
A
R
A
(T(C
A
),T(At
A
))
R
B
(T(C
A
),T(At
B
))
RA


La subclase B posee n claves diferentes. En este caso R
B
posee n+1 claves candidatas que
son las resultantes de traducir las claves de B ms la clave primaria que fue copiada de
R
A
. Cualquier de estas claves podr ser considerada como clave primaria para R
B
.

A
B
C
A
At
B
At
A
R
A
(T(C
A
),T(At
A
))
R
B
(T(C
A
),T(C
1
B
),...,T(C
n
B
),T(At
B
))
RA
C
n
B
C
2
B
C
1
B
R
B
(T(C
1
B
),T(C
2
B
),...,T(C
n
B
),T(C
A
),T(At
B
))
RA
R
B
(T(C
n
B
),T(C
1
B
),...,T(C
n-1
B
),T(C
A
),T(At
B
))
RA

Sistemas de Bases de Datos I Prof. Nunzio N. Savino V. Tema Nro. 7
CI3315
Enero-Abril 2002
Traduccin Extensiones ER-Relacional

Pgina 2 de 6

En cualquiera de los casos, la clave primaria copiada de R
A
en R
B
ser clave fornea de R
B

hacia R
A
.

En el caso de que la interrelacin subclase/superclase est definida por atributos o por
predicados ser necesario definir una restriccin explcita que permita indicar la
pertenencia de una instancia de la superclase a la subclase en base al valor del atributo
discriminante o al valor de verdad obtenido por la evaluacin del predicado. En este ltimo
caso se har necesario transformar el predicado definido sobre el modelo ER a un predicado
semnticamente equivalente pero sobre el modelo relacional.

TRATAMIENTO DE ESPECIALIZACIONES/GENERALIZACIONES.

Si tenemos una especializacin/generalizacin de las clases C
1
,...,C
n
en la clase C, entonces
podemos escoger una de las posibles cuatro transformaciones:

OPCIN 1:
1. Crear una relacin R
C
con las convenciones seguidas para la transformacin
de entidades ya vista.
2. Crear una relacin R
ci
para cada clase C
i
de la
especializacin/generalizacin. Cada R
ci
tendr como atributos los
resultantes de transformar los atributos de C
i
ms los atributos que
forman la clave primaria de R
C
. Estos atributos sern la clave primaria de
R
ci
y a su vez sern claves forneas para R
C
. Ntese que an cuando alguna
de las subclase C
i
posean clave estas no sern consideradas como clave
primaria de las relaciones resultantes de traducir estas subclases. Esto se
hace con la finalidad de homogeneizar la forma de representar las
subclases de la generalizacin/especializacin como parte de la superclase
de la misma.

Esta traduccin NO representa las restricciones de universalidad y totalidad. Estas deben
expresarse como restricciones explcitas del esquema. Dependiendo de cada caso se tendr
que:

Si la generalizacin/especializacin traducida es parcial y solapada no se requieren
restricciones.
Si la generalizacin/especializacin traducida es total y solapada deber expresarse el
hecho de que no puede ocurrir que exista una tupla en la relacin que representa la
superclase que no sea referenciada por alguna tupla de alguna de las relaciones que
resultan de la traduccin de las subclases de la generalizacin/especializacin. Utilizando
la funcin refer esta restriccin puede expresarse como:
( ) 1) t) , refer(R ... t) , refer(R Rc t t Cn C1 + + (

Si la generalizacin/especializacin traducida es parcial y disjunta deber expresarse el
hecho de que no puede ocurrir que exista una tupla en la relacin que representa la
Sistemas de Bases de Datos I Prof. Nunzio N. Savino V. Tema Nro. 7
CI3315
Enero-Abril 2002
Traduccin Extensiones ER-Relacional

Pgina 3 de 6
superclase que sea referenciada por ms de una tupla de alguna de las relaciones que
resultan de la traduccin de las subclases de la generalizacin/especializacin. Utilizando
la funcin refer esta restriccin puede expresarse como:
( ) 1) t) , refer(R ... t) , refer(R Rc t t Cn C1 + + (

Si la generalizacin/especializacin traducida es total y disjunta deber expresarse el
hecho de toda tupla en la relacin que representa la superclase debe sea referenciada
por exactamente una tupla de alguna de las relaciones que resultan de la traduccin de
las subclases de la generalizacin/especializacin. Utilizando la funcin refer esta
restriccin puede expresarse como:
( ) 1) t) , refer(R ... t) , refer(R Rc t t Cn C1 = + + (

OPCIN 2:

Crear una relacin R
ci
para cada clase C
i
de la especializacin/generalizacin. Cada R
ci

tendr como atributos los resultantes de transformar los atributos de C
i
ms los atributos
transformados de C. La clave primaria de R
Ci
estar compuesta por los atributos
transformados de la clave de C. Ntese que no se cre una relacin para C. En tal sentido por
esta transformacin ningn R
ci
adquiere claves forneas excepto aquellas que pudiera haber
adquirido la relacin resultante de traducir C si se hubiera generado tal relacin.

Ntese que esta transformacin asume que la abstraccin es total. En tal sentido
puede ser usada slo en estos casos.

OPCIN 3:

Crear una nica relacin R
C
que tendr como atributos los atributos transformados de C
ms los atributos transformados de cada C
i
ms un atributo TIPO con dominio de valores
{C
1
,C
2
,...,C
n
}. La clave primaria de R
C
esta constituida por los atributos transformados de
la clave de C. En este caso todos los atributos transformados de cada C
i
pueden tener
valor nulo y se requiere una restriccin explcita para controlar la pertenencia de
atributos a subclases de acuerdo al valor del atributo TIPO.

Ntese que esta transformacin funciona para generalizaciones/especializaciones
disjuntas y totales. Para representar parcialidad, se requiere un nuevo valor para el
atributo TIPO y debe existir una restriccin en la cual si TIPO=Otro entonces todos los
atributos heredados de las C
i
deben tener valor nulo.

Adicionalmente, es importante destacar que la complejidad de esta estrategia de
traduccin aumenta si existen interrelaciones especficas en las que participan las
subclases ya que si la traduccin de estas interrelaciones implican la copia de claves
forneas en RC debern considerarse las restricciones explcitas sobre la no-nulidad de
estas claves forneas.

Sistemas de Bases de Datos I Prof. Nunzio N. Savino V. Tema Nro. 7
CI3315
Enero-Abril 2002
Traduccin Extensiones ER-Relacional

Pgina 4 de 6
OPCIN 4:

Crear una nica relacin R
C
que tendr como atributos los atributos transformados de C
ms los atributos transformados de cada C
i
ms n atributos con posibles valores nulos y
de tipo lgico. La clave primaria de R
C
esta constituida por los atributos transformados
de la clave de C. Los n nuevos atributos indicarn si una tupla de R
C
pertenece a una de las
subclases. Se requieren restricciones de integridad para representar la condicin de
pertenencia de una clase y el tipo de valores (nulos o no) en los atributos de la subclase
respectiva. Esta representacin permite representar generalizaciones/especializaciones
solapadas. La totalidad o parcialidad se puede restringir a travs de una restriccin
explcita: Si es total no puede ocurrir en una tupla que los valores de los discriminantes
sean todos nulos. Si es parcial esto puede ocurrir.
Esta representacin tiene como desventaja el requerir de muchas restricciones para
manejar la nulidad de los atributos.

A partir del anlisis anterior es obvio concluir que no tiene sentido conocer diferentes
enfoques para traducir generalizaciones/especializaciones y que basta con aplicar siempre la
OPCIN 1 (la traduccin general) y colocar las restricciones explcitas que permitan
garantizar las restricciones de universalidad y dispersin.

TRATAMIENTO DE CATEGORIZACIONES

Si C es una subclase resultante de categorizar n superclases C
1
,...,C
n
para traducir C ser
necesario conocer previamente la traduccin de las superclases C
1
,...,C
n
, en particular cual es
la clave primaria de cada una de las relaciones resultantes de traducir estas superclases.

Supongamos que cada una de las relaciones R
C1
,...,R
Cn
resultantes de traducir las superclases
C
1
,...,C
n
poseen, cada una, una clave primaria formada por los atributos a
1,1
,...,a
1,m1
para R
C1
,
a
2,1
,...,a
2,m2
para R
C2
y as sucesivamente hasta a
n,1
,...,a
n,mn
para R
Cn.
Para obtener la relacin
resultante de traducir la subclase C se deben considerar dos casos:

C posee k claves. En este caso la traduccin de una de las claves de C constituir la clave
primaria de R
C
y cada una de las traducciones del resto de claves ser considerada como
clave alterna de R
C
. Adicionalmente, R
C
poseer n claves forneas cada una de las cuales
referenciar a una de las relaciones resultantes de traducir las superclases de la
categorizacin. Todos los atributos que componen las claves forneas de R
C
hacia
R
C1
,...,R
Cn
podrn admitir el valor nulo, como condicin necesaria para poder garantizar la
nocin de herencia selectiva propia de la categorizacin. En este caso la traduccin de R
C

se muestra en la siguiente figura

Sistemas de Bases de Datos I Prof. Nunzio N. Savino V. Tema Nro. 7
CI3315
Enero-Abril 2002
Traduccin Extensiones ER-Relacional

Pgina 5 de 6
C
1
C
2
C
n
U
C At
C
R
C1
(a
1,1
,...,a
1,m1
,...)
R
C2
(a
2,1
,...,a
2,m2
,...)
R
Cn
(a
n,1
,...,a
n,mn
,...)
C
1
C
k
R
C
(T(C
k
),T(C
1
),...,T(C
k-1
),T(At
C
),a
1,1
,...,a
1,m1
,a
2,1
,...,a
2,m2
,...,a
n,1
,...,a
n,mn
)
R
C1
R
C2
R
Cn
R
C
(T(C
1
),...,T(C
k
),T(At
C
),a
1,1
,...,a
1,m1
,a
2,1
,...,a
2,m2
,...,a
n,1
,...,a
n,mn
)
R
C1
R
C2
R
Cn

C no posee claves. En este caso se deber crear una clave postiza que constituir la
clave primaria de R
C
. Adicionalmente R
C
poseer n claves forneas cada una de las cuales
referenciar a una de las relaciones resultantes de traducir las superclases de la
categorizacin. Todos los atributos que componen las claves forneas de R
C
hacia
R
C1
,...,R
Cn
podrn admitir el valor nulo, como condicin necesaria para poder garantizar la
nocin de herencia selectiva propia de la categorizacin. En este caso la traduccin de R
C

se muestra en la siguiente figura

C
1
C
2
C
n
U
C At
C
R
C1
(a
1,1
,...,a
1,m1
,...)
R
C2
(a
2,1
,...,a
2,m2
,...)
R
Cn
(a
n,1
,...,a
n,mn
,...)
R
C
(Postiza,T(At
C
),a
1,1
,...,a
1,m1
,a
2,1
,...,a
2,m2
,...,a
n,1
,...,a
n,mn
)
R
C1
R
C2
R
Cn


En cualquiera de los dos casos ser necesario agregar una restriccin explcita que permita
representar completamente la herencia selectiva. Esta restriccin puede escribirse como

Sistemas de Bases de Datos I Prof. Nunzio N. Savino V. Tema Nro. 7
CI3315
Enero-Abril 2002
Traduccin Extensiones ER-Relacional

Pgina 6 de 6
( )
( )
( )




null a t null a t
null a t null a t
null t null a t
R t t
n m n n
m
m a
C
, 1 ,
, 2 1 . 2
1 , 1 1 , 1
. .
. .
. .
2
K
M
K
K


Adicionalmente, si la categorizacin es total se deber representar el hecho de que toda
tupla de cualquiera de las relaciones R
C1
,...,R
Cn
deber tener una tupla en R
C
que la referencie.
Esta situacin puede ser representada a travs de n restricciones explcitas, cada una de las
cuales permite representar la condicin anterior en cada una de las n relaciones resultantes
de traducir las superclases de la categorizacin. Estas restricciones tienen la forma general:

( ) 1 ) , ( = t R refer R t t C Ci

donde R
Ci
es la relacin resultante de traducir la superclase C
i

Vous aimerez peut-être aussi