Está en la página 1de 14

Departamento de Lenguajes y Sistemas Informticos

E.T.S. Ingeniera Informtica. Universidad de Sevilla


Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es
E.T.S. Ingeniera Informtica

Diseo de bases de datos


Modelo Entidad-Relacin Extendido (EE/R)

Mdulo-I Tema 3

Sevilla, febrero 2007 V 2007.02.1

Pg. 1 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

Indice
1 2 INTRODUCCIN ......................................................................................... 3 ENTIDADES DBILES................................................................................ 3
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 ENTIDAD DBIL EN EXISTENCIA .................................................................................. 3 ENTIDAD DBIL EN IDENTIFICACIN .......................................................................... 3 SUBCLASE/SUPERCLASE ............................................................................................... 4 DIAGRAMAS EE/R ....................................................................................................... 4 HERENCIA DE ATRIBUTOS ............................................................................................ 4 ESPECIALIZACIN ........................................................................................................ 4 GENERALIZACIN ........................................................................................................ 5 CARACTERIZACIN DE LA ESPECIFICACIN/GENERALIZACIN................................... 5 JERARQUA DE GENERALIZACIN/ESPECIALIZACIN .................................................. 7

3 4

AGREGACIN Y ASOCIACIN ................................................................. 8 MAPEO EE/R A RM/B ...............................................................................10


4.1 4.2 HEURSTICA DE MAPEO EE/R A RM/B .....................................................................10 COMPARACIN DEL MAPEO DE JERARQUAS ................................................................13

CASO: EJEMPLO EE/R Y MAPEO A RM/B ............................................14

Pg. 2 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

1 Introduccin
El modelo Entidad-Relacin extendido (EE/R) incluye los conceptos del modelo Entidad-Relacin original (Peter Chen, 1976), e incorpora nuevos conceptos que permiten representar requerimientos ms complejos. Diversos autores (Batini, Markowitz, Shoshani, Teorey, Yang, Fry, ) incorporan extensiones semnticas al modelo original. Se estudiarn en este captulo las caractersticas de las extensiones propuestas en el modelo OOER de Navath-Pillalamarri, incluidas en la referencia bibliogrfica del programa ([ElMasri-Navath2004] Fundamentos de Bases de Datos: Elmasri-Navath, 4Edicin, 2004 Addison Wesley). Los modelos EE/R suelen restringir la asociacin de atributos a las interrelaciones, restringiendo dicha asignacin slo a entidades y a nuevas primitivas semnticas. Se estudiarn los conceptos de subclase/superclase para representar jerarquas de generalizacin/especializacin, as como las primitivas semnticas agregacin y asociacin.

2 Entidades dbiles
2.1 Entidad dbil en existencia
Una entidad dbil se representa con un rectngulo con doble trazo.
a# 0:M PEDIDO p# 1 Realiza

ALMACN

