modelo entidad/interrelacion extendido · el concepto de cardinalidad, tal y como se ha definido...

16
CAPITULO 9 MODELO ENTIDAD/INTERRELACION EXTENDIDO Una vez analizado el modelo básico de Chen (Capítulo anterior), nos parece interesante profundizar en otros aspectos que aportan aún más sig- nificado y relevancia a esta herramienta, tan fundamental en la fase de di- seño conceptual. Como ya hemos señalado, varios autores han considerado diversas ex- tensiones al modelo E/R definido por Chen, dando lugar a lo que algunos denominan modelo E/R extendido (EE/R), aunque en realidad se trata más bien de una familia de modelos E/R que tienen en común la forma gráfica de representación del modelo básico de Chen. A continuación se exponen las extensiones más interesantes por su uti- lidad práctica . Hemos añadido y adaptado conceptos semánticos ajenos en principio al modelo E/R, como la jerarquización, la herencia, la exclu- sividad, etc., además de proponer un método común de representación del modelo y de sus extensiones. 1 . SEMANTICA DE LAS INTERRELACIONES El contenido semántico de las interrelaciones se ha completado con conceptos tales como las cardinalidades, la dependencia en existencia y la abstracción de generalización, que pasamos a estudiar a continuación .

Upload: trinhtruc

Post on 26-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

CAPITULO 9

MODELO ENTIDAD/INTERRELACIONEXTENDIDO

Una vez analizado el modelo básico de Chen (Capítulo anterior), nosparece interesante profundizar en otros aspectos que aportan aún más sig-nificado y relevancia a esta herramienta, tan fundamental en la fase de di-seño conceptual.

Como ya hemos señalado, varios autores han considerado diversas ex-tensiones al modelo E/R definido por Chen, dando lugar a lo que algunosdenominan modelo E/R extendido (EE/R), aunque en realidad se trata másbien de una familia de modelos E/R que tienen en común la forma gráficade representación del modelo básico de Chen.

A continuación se exponen las extensiones más interesantes por su uti-lidad práctica . Hemos añadido y adaptado conceptos semánticos ajenosen principio al modelo E/R, como la jerarquización, la herencia, la exclu-sividad, etc., además de proponer un método común de representación delmodelo y de sus extensiones.

1 . SEMANTICA DE LAS INTERRELACIONES

El contenido semántico de las interrelaciones se ha completado conconceptos tales como las cardinalidades, la dependencia en existencia y laabstracción de generalización, que pasamos a estudiar a continuación .

208 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/INTERRELACION EXTENDIDO 209

1 .1 . Cardinalidades de un tipo de entidad

Se define como el número máximo y mínimo de ocurrencias de un tipode entidad que pueden estar interrelacionadas con una ocurrencia del otro,u otros tipos de entidad que participan en el tipo de interrelación . Su re-presentación gráfica es una etiqueta del tipo (0,1), (1,1), (0,n) o (1,n), segúncorresponda . El concepto de cardinalidad, tal y como se ha definido aquí,no coincide exactamente con el propuesto en Tardieu et al. (1979), el cual

contempla la cardinalidad como el número mínimo y máximo de ocurren-cias de cada tipo de entidad que intervienen en una interrelación, y queaparecen en la representación gráfica intercambiadas con respecto a nues-tra definición.

Tratando los tipos de interrelación como aplicaciones entre los tiposde entidad, tenemos la siguiente definición: sea R el tipo de interrelación,

y E l y E2 los tipos de entidad . Si no se impone restricción alguna a las

aplicaciones definidas (R :E 1 -E2, 1/R:E2-.E1), cualquier número de en-tidades, ninguna o varias a la vez, de E l pueden estar relacionadas con unaentidad de E2 y viceversa . Se utilizará la notación R(E1(0,n)) :E2(0,n)) paradenotar esta clase de aplicaciones . En esta notación, E 1 (0,n) indica que las

cardinalidades mínima y máxima de la aplicación de E2 en E l son 0 y n,

respectivamente . Esto significa que un elemento de E 2 puede estar relacio-

nado con 0,1,2, . . .,n entidades de E 1 . El razonamiento es análogo para

E 2 (0,n) . Se puede observar que el tipo de correspondencia definido porChen coincide con la cardinalidad máxima, razón por la cual hemos prefe-rido esta notación que es también utilizada por otros autores, a la de Tardieu.

Una aplicación donde la cardinalidad mínima de E 2 sea 1, es decir

R(E1(0,n)) :E2(1,n), no requiere que toda ocurrencia de E l esté aplicada en

al menos un objeto de E2, pero sí que toda ocurrencia de E, esté aplicadaen una de E 1 . En términos matemáticos se dice que la aplicación es totalcon respecto a E 1 .

