You are on page 1of 47

1

Transformacin del Modelo


ERE al Modelo Relacional
Universidad de los Andes
Demin Gutierrez
Enero 2010
2
Transformaci n del Model o ERE
al Model o Rel aci onal

or !ue es necesario transformar del modelo ERE al


modelo Relacional"
#u$ares
De%artamento
&di$o
'om(re
&liente
R)* 'om(re
+ervicio
presta
&di$o 'om(re
*ec,a
' M
Em%leado
&-dula
Tel-fono
'om(re
pertenece
'
1
De%artamento .&di$o/ 'om(re0
&liente .R)*/ 'om(re0
+ervicio .&di$o/ 'om(re0
Em%leado .&-dula/ 'om(re/ Tel-fono/ &odD%to0
resta .&dD%to/ &od+erv/ R)*/ *ec,a0
1ase de Datos
Relacional
As como existe una relacin
entre una clase de un diagrama
de clases y el cdigo, tambin
existe una relacin entre una
entidad (o un vnculo) de un
diagrama ERE o una clase y el
modelo relacional
3
Por que es Necesari a l a Transformaci n?

El modelo ERE es un modelo de datos


conce%tual de alto nivel2

*acilita las tareas de dise3o conce%tual de


(ases de datos2

Es necesario traducirlo a un es!uema !ue


sea com%ati(le con un +G1D2

El Modelo Relacional es utilizado %or la


ma4or5a de los +G1D e6istentes en el
mercado2
4
Transformaci n del Model o ER
al Model o Rel aci onal

Modelo Entidad Relacin .Bsico0/


transformacin al modelo Relacional de7

Entidades .no d-(iles0

Entidades D-(iles

85nculos 17'

85nculos 171

85nculos M7'

Atri(utos Multivaluados

85nculos n9arios
Definir una serie
de es!uemas de
relaciones
e!uivalentes
5
Transformaci n de Enti dades
(Paso 1)
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono0
& Atri(uto com%uesto Nombre
Em%leado
&-dula
Tel-fono 'om(re
rim'om(re
rimA%ellido
+e$A%ellido
6
Transformaci n de Enti dades
(Paso 1)
En caso de !ue ms de un atri(uto sea %arte de la clave %rimaria7
ro4ecto .Nmero_royecto, Nombre_royecto/ Descri%cin:ro4ecto0
& &om%uesta
ro4ecto
Numero_Proyecto Descri%cin:ro4ecto
Nombre_Proyecto
7
Transformaci n de Enti dades
(Paso 1)

ara cada ti%o normal .no d-(il0 de entidad E del


modelo ERE se define una relacin R2

En la relacin R se inclu4en todos los atri(utos


sim%les de E2

+e inclu4en en R los atri(utos sim%les !ue sean


com%onentes de los atri(utos com%uestos2

+e eli$en todos los atri(utos clave de E como


atri(utos claves de R2
8
Transformaci n de Enti dades Dbi l es
(Paso )
ro4ecto
';mero:ro4ecto Descri%cin:ro4ecto
'om(re:ro4ecto
&di$o:<ito Descri%cin:<ito
*ec,a:<ito
Hito
es_parte_de
' 1
<ito .Nmero_royecto, Nombre_royecto, !digo_"ito/ *ec,a:<ito/ Descri%cin:<ito0
ro4ecto .';mero:ro4ecto/ 'om(re:ro4ecto/ Descri%cin:ro4ecto0
9
Transformaci n de Enti dades Dbi l es
(Paso )
<ito .Nmero_royecto, Nombre_royecto, !digo_"ito/ *ec,a:<ito/ Descri%cin:<ito0
ro4ecto .';mero:ro4ecto/ 'om(re:ro4ecto/ Descri%cin:ro4ecto0
odr5a verse como una
com%osicin tam(i-n
10
Transformaci n de Enti dades Dbi l es
(Paso )

ara cada entidad d-(il D del modelo ERE 4 su


res%ectivo v5nculo con su entidad %ro%ietaria E se
define una relacin R2

#a relacin R tiene todos los atri(utos de la entidad


d-(il D ms los atri(utos !ue conforman la clave
%rimaria de la entidad %ro%ietaria E2

#a clave %rimaria de la relacin R est formada %or


los atri(utos de la clave %rimaria de la entidad
%ro%ietaria E ms los atri(utos de la clave %arcial
de D2
11
Transformaci n de !" ncul os 1# N
(Paso $)
De%artamento .';mero:D%to/ 'om(re:D%to0
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono/ Numero_Dpto0
pertenece_a
' 1
Em%leado
&-dula
Tel-fono 'om(re
rim'om(re
rimA%ellido
+e$A%ellido
De%artamento
'umero:D%to 'om(re:D%to
12
Transformaci n de !" ncul os 1# N
(Paso $)
De%artamento .';mero:D%to/ 'om(re:D%to0
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono/ Numero_Dpto0
13
Transformaci n de !" ncul os 1# N
(Paso $)

ara cada vinculo 17' entre dos entidades .no


d-(iles0 E 4 * donde * est del lado ' del v5nculo/
se a3ade a la relacin corres%ondiente a la entidad
* de al$una de las entidades la clave %rimaria de la
otra entidad relacionada2
14
Transformaci n de !" ncul os 1# 1
(Paso %)
tiene_jefe
1 1
Em%leado
&-dula
Tel-fono 'om(re
rim'om(re
rimA%ellido
+e$A%ellido
De%artamento
'umero:D%to 'om(re:D%to
De%artamento .';mero:D%to/ 'om(re:D%to/ !dula_#e$e0
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono0
15
Transformaci n de !" ncul os 1# 1
(Paso %)
De%artamento .';mero:D%to/ 'om(re:D%to/ !dula_#e$e0
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono0
16
Transformaci n de !" ncul os 1# 1
(Paso %)

ara cada vinculo 171 entre dos entidades .no


d-(iles0 E 4 * se a3ade a la relacin de al$una de
las entidades/ a modo de clave fornea/ la clave
%rimaria de la otra entidad relacionada2

+e es%ecifica una restriccin !ue define !ue la


clave fornea a3adida de(e ser ;nica .no se %uede
re%etir/ %or!ue de ,acerlo entonces ser5a una
relacin 17'
17
Tra(a=a:en .Cdula, Nmero_Proyecto/ <oras0
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono0
ro4ecto .';mero:ro4ecto/ 'om(re:ro4ecto0
Transformaci n de !" ncul os M# N
(Paso &)
trabaja_en
' M
Em%leado
&-dula
Tel-fono 'om(re
rim'om(re
rimA%ellido
+e$A%ellido
ro4ecto
'umero:ro4ecto 'om(re:ro4ecto <oras
%!uantas veces
&uede un
em&leado
traba'ar en un
&royecto(
) bien,
%!u*ntos
registros &uedo
tener en
+raba'a_En &ara
un mismo
em&leado y
&royecto(
18
Transformaci n de !" ncul os M# N
(Paso &)
Tra(a=a:en .Cdula, Nmero_Proyecto/ <oras0
Em%leado .&-dula/ rim'om(re/ rimA%ellido/ +e$A%ellido/ Tel-fono0
ro4ecto .';mero:ro4ecto/ 'om(re:ro4ecto0
19
Transformaci n de !" ncul os M# N
(Paso &)
estacionado_en
' M
Avion
+i$las
eso:Ma6 'um:Motores
<an$ar
&di$o U(icacin
*ec,a:Ent *ec,a:+al
%!uantas veces &uede un Avin estar
estacionado en un ,angar(
) bien, %!u*ntos registros &uedo tener en
Estacionado_En &ara un mismo Avin y
"angar(
20
Transformaci n de !" ncul os M# N
(Paso &)

ara cada vinculo M7' entre dos entidades se crea


una relacin R2

#os atri(utos de la relacin R sern las claves


%rimarias de las entidades relacionadas mas los
atri(utos %ro%ios del vinculo2

#a clave %rimaria de la relacin R ser el con=unto


de todos los atri(utos !ue sean claves %rimarias de
las entidades relacionadas2
21
#u$ares:D%tos .'umero:D%to/ #u$ar0
Transformaci n de 'tri butos Mul ti (al uados
(Paso ))
De%artamento .';mero:D%to/ 'om(re:D%to0
-ugares
De%artamento
'umero:D%to
'om(re:D%to
22
Atri(uto
Multivaluado >
&om%uesto
Gru%o
Re%etitivo
Estudiante Cdula Nombre Apellido Curso
9.644.667 Pedro BD
9.644.667 Pedro I S
14.126.112 apata BD
14.126.112 apata I A
Pre!
Pre!
"ilberto
"ilberto
Estudiante Cdula Nombre Apellido Curso
9.644.667 Pedro BD# I S
14.126.112 apata BD# I A
Pre!
"ilberto
Transformaci n de 'tri butos Mul ti (al uados
(Paso ))
Estudiante Cdula Nombre Apellido
9.644.667 Pedro
14.126.112 apata
Pre!
"ilberto
Cdula Curso
9.644.667 BD
9.644.667 I S
14.126.112 BD
14.126.112 I A
EstCurso
23
Transformaci n de 'tri butos Mul ti (al uados
(Paso ))

ara cada atri(uto multivaluado se crear una


relacin R2

#os atri(utos de la relacin R sern la clave


%rimaria de las entidad a la cual %ertenece el
atri(uto multivaluado ms el .o los0 atri(utos
corres%ondientes al atri(uto multivaluado2

#a clave %rimaria de la relacin R ser la clave


%rimaria de la entidad a la cual %ertenece el
atri(uto multivaluado ms el .o los0 atri(utos
corres%ondientes al atri(uto multivaluado
24
resta .'umero:D%to/ &di$o:+ervicio/ R)*/ *ec,a0
Transformaci n de !" ncul os
n*ari os (+aso ,)
#u$ares
De%artamento
'umero:D%to
'om(re:D%to
&liente
R)* 'om(re:&liente
+ervicio
presta
&di$o:+ervicio 'om(re:+ervicio
*ec,a
' M
ecordar los !"nculos n#arios
pueden ser noci!os para la salud$$$
25
Transformaci n de !" ncul os
n*ari os (+aso ,)
resta .'umero:D%to/ &di$o:+ervicio/ R)*/ *ec,a0
ecordar los !"nculos n#arios
pueden ser noci!os para la salud$$$
26
Transformaci n de !" ncul os
n*ari os (+aso ,)

ara cada vinculo M7' entre tres o ms entidades


se crea una relacin R2

#os atri(utos de la relacin R sern las claves


%rimarias de todas las entidades relacionadas ms
los atri(utos %ro%ios del vinculo2

#a clave %rimaria de la relacin R ser el con=unto


de todos los atri(utos !ue sean claves %rimarias de
todas las entidades relacionadas2
27
Transformaci n del Model o ERE
al Model o Rel aci onal

Modelo Entidad Relacin .%&tendido0/


transformacin al modelo Relacional de7

Generalizacin .o Es%ecializacin0

&ate$orizacin
Definir una serie
de es!uemas de
relaciones
e!uivalentes
28
Transformaci n de una -eneral i .aci n
(Paso /)
ersona
&-dula
'om(re A%ellido
Direccin
?
Em%leado Estudiante rofesor
+alario &arrera
&osto:<ora
E .Entidad adre/
Entidad Generalizada0
E
i
.Entidades
Es%ecializadas0
Usando un dia$rama de clases222
29
Transformaci n de una -eneral i .aci n
(Paso /)
222 o (ien 222
30
Transformaci n de una -eneral i .aci n
(Paso /)
E6isten cuatro estrate'ias %ara transformar una relacin de
$eneralizacin .o es%ecializacin0 al modelo Relacional
31
-eneral i .aci n
(Paso / 0 Estrate1i a 1)

%strate'ia () &rear una relacin R %ara la entidad


%adre E 4 una relacin R
i
%ara cada entidad
es%ecializada E
i
2

#a relacin R tiene todos los atri(utos de la


entidad E2
&ada relacin R
i
tiene todos los atri(utos de la
entidad E
i
corres%ondiente2
Todas las relaciones .tanto R como cada R
i
0
com%arten la misma clave %rimaria de la entidad
%adre E2
32
-eneral i .aci n
(Paso / 0 Estrate1i a 1)
ersona
&-dula
'om(re A%ellido
Direccin
?
Em%leado Estudiante rofesor
+alario &arrera
&osto:<ora
ersona .&-dula/ 'om(re/ A%ellido/ Direccin0
Em%leado .&-dula/ +alario0
rofesor .&-dula/ &osto:<ora0
Estudiante .&-dula/ &arrera0
Esta estrate$ia funciona tanto %ara su(clases !ue
se trasla%an como %ara su(clases dis=untas 4 %ara
es%ecializaciones totales o %arciales
ersona @12ABCCCA/ DedroD/ DerezD/ DAv2 EDF
Em%leado @12ABCCCA/ 2000F
Estudiante @12ABCCCA/ D)n$enier5aDF
33
-eneral i .aci n
(Paso / 0 Estrate1i a )

%strate'ia *) &rear una relacin R


i
%ara cada
entidad es%ecializada E
i
2
&ada relacin R
i
tiene todos los atri(utos de la
entidad E
i
corres%ondiente ms los atri(utos de
la entidad %adre E2
#a clave %rimaria de cada relacin R
i
es la clave
%rimaria de la entidad %adre E2
34
-eneral i .aci n
(Paso / 0 Estrate1i a )
Em%leado .&-dula/ 'om(re/ A%ellido/ Direccin/ +alario0
rofesor .&-dula/ 'om(re/ A%ellido/ Direccin/ &osto:<ora0
Estudiante .&-dula/ 'om(re/ A%ellido/ Direccin/ &arrera0
ersona
&-dula
'om(re A%ellido
Direccin
d
Em%leado Estudiante rofesor
+alario &arrera
&osto:<ora
A%lica %ara
es%ecializaciones
dis=untas 4 totales
35
-eneral i .aci n
(Paso / 0 Estrate1i a $)

%strate'ia +) Utilizar una misma relacin R %ara la


entidad %adre E 4 %ara las entidades
es%ecializadas E
i
2

#a relacin R tiene todos los atri(utos de la


entidad %adre E ms todos los atri(utos todas
las entidades es%ecializadas E
i
2

+e crea un atri(uto adicional !ue define el Gti%oH


de entidad E
i
!ue re%resenta una tu%la en
%articular2

A%lica slo a casos donde las su(clases son


dis=untas2
36
-eneral i .aci n
(Paso / 0 Estrate1i a $)
ersona .&-dula/ 'om(re/ A%ellido/ Direccin/,ipo/ +alario/ &osto:<ora/ &arrera0
Donde ,ipo %uede ser 0 %ara la su(clase Em%leado/ 1 %ara
la su(clase rofesor o 2 %ara la su(clase Estudiante
ersona
&-dula
'om(re A%ellido
Direccin
d
Em%leado Estudiante rofesor
+alario &arrera
&osto:<ora
A%lica solo %ara
es%ecializaciones
dis=untas
@12ABCCCA/ DedroD/ DerezD/ DAv2 ED/0/ 2000/ N-../ N-..F
37
-eneral i .aci n
(Paso / 0 Estrate1i a %)

%strate'ia /) Utilizar una misma relacin R %ara la


entidad %adre E 4 %ara las entidades
es%ecializadas E
i
2 .+imilar a la estrate$ia C02

#a relacin R tiene todos los atri(utos de la


entidad %adre E ms todos los atri(utos todas
las entidades es%ecializadas E
i
2 .+imilar a C0

+e crea un atri(uto (ooleano adicional %or cada


entidad es%ecializada !ue define si una tu%la en
%articular %ertenece dic,a entidad2
38
-eneral i .aci n
(Paso / 0 Estrate1i a %)
ersona .&-dula/ 'om(re/ A%ellido/ Direccin/
%s_%mpleado/ +alario/ %s_Profesor/ &osto:<ora/ %s_%studiante/ &arrera0
#os atri(utos GEs:IH son verdaderos %ara una tu%la si esta
es una la clase es%ecializada de la entidad corres%ondiente
@12ABCCCA/ DedroD/ DerezD/ DAv2 ED/true/ 2000/ true/ B0/ false, N-..F
ersona
&-dula
'om(re A%ellido
Direccin
d
Em%leado Estudiante rofesor
+alario &arrera
&osto:<ora
A%lica %ara
es%ecializaciones
dis=untas 4
trasla%adas
39
Transformaci n de una 2ate1ori .aci n
(Paso 3)
ersona
&-dula
'om(re A%ellido
Direccin
U
&uenta
<a(iente
&om%a35a
Direccin R)*
'om(re
&
1
&
2
1anco
tiene
cuenta
en
Usando un dia$rama de clases222
40
Transformaci n de una 2ate1ori .aci n
(Paso 3)
E6isten dos casos %osi(les al transformar una
relacin de cate$orizacin al modelo Relacional
41
Transformaci n de una 2ate1ori .aci n
(Paso 3 0 2aso 1)

Caso () #as su%erclases de la cate$or5a tienen


diferentes claves %rimarias2

+e crea una relacin R !ue corres%onda a la


cate$or5a 4 se asi$na una clave sustituta
ar(itraria2

+e a3ade la clave sustituta a modo de clave


fornea a cada una de las relaciones Ri !ue
corres%ondan a las su%erclases de la cate$or5a2
&laves %rimarias de las su%erclases no com%ati(les
42
Transformaci n de una 2ate1ori .aci n
(Paso 3 0 2aso 1)
ersona
Cdula
'om(re A%ellido
Direccin
U
&uenta
<a(iente
&om%a35a
Direccin 01
'om(re
&
1
&
2
1anco
tiene
cuenta
en
ersona .&-dula/ 'om(re/ A%ellido/ Direccin/ 0dCuentaHabiente0
&om%a35a .R)*/ 'om(re/ 0dCuentaHabiente0
&uenta<a(iente .)d&uenta<a(iente0
43
Transformaci n de una 2ate1ori .aci n
(Paso 3 0 2aso )

Caso *) #as su%erclases de la cate$or5a tienen la


misma clave %rimaria2

+e crea una relacin R !ue corres%onda a la


cate$or5a 4 se le asi$na como atri(uto de clave
%rimaria la clave com;n a todas las su%erclases
de la cate$or5a2
&laves %rimarias com%ati(les entre las su%erclases
44
Transformaci n de una 2ate1ori .aci n
(Paso 3 0 2aso )
Auto
2atr"cula
MarcaA ModeloA
&olor
U
8e,5culo
Re$istrado
&amin
eso 2atr"cula
Modelo&
&
1
&
2
ersona
%osee
'umE=es
222 o (ien usando un dia$rama de clases 222
45
Transformaci n de una 2ate1ori .aci n
(Paso 3 0 2aso )
222 se transforma al modelo
relacional de la si$uiente forma222
46
-raci as
3racias$
47
Transformaci n de una 2ate1ori .aci n
(Paso 3 0 2aso )
Auto .2atr"cula/ MarcaA/ ModeloA/ &olor0
&amin .2atr"cula/ Modelo&/ 'umE=es/ eso0
8e,5culo:Re$istrado .2atr"cula0
Auto
2atr"cula
MarcaA ModeloA
&olor
U
8e,5culo
Re$istrado
&amin
eso 2atr"cula
Modelo&
&
1
&
2
ersona
%osee
'umE=es

You might also like