Fig. 1. Entidad dbil en existencia Toda entidad dbil (weak entity) es dbil en existencia. Ej.: en un almacn (a#) se realizan distintos pedidos y un pedido queda identificado por el cdigo de pedido (p#). La entidad pedido es dbil en existencia.

2.2 Entidad dbil en identificacin


Una entidad dbil en identificacin, adems, se representa con un rombo con doble trazo.
a# 0:M PEDIDO Fecha 1 Realiza Hora

ALMACN

Fig. 2. Entidad dbil en identificacin Toda entidad dbil en identificacin tambin lo es en existencia. La diferencia estriba en que los atributos de la entidad dbil no son suficientes para identificarla. Ej.: en un almacn (a#) se realizan distintos pedidos y un pedido queda identificado por (fecha,hora y a#) puesto que en diferentes almacenes podran darse pedidos concurrentes en el tiempo. Pg. 3 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

2.3 Subclase/superclase
En el modelo ER una entidad tipo representa un conjunto de entidades del mismo tipo; ej. la entidad tipo TCNICO. Un TCNICO puede ser por ej. ANALISTA, PROGRAMADOR, CONSULTOR, etc. Tienen en comn que todos son TCNICOS pero tienen propiedades distintas (atributos) e interrelaciones adicionales con otras entidades segn sean ANALISTA, PROGRAMADOR, CONSULTOR, etc. Es decir una entidad tipo puede tener subagrupaciones de entidades que es importante representar. Cada una de estas subagrupaciones (ANALISTA, PROGRAMADOR, CONSULTOR) es una subclase de la entidad TCNICO. TCNICO es una superclase. Una entidad de la subclase es la misma que la de la superclase pero con un papel especfico. Toda ocurrencia de alguna subclase pertenece a la superclase y no al revs. Es decir todo ANALISTA es un TCNICO y no todo TCNICO es ANALISTA.

2.4 Diagramas EE/R


TECNICO 1
NIF Nombre

d
0:1 PROGRAMADOR 0:1 ANALISTA 0:1 CONSULTOR

Fig. 3. Subclases y superclases.

2.5 Herencia de atributos


Una entidad que es miembro de una subclase hereda todos los atributos de la superclase. Por tanto la subclase posee sus atributos especficos ms los que hereda como miembro de la superclase.

2.6 Especializacin
Es el proceso de definir un conjunto de subclases a partir de una entidad tipo (superclase). As el conjunto de subclases {ANALISTA, PROGRAMADOR, CONSULTOR} es una especializacin de la superclase TCNICO. Pueden existir varias especializaciones de una misma entidad tipo. La especializacin permite Asociar atributos especficos a cada subclase. Establecer interrelaciones adicionales entre las subclases y otras entidades. Pg. 4 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

2.7 Generalizacin
Es el proceso de abstraccin inverso a la especializacin. Se suprimen las diferencias entre varios tipos de entidades y generalizamos sus caractersticas comunes para formar una entidad superclase. Ej. Tenemos las entidades COCHE y CAMIN.
Matrcula Precio Vel-mx Matrcula CAMIN Precio N Ejes

COCHE

VEHCULO 1

Matrcula Precio

d
0:1 Vel-mx COCHE CAMIN 0:1

N Ejes

Fig. 4. Generalizacin a partir de las entidades COCHE y CAMIN. Mediante un proceso de generalizacin obtenemos la entidad VEHCULO. El proceso inverso consiste en ver COCHE y CAMIN como una especializacin de la superclase VEHCULO.

2.8 Caracterizacin de la especificacin/generalizacin


Dependiendo de que las ocurrencias de alguna subclase puedan aparecer o no en ms de una subclase podemos diferenciar entre:

Subclases disjuntas. Subclases solapadas.

Cuando una ocurrencia de la superclase puede aparecer en ms de una subclase decimos que las subclases son solapadas. Se representa por la letra o (overlapping) :
o

Pg. 5 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

Cuando una ocurrencia de la superclase solo aparece en una nica subclase decimos que las subclases son disjuntas. Se representa por la letra d(disjoint) :
d

Atendiendo al nivel de recubrimiento de la poblacin (ejemplares/ocurrencias) de la superclase respecto a la poblacin de las superclases pueden representarse dos tipos de jerarquas:

Jerarqua total Jerarqua parcial

Cuando toda ocurrencia de la superclase aparece al menos en una subclase se dice que la jearqua es total. Se representa por:

Cuando en la superclase existen ocurrencias que no aparecen en ninguna de las subclases se dice que la jearqua es parcial. Se representa por:

Ej. Todas las piezas se compran o fabrican y una pieza puede ser comprada y fabricada
PIEZA Cdigo Precio 1

o
0:1 NLote PIEZA_FABRICADA

0:1 Proveedor PIEZA_COMPRADA Precio

Fig. 5. Jerarqua total con solapamiento

Pg. 6 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

Existen dos razones principales que aconsejan la definicin de superclases y subclases:

Hay atributos que no pueden ser aplicables a todas las ocurrencias de la entidad. Por ej. slo nos interesa saber los aos de experiencia de los consultores y no de los analistas y programadores. Algunas ocurrencias de la entidad tienen interrelaciones adicionales con otras entidades. Por ej. slo los analistas dirigen proyectos (slo los analistas se interrelacionan con los proyectos).

2.9 Jerarqua de generalizacin/especializacin


Es posible especificar subclases generalizacin/especializacin: de una subclase formando una jerarqua de

PERSONA 1

Nombre

o
0:1 Curso ESTUDIANTE 0:1 Sueldo EMPLEADO

d
0:1 Nhoras

0:1

ADMINISTRATIVO

PROFESOR

Fig 6. Jerarqua de especializacin EMPLEADO es una subclase de PERSONA y es tambin una superclase de {ADMINISTRATIVO, PROFESOR}. Esto implica la restriccin de que todo profesor ha de ser un empleado. Una subclase puede ser subclase en ms de un vnculo clase/subclase. Ej. JEFE_PROYECTO es una subclase de CONSULTOR y de ASALARIADO. Por tanto para ser JEFE_PROYECTO es necesario ser CONSULTOR y ASALARIADO. JEFE_PROYECTO es una subclase compartida.

Pg. 7 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

TCNICO 1

NIF Nombre

d
0:1 PROGRAM. 0:1 ANALISTA 0:1 CONSULTOR
Salario

Precio/hora

0:1 ASALARIADO

0:1 SUBCONTRATADO

0:N

Trabaja
JEFE_PROYECTO 1:1 EMPRESA

Fig. 7. Retcula de generalizacin/especializacin

3 Agregacin y Asociacin
La agregacin es un concepto de abstraccin para construir objetos compuestos a partir de sus objetos componentes. Permite combinar entidades entre las que existe una interrelacin y formar una entidad de ms alto nivel. Es til cuando la entidad de ms alto nivel se tiene que interrelacionar con otra entidad Ej. Un tcnico puede trabajar en varios proyectos y en un proyecto trabajan varios tcnicos. Como consecuencia del trabajo de un tcnico en un proyecto puede publicar uno o varios artculos.
Nif 0:N TECNICO Trabaja 0:N PROYECTO Pr

1 0:N Publica

Ar

ARTICULO

Fig. 8. Agregacin.

Pg. 8 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

La abstraccin de asociacin permite asociar o vincular dos entidades independientes. Una asociacin queda identificada por la identificacin de las entidades participantes. Una diferencia entre asociacin y agregacin es que al eliminar la asociacin las entidades participantes siguen existiendo. En la agregacin si se elimina la entidad agregada se eliminan adems las entidades que la forman La forma de representar la asociacin segn los autores [Elmasri/Navath2004] consiste en crear una nueva entidad TRABAJA que depende en identificacin de TECNICO y PROYECTO.
Nif 0:N TECNICO En 0:M PROYECTO Pr

1 TRABAJA 1 0:N

Ar

Escribe

ARTICULO

Fig. 9. Representacin de la asociacin segn [Elmasri/Navath2004] Autores como Rob P, Coronell C1 proponen la representacin de la asociacin como un nuevo tipo de entidad denominada entidad compuesta, definiendo un smbolo que combina la representacin de una entidad y una interrelacin (tiene el comportamiento de ambas). De este modo, una entidad compuesta puede, a su vez, participar en otras interrelaciones en el modelo.

Nif

Pr

TECNICO

0:N

Trabaja

0:N

PROYECTO

1 0:N

Ar

Escribe

ARTICULO

Fig. 10. Representacin de una asociacin como entidad compuesta. En adelante y en los ejercicios propuestos en la asignatura se utilizar esta notacin para la asociacin o entidad compuesta.
1

Sistemas de Bases de Datos; Diseo, Implementacin y Administracin. Rob P,Coronell C, 2004 International Thomson.

Pg. 9 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

4 Mapeo EE/R a RM/B


La generacin de gestores de bases de datos actuales estn todava basados en el modelo bsico (RM/B) de Codd, aunque suelen incorporar algunas extensiones semnticas al mismo (disparadores, encapsulacin de funciones, procedimientos, etc.). En las fases de diseo tecnolgico es comn la utilizacin de gramticas (basadas en estndares SQL o bien diseo propietario) que atienden a este modelo (RM/B); es por tanto necesario (en casos en que la modelacin conceptual est basada en modelos EE/R) aplicar mtodos que transformen la semntica de un modelo en otro. No debe olvidarse en estas transformaciones la teora de la normalizacin (formas normales), aunque esta, en modelos complejos no suele ser directamente aplicable (Mtodos de descomposicin o de sntesis). Suelen emplearse mtodos heursticos que, a partir de un buen modelo de entidades, generan extensiones adecuadas; es decir: extensiones o esquemas relacionales normalizados. A continuacin se presente la heurstica propuesta por [Elmasri/Navath2004] y se justifica la validez del mtodo o nivel de normalizacin.

4.1 Heurstica de mapeo EE/R a RM/B


Paso 1: Mapeo de entidades regulares Caso 1a. Atributos monovaluados. Dada una entidad A, con identificador Ia, y con las propiedades {a1, a2, .., an}, se genera una relacin RA (Ia , a1, a2, .., an) PK(Ia). Justificacin: Si todos los atributos ai son independientes entre s y monovaluados, entonces puede asegurarse que las nicas dependencias son del tipo Ia ai; por lo que RA est en 3FN (ya que Iaai: Ia es superclave). Caso 1b. Atributos multivaluados. Dada una entidad A, con identificador Ia, y con las propiedades multivaluadas {v1, v2, .., vn}, se genera una relacin RAvi (Ia , vi) PK(Ia , vi) FK(Ia)/ RA. Justificacin: Al no haber dependencias funcionales entre (Ia , vi), lo que puede asegurarse por el axioma de reflexividad de rmstrong es (Ia , vi) (Ia , vi) por lo que RA est en 3FN (ya que (Ia , vi) (Ia , vi): (Ia , vi) es superclave).

Pg. 10 de 14

Diseo de Bases de Datos Paso 2: Mapeo de entidades dbiles Caso 2a. Dbil en existencia.

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

Dada una entidad W, dbil en existencia de la entidad A (anteriormente mapeada), con identificador Iw, y con las propiedades {w1, w2, .., wn} se genera una relacin RW (Iw,w1,w2,..,wn,Ia) PK(Iw) FK(Ia)/ RA. Justificacin: Si todos los atributos wi son independientes entre s, se est en la misma situacin de referencia de los casos 1a(monovaluados para entidades fuertes) y 1b(multivaluados), entonces puede asegurarse que RW est en 3FN en cuanto a los atributos wi; como, por otro lado, tambin puede asegurarse que Iw Ia,entonces RW est en 3FN (ya que Iw wi: y Iw Ia, y Iw es superclave). Caso 2b. Dbil en identificacin. Dada una entidad W, dbil en identificacin de la entidad A (anteriormente mapeada), con atributo(s) identificador(es) Iw necesarios para identificar una instancia de W, y con las propiedades {w1, w2, .., wn} se genera una relacin RW (Iw,w1,w2,..,wn,Ia) PK(Ia, Iw,) FK(Ia)/ RA. Justificacin: Si todos los atributos wi son independientes entre s y monovaluados, las nicas dependencias son: wi: (Iw, Ia) wi , entonces RW est en 3FN ya que (Iw, Ia) es superclave. Paso 3. Mapeo de interrelaciones 1:N Si existe una interrelacin S(de cardinalidad 1:N) entre las entidades A y B anteriormente mapeadas mediante relaciones RA (Ia , a1, a2, .., an) PK(Ia) y RB (Ib , b1, b2, .., bm) PK(Ib), de modo que a una instancia de B corresponde como mximo una instancia de A, entonces puede ampliarse (propagarse) el esquema de B, incluyendo el identificador Ia de RA en la relacin RB, quedando la relacin RB (Ib , b1, b2, .., bm, Ia) PK(Ib) FK(Ia)/ RA. Justificacin: En este caso, puede afirmarse que Ib Ia, luego RB sigue estando en 3FN. Paso 4. Mapeo de asociaciones (agregaciones o interrelaciones M:N:P) Si existe una asociacin(o una agregacin) S entre las entidades A,B,..X anteriormente mapeadas mediante relaciones RA(Ia,a1,a2,..,an) PK(Ia), RB (Ib,b1,b2,..,bm) PK(Ib), RX (Ix,x1,x2,..,xp) PK(Ix) se genera una relacin RS(Ia, Ib,Ix) PK(Ia, Ib,Ix) FK1(Ia)/ RA, FK1(IB)/ RB, . FKx(Ix)/ Rx Justificacin: Si la cardinalidad entre las entidades es mltiple (todas con todas tomadas de dos en dos), entonces puede asegurarse por el axioma de reflexividad de rmstrong es (Ia, Ib,Ix) (Ia, Ib,Ix), con lo que RS est en 3FN. Caso 4a. S tiene propiedades adicionales (asociacin) {s1,s2,..,sr}; se aaden entonces los atributos a la generacin mapeada, quedando el esquema RS(Ia, Ib,Ix, s1,s2,..,sr) PK(Ia, Ib,Ix) FK1(Ia)/ RA, FK1(IB)/ RB, . FKx(Ix)/ Rx Justificacin: Puede afirmarse que si: (Ia, Ib,Ix)si, quedando tambin RS en 3FN. Pg. 11 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

Caso 4b. Alguna de las cardinalidades de S es simple (1). Ej.: Si entre las entidades A,B,..X puede afirmarse que dada la pareja de instancias de (A,B), identificadas por la tupla (Ia, Ib) y a esta pareja solo corresponde, como mximo, una instancia de X, identificada por Ix, entonces existe la dependencia funcional (Ia, Ib)Ix, con lo que el esquema se ve reducido (Ix desaparece de la clave primaria, pues est en las mismas condiciones de dependencia que el resto de los atributos si) a: RS(Ia, Ib,Ix, s1,s2,..,sr) PK(Ia, Ib) FK1(Ia)/ RA, FK1(IB)/ RB, . FKx(Ix)/ Rx Justificacin: Puede afirmarse que si: (Ia, Ib) si y que (Ia, Ib) Ix, quedando tambin RS en 3FN. Paso 5. Mapeo de jerarquas de generalizacin/especializacin Sea la superclase P con propiedades {I,p1, p2, .., pm}siendo I el atributo identificador de P y sean los subtipos { Si con propiedades {si1, si2, .., sir}}, entonces pueden plantearse cuatro alternativas de mapeo: Caso 5a. Se genera una relacin para la superclase Rp (I, p1, p2,.., pm) PK(I) y una relacin para cada una de las subclases Ri (I, si1, si2,.., sir) PK(I) FK(I)/ Rp. Justificacin: Para pm: I pm y para sir: I sir , por lo que Rp y Ri estn en 3FN. Caso 5b. Se genera una relacin para cada Si aadiendo todos los atributos de la superclase: Ri(I, si1, si2,.., sir, p1, p2, .., pm) PK(I). Justificacin: sir: I sir , pm: I pm , por lo que Ri estn en 3FN. Caso 5c. Se genera una nica relacin con los atributos de P y la unin de todos los atributos de los Si, y aadiendo un atributo que defina el subtipo (categora o discriminante): Rp (I, p1, p2,.., pm , discriminante , s11, s12,.., s1r , s21, s22,.., s2r , .., si1, si2,.., sir) PK(I) Justificacin: I discriminante, pm: I pm , sir: I sir , por lo que Rp est en 3FN. Caso 5d. Se genera una nica relacin con los atributos de P y la unin de todos los atributos de los Si, y aadiendo un vector (vector_cat (cat1, cat2, ..,cati ) donde cati es un booleano que determina si la instancia o ejemplar pertenece a la subclase ). Rp (I, p1, p2,.., pm , cat1 , s11, s12,.., s1r , cat2 , s21, s22,.., s2r , .., cati , si1, si2,.., sir) PK(I) Justificacin: cati: I cati , pm: I pm, sir: I sir , por lo que Rp est en 3FN.

Pg. 12 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

4.2 Comparacin del mapeo de jerarquas


Se presenta a continuacin un cuadro comparativo del comportamiento de las opciones de mapeo: Comportamiento de la jerarqua Relaciones Nulos creadas Parcial Total Disjuntas Solapadas Bueno Bueno Bueno Bueno Rp, {R1, R2,..,Ri } Bueno Bueno Bueno Bueno Redundancia para Se pierde una {R1, R2,..,Ri }
entidad que no pertenece a alguna de las subclases Discriminante is null para ocurrencias de entidades que no pertenecen a ninguna subclase atributos de entidades que pertenecen a varias subclases

Paso 5a 5b

5c

Rp

Bueno

Muchos nulos (*)

5d

Rp

Bueno

Muchos nulos (*)

(*) Los pasos 5c y 5d son recomendables cuando hay pocas subclases y stas tiene pocos atributos.

Pg. 13 de 14

Diseo de Bases de Datos

Modelo EE/R
Sevilla, febrero/2007, V 2007.02.1

5 Caso: Ejemplo EE/R y mapeo a RM/B


A continuacin se presenta el EE/R de un modelo simplificado que recoge los vinos que elabora cada bodega, su composicin por tipos de uva y clasificados en jvenes o de crianza. Cuando se trate de vinos de crianza se registrar la calidad de las distintas aadas.
Bodega BODEGA
1 N

DO Telfonos

Elabora
0:N

Porcentaje
0:N 0:N

Uva

Vino Grados VINO


1

Compone

UVA

d
0:1 0:1

JOVEN

CRIANZA
1

Tiempo_ envejecimiento

Tiene
0:N

Ao Calidad

AADA

El mapeo a RM/B quedara:


Relaciones Bodegas (Bodega, DO) Telfonos(Bodega, Telfono) Vinos(Vino, Grados, Bodega, Categora2, Tiempo_ envejecimiento) Uvas(Uva) Compone(Vino,Uva,Porcentaje) Aadas (Vino, Ao, Calidad) PK Bodega (Bodega, Telfono) Vino Uva (Vino,Uva) (Vino, Ao) FK Bodega/ Bodegas Bodega/ Bodegas Vino / Vinos Uva/ Uvas Vino/ Vinos

Para el mapeo de la jerarqua se ha optado por la opcin 5c ya que hay slo dos subclases y con pocos atributos.
2

Categora toma los valores de los subtipos del vino, es decir joven o crianza para discriminar la pertenencia a un tipo u otro.

Pg. 14 de 14

También podría gustarte