Cuando la cardinalidad máxima de una aplicación es 1, la correspon-dencia es una función en el sentido matemático, (ver Figura 9 .1) . Se deno-mina entonces correspondencia funcional.

Figura 9.1. Representación de una correspondencia funcional

Storey y Goldstein (1988) demuestran matemáticamente que un tipode interrelación 1 :N no puede tener atributos asociados.

En efecto, si partimos del tipo de interrelación A/B (ver Figura 9 .2),en el cual las cardinalidades máxima y mínima de A son (0,n) o (1,n) ylas de B son (1,1), y además este tipo de interrelación tiene un atributo X,éste será función del tipo de interrelación y, en consecuencia, de los tiposde entidad A y B; es decir,

X = f (A,B)

Por otro lado, ya que existe un valor de A, y sólo uno, para cada valorde B, se tiene que :

A = g(B), luego X = f(g (B), B)

o lo que es lo mismo :

X = h(B)

210 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/INTERRELACION EXTENDIDO 211

Con lo que se demuestra que en realidad el atributo es del tipo de en-tidad B .

Figura 9.2. Tipo de interrelación 1:N con un atributo X

Figura 9.3. Ejemplo de tipo de interrelación 1:1 con un atributo

1 .2. Dependencia en existencia y en identificación

A pesar de que matemáticamente la demostración es correcta, semán-ticamente, sin embargo, puede ser de interés conservar el atributo depen-diendo de la interrelación . Este es el caso, por ejemplo, del esquema dela Figura 9.3, donde tenemos el tipo de interrelación matrimonio entreHOMBRE y MUJER de tipo 1 :1 que tiene un atributo fecha (del matrimo-nio) . Se ha supuesto que la Base de Datos recoge sólo la información desólo los matrimonios actualmente vigentes . Por lo tanto, para cada par(Hombre, Mujer) existe una sola fecha válida de la celebración del matri-monio, fecha que no es una propiedad de ninguna de las dos entidades,sino del hecho de la unión entre ellas ; es decir, de la interrelación .

Como en el caso de los tipos de entidad, los tipos de interrelación seclasifican también en regulares y débiles, según estén asociando dos tiposde entidad regulares, o un tipo de entidad débil con un tipo de entidad re-gular, respectivamente.

Aunque Chen no hace diferencia, parece interesante distinguir dentrodel tipo de interrelación débil la dependencia en existencia y la dependen-cia en identificación . Se dice que hay dependencia en existencia cuando lasocurrencias de un tipo de entidad (entidad débil) no pueden existir si desa-parece la ocurrencia de la entidad regular de la cual dependen (véase Figu-ra 9 .4) . La dependencia es en identificación cuando además de cumplirsela condición anterior, las ocurrencias del tipo de entidad débil no se pue-den identificar únicamente mediante los atributos propios de la misma yexigen añadir la clave del tipo de entidad regular del cual dependen (ver,por ejemplo, el esquema de la Figura 9 .5) . Según Ferg (1984), un tipo deentidad depende en identificación cuando las ocurrencias no pueden seridentificadas por los valores de sus propios atributos y tienen que serlo porsus interrelaciones con otras entidades . Se ve claramente que una depen-dencia en identificación es siempre una dependencia en existencia (no ocu-rre lo contrario) .

212 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/INTERRELACION EXTENDIDO 213

Figura 9.4. Dependencia en existenciaFigura 9.5. Dependencia en identificación

Si la dependencia es en identificación, el rombo que representa la in-terelación va etiquetado con ID, y con una E (o sin etiqueta) en caso deque la dependencia sea sólo en existencia.

En la Figura 9 .4 se puede observar que los datos acerca de los familia-res de un empleado sólo tendrán sentido si éste permanece en la base dedatos, con lo que hay una dependencia en existencia . Por otro lado, en laFigura 9 .5 tenemos que un ejemplar está identificado con la clave del librodel cual depende más un código propio, habiendo, por tanto, una depen-dencia en identificación .

1 .3. Interrelaciones exclusivas

Decimos que dos o más tipos de interrelación son exclusivos cuandocada ocurrencia de un tipo de entidad sólo puede pertenecer a un tipo deinterrelación . Por ejemplo, en la Figura 9 .6 se observan las interrelacionespublica y aparece son exclusivas, ya que se ha supuesto que en una deter-minada biblioteca, los artículos se tienen o publicados en revistas o en re-copilaciones, pero no en ambos . En la figura aparece la convención parasu representación .

214 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 215

1

Figura 9.6. Ejemplo de tipo de interrelación "exclusiva "

2. GENERALIZACION Y HERENCIA

La descomposición de tipos de entidad en varios subtipos es una ne-cesidad muy habitual en el modelado de bases de datos . En el mundo real

se pueden identificar varias jerarquías de entidades . La interrelación quese establece entre un supertipo y sus subtipos corresponde a la noción de"es-un" (en inglés, "IS-A") o, más exactamente, "es-un-tipo-de" .

Este tipo de interrelación tiene su origen en el campo de la inteligen-cia artificial . Introducido por Quillian (1968) en las redes semánticas hasido adoptado en multitud de modelos de datos.

Proponemos para su representación utilizar un triángulo invertido, conla base paralela al rectángulo que representa el supertipo y conectado a lossubtipos, tal como se indica en la Figura 9 .7 . Esta interrelación tiene lacaracterística de que toda ocurrencia de un subtipo es una ocurrencia delsupertipo, aunque no sucede lo contrario, con lo que las cardinalidades se-rán siempre (1,1) en el supertipo y (0,1) o (1,1) en los subtipos .

Figura 9.7. Ejemplo de abstracción de generalización

Otra característica muy importante de esta clase de interrelaciones esla herencia, ya que en principio todo atributo del supertipo pasa a ser unatributo de los subtipos ; así, por ejemplo, podemos establecer una asocia-ción de este tipo entre la entidad EMPLEADO y las entidades DOCENTEy NO DOCENTE, en el sentido de que tanto los docentes como los no do-centes son (o son tipos de) empleados, por lo que heredarán todas las ca-racterísticas de la entidad EMPLEADO (código, nombre, dirección, suel-do, etc.) . Esta es una importante característica que la diferencia de laclasificación, donde los subtipos (es decir, las ocurrencias), al heredar losatributos del supertipo lo hacen tomando valores para cada uno de los atri-butos heredados, mientras que en la generalización propiamente dicha seheredan los atributos, pero sin realizarse instanciación de los mismos.

En este tipo de abstracción los atributos comunes a todos los subtipos(incluidos los identificadores) se asignan al supertipo, mientras que los atri-butos específicos se asocian al subtipo correspondiente . Del mismo modo,las interrelaciones que afectan a todos los subtipos se asocian al supertipo,

ARTICULO

apareceRECOPILACION

i

REVISTA

l 1 EMPLEADO

SUPERTIPO

CLASE DE

TRABAJO

O

(0,1)

(Q1)

DOCENTE

NO DOCENTE

SUBTIPOS

216 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 217

dejándose para los subtipos las interrelaciones específicas en las que el co-rrespondiente subtipo, pero sólo él, participa.

La división en subtipos (especialización) puede venir determinada poruna condición predefinida (por ejemplo, en función de los valores de unatributo), en cuyo caso se representará la condición (o el atributo discrimi-

nante) asociada al triángulo que representa la interrelación . Si no interesaconsiderar ninguna condición predefinida, deberá ser el usuario, en el mo-mento de insertar una ocurrencia en la base de 3atos, quien especifiquea cuál de los subtipos pertenece.

En la Figura 9 .8 se muestra una división de la entidad LIBRO en dosjerarquías distintas, según el tema de que trata y otra el idioma.

Figura 9.8. Ejemplo de jerarquías múltiples

Como se señala en Hidalgo (1991), se pueden distinguir cuatro clasesde generalización, atendiendo a si los subtipos se solapan o son disjuntos,y a si la unión de los subtipos recubre o no el supertipo (generalizacióntotal o parcial) . Esto es, si una misma ocurrencia puede pertenecer a másde un subtipo (solapamiento) o si toda ocurrencia del supertipo tiene quepertenecer a algún subtipo (totalidad) . La combinación de ambas posibili-dades da lugar a cuatro tipos de jerarquías, donde representaremos por unarco el hecho de que los subtipos sean disjuntos y con un círculo la presen-cia de una jerarquía total, como puede observarse en la Figura 9 .9, en lacual se presenta una jerarquía total de subtipos disjuntos, ya que:

— Tanto un docente como un no docente son empleados.

— Un mismo empleado no puede ser a la vez docente y no docente,como su nombre indica (exclusividad).

— Todo empleado tiene que ser obligatoriamente un docente o un no-docente (totalidad).

Figura 9.9. Ejemplo de generalización total sin solapamiento

En la Figura 9 .10 se puede observar como el supertipo DOCUMEN-TO y los subtipos LIBRO y ARTICULO forman una jerarquía disjuntay parcial que se traducirá en lo siguiente :

218 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTI DAD/INTERRELACION EXTENDIDO 219

DOCUMENTO

(0,1)

(0. 1)

LIBRÓ ARTICULO

CLASE O

Figura 9.11 . Ejemplo de generalización total con solapamiento

Figura 9.10. Ejemplo de generalización parcial sin solapamiento

— Tanto un artículo como un libro son documentos.

— Un mismo documento no puede ser a la vez un artículo y un libro(exclusividad).

— Un documento puede no ser ni un artículo ni un libro (parcialidad).

La Figura 9 .11 presenta un ejemplo en el que aparece una jerarquíatotal con solapamiento:

— Tanto un empleado como un estudiante son personas.

— Una misma persona puede ser estudiante a la vez que empleado(solapamiento).

— Toda persona en nuestra base de datos tiene que ser obligatoria-mente un estudiante y/o un empleado (totalidad).

Por lo que respecta a jerarquías parciales de subtipos solapados, enla Figura 9 .12 se presenta el siguiente ejemplo : Figura 9.12. Ejemplo de generalización parcial con solapamiento

EMPLEADO

FUNCION O vDOCENTE

INVESTIGADOR

220 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/INTERRELACION EXTENDIDO 221

— Tanto un docente como un investigador son empleados.

— Un mismo empleado puede ser, y en general lo es, docente a la vezque investigador (solapamiento).

— Un empleado puede no ser ni un docente ni un investigador (par-cialidad).

Como se puede observar, combinando la parcialidad o totalidad dela jerarquía con el hecho de que los subtipos puedan o no ser disjuntos esposible expresar muy claramente las situaciones más corrientes del mundo real.

Hay que destacar que la parcialidad de la jerarquía significa la admi-sión de nulos en el atributo discriminante, mientras que el solapamientoimplica que el atributo discriminante sería un grupo repetitivo.

Se puede profundizar más en este estudio de los subtipos [véase, porejemplo, Davis y Bonnell (1990)] estableciendo una relación de necesidad

entre los subtipos . En la Figura 9 .13 se presenta un ejemplo de lo que losautores anteriores denominan IP Integrity y que representan, como se mues-tra en la Figura, con una flecha hacia la entidad RECOPILACION, queexpresa lo siguiente:

— Tanto un libro como una recopilación son documentos.

— Un documento puede no ser ni un artículo ni un libro (parcialidad).

— Un documento es una recopilación sólo si es también un libro.

Figura 9.13 . Ejemplo de "IP Integrity"

Figura 9.14. Solución alternativa al ejemplo de la figura 9.13

PU

222 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 223

En definitiva, un libro puede ser una recopilación o no, pero toda re-copilación, por el hecho de serlo, es también un libro.

Realmente, se trata de una jerarquía a tres niveles (ver Figura 9 .14),ya que podemos distinguir en primer lugar el supertipo DOCUMENTOcon el subtipo LIBRO, y en un segundo nivel, el supertipo LIBRO respec-to al subtipo RECOPILACION, siendo ambas interrelaciones parciales . Deesta forma expresamos que:

— Un libro es un documento.

— Un documento puede no ser un libro.

— Una recopilación es un libro.

— Un libro puede no ser una recopilación.

lo que es equivalente al caso que se planteaba en la Figura 9 .13.

En caso de ser una jerarquía total, la integridad IP no tiene muchosentido ; así, por ejemplo, si en el caso anterior la jerarquía fuera total, undocumento tendría que ser siempre un libro, aunque podría no ser una re-copilación, en cuyo caso las entidades LIBRO y DOCUMENTO serían lamisma y el resultado sería una jerarquía de un solo nivel entre las entida-des LIBRO y RECOPILACION.

Una forma alternativa, o más bien complementaria, de representar unaabstracción de generalización ha sido propuesta en Wagner (1988), y con-siste en tablas jerárquicas, que permiten representar la herencia, con todassus características, de manera clara y concisa, sobre todo en el caso de existirvarias jerarquías de un mismo supertipo.

Estas tablas, de las que se muestra un ejemplo en la Figura 9 .15 (rela-tivo a la jerarquía de la Fig . 9 .8), se representan mediante "1" las combi-naciones posibles de "es-un". Además, en la parte inferior de la tabla serefleja la jerarquía a la que pertenecen las entidades (que cuando se tratede una raiz estará vacía); el tipo de jerarquía (D-disjunta, S-solapada, P-parcial, T-total), que para las raíces se escribirá "RAIZ", aparece en la en-trada que tiene como etiqueta "definida como" ; el atributo sobre el quese define la jerarquía y la entidad de la que el subtipo hereda tienen tam-bién sus correspondientes entradas .

TIPO DE ENTIDADES

LIBRO INFORMATICA DERECHO INGLES ESPAÑOL

combinaciones

(a)permitidas

Ib)Ic1

111

110

001

100

011

jerarquia - A A B B

definida como RAIZ D/P D/T D/T D/T

definida sobre - TEMA TEMA IDIOMA IDIOMA

hereda de - LIBRO LIBRO LIBRO LIBRO

Figura 9.15. Tabla de representación de jerarquías de generalización

Así, en el ejemplo se especifica claramente que sólo pueden darse lassiguientes posibilidades:

— libros de informática en inglés

— libros de informática en español

— libros de derecho en español

siendo cualquiera de las otras posibilidades (como libros de derecho en in-glés) errónea en nuestro universo del discurso.

Es interesante analizar las reglas de inserción y borrado que se danen una jerarquía de generalización, reglas que no pueden ser violadas sindar lugar a una pérdida de integridad . Por esta razón debería ser el sistemaque soporte el modelo de datos que admite este tipo de abstracción el quese ha de preocupar de poner en marcha los mecanismos necesarios paraconseguir una inserción y borrado acordes con la semántica de estas abs-tracciones . Dichas reglas son las siguientes:

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 225224 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

a) Insertar una entidad en un supertipo implica que se ha de insertarde forma automática en todos los subtipos para los que se ha defi-nido un predicado o condición que la entidad satisface.

b) Insertar una, entidad en un supertipo de una jerarquía total impli-ca que la entidad debe insertarse por lo menos en uno de los subti-pos . Si la jerarquía es de subtipos disjuntos se ha de insertar única-mente en uno, y sólo uno, de los subtipos.

c) Borrar una ocurrencia de entidad de un supertipo implica borrarlaautomáticamente de los subtipos a los que pertenece.

d) Borrar una ocurrencia de entidad de un subtipo implica borrar laocurrencia correspondiente del supertipo en caso de:

1. subtipos disjuntos y generalización total

2. subtipos solapados y generalización total, si es el último subti-po del tipo correspondiente.

En los demás casos, el borrado del subtipo no puede dar como resul-tado una pérdida de integridad, por lo que el sistema sólo borra la ocu-rrencia del subtipo, y le corresponde al usuario borrar la del supertipo, siasí lo desea, siempre y cuando no se atente contra la integridad.

Hasta ahora hemos considerado que siempre se formaban jerarquíasal asociar distintos tipos de entidades mediante la abstracción de generali-zación, pero puede suceder que un subtipo tenga más de un supertipo, for-mándose un verdadero retículo o red de generalización (véase Figura 9 .16).En este caso, la herencia ya no es simple, sino que se convierte en múltiple,pudiéndose presentar conflictos a la hora de heredar atributos . Existen mo-delos de datos que en caso de conflicto definen, en realidad dejan que elusuario defina, un orden de prioridad en la herencia ; otros, por el contra-rio, permiten heredar atributos iguales de dos supertipos distintos pero te-niendo que renombrar alguno de ellos .

Figura 9.16. Ejemplo de red de generalización

PERSONA i

EMPLEADOi

DOCENTE

i

NO DOCENTE

CATEDRATICO

BECARIO

226 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/1NTERRELACION EXTENDIDO 227

En el caso de jerarquías como las del ejemplo anterior, la utilización

de tablas como notación complementaria se convierte en imprescindible para

delimitar con precisión la semántica de nuestro uiverso del discurso. Así,

por ejemplo, en la tabla de la Figura 9 .17 la entrada "e" representa la exis-

tencia de becarios que son empleados pero no estudiantes ; la entrada "f"

indica que un mismo becario puede ser estudiante y empleado a la vez,

y la "g", que hay becarios que son estudiantes, pero no empleados . Por

medio de las combinaciones permitidas en la tabla podemos delimitar con

mucha precisión nuestro universo del discurso.

Otra diferencia que se suele dar en el concepto de herencia en los dis-

tintos modelos es, como se señala en Mattos (1988), la existente entre he-

rencia por defecto y herencia estricta . La herencia por defecto trata los su-

pertipos como prototipos, por lo que los subtipos heredan los atributos

del supertipo siempre que no se encuentren redefinidos en los subtipos . La

herencia que hemos descrito hasta ahora, y que es la adoptada por la ma-

yoría de los modelos en bases de datos, es una herencia estricta, en el senti-

do de que todos los atributos del supertipo deben ser heredados por los

subtipos.

En algunos modelos también se permite inhibir la herencia de deter-

minados atributos en la generalización.

En cuanto estas últimas características, nosotros proponemos sopor-

tar en el modelo E/R extendido las siguientes:

— Los subtipos, como regla general, heredarán los atributos de los

supertipos; sin embargo, se podrán modificar ciertos atributos en

los subtipos simplemente redefiniéndolos en el nivel correspondiente

de la jerarquía. También se permitirá inhibir la herencia de un

atributo.

— Se permitirá la herencia múltiple, es decir, los subtipos podrán te-

ner más de un supertipo, formándose redes, pero en caso de con-

flicto el usuario podrá optar por renombrar los atributos de los su-

pertipos que entren en conflicto o por inhibir la herencia de dichos

atributos.

En la Figura 9 .18 se muestra un ejemplo de red de generalización don-

de se tiene un supertipo PERSONA que posee como atributos un código

y el nombre (que serán heredados por todos los demás subtipos de enti-

1

1

1

1Wr

7Z

1

I

1

I

,

1

° I

°

° I

° 1°I

°1 o m

1

1

Q, I

1

1

1

1

1 2

a o

"

I

o

1

o 1

°

o 'o 'o o

1

0C G my p

o

0

°

0 1°0 °Q

E

W a

1

1

1

1

1

1

O 1

1

1

1

1

1

qWmO

O

o~ O

°

O 2

Q 1I

,a

a o°I

01°10 :

1

¡ 1

^ I

a

W° ~ ~

c.)1

«

O

O

~-

0 1

0

°

O m

0 =

W .0

tW

°'

O

EV

0

¡

i

°

o

o

1

m

WW

4

1..IY 1 Ó a

I

1

1

1

-

yI

I

I

I1 N

5 °°a N

óy1

1

I

I

I

I

~ I

1I

QI

¡

1

1

¡

¡m

S 1

1

I

1

1

I

1

I

1

W

D

u

0W

01

tW

NEO O

W

y

a 9

Y

W

N

W

O

9

E

;~ ~ 9 S W

ú

g

E

é 1

Figura 9.17. Tabla de representación de jerarquías del ejemplo de la figura 9

.16

228 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

dad), que tiene dos subtipos EMPLEADO y ESTUDIANTE . Ambos tie-nen como atributo jornada (laboral o de estudio), que, al tratarse de atri-butos distintos, hemos definido en cada tipo de entidad . Además, la enti-dad EMPLEADO tiene como atributo el sueldo, que heredarán tanto losDOCENTES como los NO_DOCENTES y los BECARIOS . En este últi-mo tipo de entidad se presenta un conflicto en la herencia del atributo jor-nada, por lo que tenemos que especificar qué jornada hereda el tipo deentidad BECARIO o si hereda las dos, en el ejemplo se ha supuesto quesólo hereda como jornada la que proviene de la entidad EMPLEADO.

Figura 9.18. Ejemplo de herencia de atributos

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 229

3. DIMENSION TEMPORAL EN EL MODELO E/R

Otra de las extensiones que se proponen para el modelo E/R es la in-clusión de la dimensión temporal en el mismo . [Ferg (1985), Kloprogge(1983)].

El tratamiento de la dimensión temporal en las bases de datos es untema complejo sobre el cual hay una intensa labor de investigación en es-tos momentos . Su estudio en el marco del modelo E/R es poco habitualy nosotros lo vamos a tratar muy brevemente.

Es indudable la necesidad de establecer un método semántico y gráfi-co que recoja de alguna forma en el esquema conceptual el transcurso deltiempo y su influencia en la variación de los datos . La aproximación mássimple la constituyen atributos de tipo FECHA que aparecen asociados aalgunas entidades (ver Figura 9 .19) . En este caso, la fecha de nacimientode un socio o la fecha en la que se editó un libro son datos temporales re-cogidos en el esquema, pero se trata sólo de atributos que han de recibirun tratamiento especial en cuanto a las operaciones, y no se puede consi-derar realmente una aproximación semántica a la dimensión temporal.

Figura 9.19. Primera aproximación a la dimensión temporal en un esquemaconceptual E/R

Por otro lado, podemos analizar si los datos que se pretende almace-nar van a constituir una base de datos histórica o, si por el contrario, sólonos interesa el estado actual de los datos . La diferencia entre estos tiposde esquemas se puede apreciar en la Figura 9 .20, donde en la parte a tene-

AUTOR LIBRO

(1 .1)

(O,n)

230 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/INTERRELACION EXTENDIDO 231

mos el esquema conceptual de todas los préstamos que se han realizadoen la biblioteca, recogiendo, además, el periodo de tiempo que duraron;por el contrario, el esquema de la Figura 9 .20b sólo se refiere a los présta-mos actuales, y una vez finalizado el préstamo la correspondiente infor-mación desaparece de la base de datos ; es decir, no existe fichero histórico.

En caso de tratarse de datos históricos, los tipos de entidad o de inte-rrelación correspondientes tendrán asociados siempre atributos de tipo fe-cha . Para sucesos puntuales, es decir, sin duración, bastará con un sóloatributo de este tipo, mientras que para poder almacenar hechos que trans-curren en un periodo de tiempo determinado necesitaremos unafecha_inicio y una fecha_fin.

En la mayoría de los casos de bases de datos históricas en las que unainterrelación entre dos ocurrencias concretas se pueda repetir en el tiempo,

Figura 9.20. Introducción de la dimensión temporal en un esquemaconceptual E/R

el AIP del tipo de interrelación estará compuesto por la concatenación delos AIP de los tipos de entidad interrelacionados concatenados con lafecha_inicio. Si hubiéramos incluido el tiempo como un tipo de entidad,estaría caracterizado por una serie de atributos del tipo fecha_inicio,hora_inicio, fecha_fin, hora fin, duración, etc., según lo que intereserecoger en el esquema. El AIP de este tipo de interrelación (ver Figura 9 .21)será la concatenación de los AIP de los tres tipos de entidad, por lo queel resultado será el mismo que en el caso de que el tiempo se recoja comoun atributo.

A veces interesa representar la evolución de un tipo de entidad a lolargo del tiempo y aparece la noción de estado.

Figura 9.21 . Representación del tipo de entidad TIEMPO

Por ejemplo, podemos necesitar reflejar si un libro está en la bibliote-ca o se encuentra prestado . Para ello añadiremos al tipo de entidad un atri-buto que denominamos estado, que indicará en qué estado concreto se en-cuentra la entidad y que en muchos casos lleva asociado otro atributo, quees la fecha en la que se ha producido el cambio de estado ; es también habi-tual en este tipo de aplicaciones que se desee tener constancia de la evolu-ción de los estados, en cuyo caso, y para evitar la aparición de un gruporepetitivo, en lugar de los atributos estado y fecha se podría crear una nue-va entidad, como SITUACION, que tendría como atributos, entre otros

232 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9: MODELO ENTIDAD/INTERRELACION EXTENDIDO 233

posibles, estado y fecha . Observando el mundo real de los sistemas de in-formación nos damos cuenta de que este mecanismo se utiliza sobre todoen la gestión de expedientes.

Otra forma de evolución de una entidad puede ser el hecho de conver-tirse en ocurrencia de otro tipo de entidad distinta a la que pertenece enun momento determinado. En la Figura 9 .22 observamos que alguna ocu-rrencia del tipo de entidad PRESTAMO se puede transformar en una ocu-rrencia de PRESTAMO FINALIZADO.

Para mayor información sobre el tratamiento de la dimensión tempo-ral en una base de datos remitimos al lector interesado a Palominos (1991).

PRESTAMO

1 PRESTAMOFINALIZADO

s_un

F_fin

Figura 9.22. Aparición de un nuevo tipo de entidad en sustitución delatributo de estado

4. ATRIBUTOS DERIVADOS

Una extensión más del modelo E/R es la representación gráfica de losatributos derivados . Entendemos por atributos derivados aquellos que aun-que son redundantes no pueden dar lugar a incoherencias, ya que se calcu-lan a partir de otros ya existentes.

En la Figura 9 .23 tenemos el atributo número de ejemplares, que pue-de ser calculado a partir de las ocurrencias de ejemplares mediante la inte-rrelación tiene. Para indicarlo gráficamente utilizaremos la etiqueta D i en

el atributo calificado como derivado, almacenando la regla de derivaciónen el diccionario de datos.

Figura 9.23 . Ejemplo de atributo derivado

Incluir en el esquema conceptual atributos derivados, a pesar de quepueden ser generados a partir de otros ya existentes, tiene a veces interéspor razones semánticas ; aunque también podría haber motivos de eficien-cia para hacerlo, sólo por esta causa no se deberían incluir dichos atribu-tos en el esquema conceptual, sino en el lógico, o mejor aún en el físico.

EJERCICIOS

9.1) Construya el esquema conceptual en el modelo E/R ampliado, querefleje toda la información necesaria para la gestión de las líneas demetro de una determinada ciudad . Los supuestos considerados sonlos siguientes:

a) Una línea está compuesta por una serie de estaciones en un ordendeterminado, siendo muy importante recoger la información de eseorden.

b) Cada estación pertenece al menos a una línea, pudiendo pertene-cer a varias .

234 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 235

c) Una estación nunca puede dejar de pertenecer a una línea a la queanteriormente pertenecía (por ejemplo, Portazgo, que pertenece ala línea 1, nunca podrá dejar de pertenecer a esa línea).

d) Cada estación puede tener varios accesos, pero consideramos queun acceso sólo puede pertenecer a una estación.

e) Un acceso nunca podrá cambiar de estación.

f) Cada línea tiene asignada una serie de trenes, no pudiendo suce-der que un tren esté asignado a más de una línea, pero sí que noesté asignado a ninguna (por ejemplo, si se encuentra en reparación).

g) Cada línea tiene asignados como mínimo tantos trenes como esta-ciones tenga y como máximo el doble del número de estaciones.

h) Algunas estaciones tienen asignadas cocheras, y cada tren tiene asig-nada una cochera.

i) Un tren puede cambiar de cochera asignada, pero no quedar sin ella.

j) Interesa conocer todos los accesos de cada línea.

9 .2) Realice el esquema E/R para una base de datos en la que se desea al-macenar la información relativa a algunos aspectos del campeonatomundial de fútbol considerando los siguientes supuestos:

a) Un jugador pertenece a un único equipo y no hay dos jugadorescon el mismo nombre.

b) Un jugador puede actuar en varios puestos distintos, pero en undeterminado partido sólo puede jugar en un puesto.

c) En cada partido intervienen 3 colegiados : un juez de línea parala banda derecha, otro para la izquierda y un árbitro.

d) Un colegiado puede realizar una función en un partido y otra dis-tinta en otro partido.

e) Cada partido involucra a 2 equipos .

f) Es obligatorio en todo momento que un jugador pertenezca a unequipo determinado y no podrá cambiar de equipo a lo largo delmundial.

9 .3) Describa el modelo relacional (relaciones, atributos, vistas y claves)en el modelo Entidad/Interrelación . Recuérdese que las claves pue-den ser candidatas o ajenas, y que las primeras se dividen, a su vez,en claves primarias y claves alternativas . Se deben recoger en el esque-ma E/R los principales conceptos relacionales, al menos el grado, car-dinalidad, valores nulos, integridad de entidad, integridad referencialcon sus opciones . . . ; si alguno de estos conceptos no se hubiese recogi-do, indíquese . Los nombres de los atributos pueden repetirse en dis-tintas relaciones, por lo que un atributo deberá identificarse con elnombre del atributo junto con el de la correspondiente relación.

9.4) Se describe a continuación una base de datos que contiene la infor-mación relativa a una empresa que se dedica a la fabricación de mo-tores . Dicha empresa tiene interés en mantener información sobre losdistintos tipos de motores que fabrica . Se pide construir el diagramaE/R correspondiente.

La empresa está dividida en secciones a las que están asignadosobligatoriamente los empleados, los cuales tienen que pertenecer a unasola sección . A cada sección se le puede asignar la fabricación de unoo varios tipos de motores, existiendo secciones generales (departamentode administración, de proceso de datos, etc .) que no tienen asignado

ningún tipo de motor en concreto ; nunca un tipo de motor puede serfabricado por más de una sección, ni ésta puede cambiar una vez quese le ha asignado la fabricación de un determinado motor.

Entre los empleados que trabajan en un tipo de motor siemprehabrá un responsable, siendo esta información de interés para la em-presa . Un empleado puede estar trabajando en más de un tipo de motor.

Los empleados pueden tener familiares a su cargo, cuyos datosconviene guardar en la base.

La empresa utiliza piezas y desea conocer las estructuras del pro-ducto (explosión/implosión) . A estos efectos un motor es una pieza .

236 CONCEPCION Y DISEÑO DE BASES DE DATOS RELACIONALES

9 .5) Se desea crear una base de datos de investigaciones en curso . Las enti-dades y supuestos semánticos que definen el problema son:

1. Proyecto de investigación (nombre, objetivos, areas científicas, . . .).

2. Investigador (nombre, domicilio, . . .).

3. Entidad colaboradora (nombre, razón social, . . .).

Además de los supuestos semánticos del mundo real se suponenlos siguientes:

a) Un proyecto puede formar parte de otro más complejo.

b) Un investigador puede trabajar en varios proyectos a la vez, y encada proyecto puede tener una función diferente (investigador prin-cipal, consultor, . . .).

c) Para cada proyecto debe existir un investigador principal único.

d) Un mismo investigador no puede hacer la función de investigadorprincipal en dos proyectos a la vez.

e) Las entidades colaboradoras pueden ser de dos tipos : Patrocina-doras (las que financian los proyectos aportando una subvención)y de Colaboración científica (aquellas a las que pertenecen los in-vestigadores).

9 .6) Se trata de diseñar la base de datos de una agencia aeroespacial . Enella se pretende almacenar toda la información referente a sus emplea-dos técnicos, astronautas y científicos, además de los familiares quedependen de éstos . Los empleados participan en una serie de misio-nes en un periodo determinado de tiempo, dato que es de interés re-coger, pero como máximo, a lo largo de su estancia en la agencia pue-den participar en diez misiones . Cada misión es propuesta por uncientífico en una fecha determinada, aunque hay algunas de estas mi-siones que constan de otras propuestas por otros científicos . Estas mi-siones están desarrolladas con vistas al estudio de uno o varios plane-tas . Es por ello que interesa recoger la información referente a éstos

CAPITULO 9 : MODELO ENTIDAD/INTERRELACION EXTENDIDO 237

últimos, así como de los satélites que tienen o del sistema al que per-tenecen. Los astros pertenecientes a estos sistemas también son deinterés.

La agencia dispone de una flota de naves espaciales de distintostipos que realizan vuelos entre dos fechas en cada una de las misio-nes . Estas naves son manejadas en una fecha concreta por tripulantesespaciales de dos tipos distintos, astronautas o androides mecánicos.

Una vez finalizada una misión se pretende almacenar sus conclu-siones y la fecha de finalización.

9.7) Analizar los ejercicios del capítulo 8, viendo si la aplicación de algu-nas de las extensiones estudiadas en el presente capítulo permitiría re-coger más semántica que la que se tiene en la solución dada ante-riormente.