You are on page 1of 6

MODELAMIENTO DE BASE DE DATOS5

Modelo Entidad Relacin Extendido


MODELO ENTIDAD RELACION EXTENDIDO
Aunque los conceptos bsicos de E-R pueden modelar la mayora de las caractersticas de las
bases de datos, algunos aspectos de una base de datos pueden ser ms adecuadamente
expresados mediante ciertas extensiones del modelo E-R bsico. En este apartado se discuten
las caractersticas E-R extendidas de especializacin, generalizacin, conjuntos de entidades de
nivel ms alto y ms bajo, herencia de atributos y agregacin.
Especializacin
Un conjunto de entidades puede incluir subgrupos de entidades que se diferencian de alguna
forma de las otras entidades del conjunto. Por ejemplo, un subconjunto de entidades en un
conjunto de entidades puede tener atributos que no son compartidos por todas las entidades del
conjunto de entidades. El modelo E-R proporciona una forma de representacin de estos grupos
de entidades distintos.
Considrese el conjunto de entidades persona con atributos nombre, calle y ciudad. Una persona
puede clasificarse adems como:

cliente
empleado

Cada uno de estos tipos de persona se describen mediante un conjunto de atributos que
incluyen los atributos del conjunto de entidades persona ms otros posibles atributos
adicionales. Por ejemplo, las entidades cliente se pueden describir adems mediante el atributo
id-cliente, mientras que las entidades empleado se pueden describir adems mediante los
atributos id-empleado y sueldo. El proceso de designacin de subgrupos dentro de un conjunto
de entidades se denomina especializacin. La especializacin de persona permite distinguir
entre las personas basndose en si son empleados o clientes.
Se puede aplicar repetidamente la especializacin para refinar el esquema de diseo. Por
ejemplo, los empleados del banco se pueden clasificar en uno de los siguientes:

oficial
cajero
secretaria

Cada uno de estos tipos de empleado se describe por un conjunto de atributos que incluye todos
los atributos del conjunto de entidades empleado ms otros adicionales. Por ejemplo, las
entidades oficial se puede describir por el atributo nmero-despacho, las entidades cajero por los
atributos nmero-seccin y horas-semana, y las entidades secretaria por el atributo horassemana. Adems, las entidades secretaria pueden participar en una relacin secretaria-de, que
identifica al empleado ayudado por una secretaria.
Un conjunto de entidades se puede especializar por ms de una caracterstica distintiva. En el
ejemplo, la caracterstica distintiva entre entidades empleado es el trabajo que realiza el
empleado. Otra especializacin coexistente podra estar basada en si la persona es un trabajador
temporal o fijo, resultado en los conjuntos de entidades empleado-temporal y empleado-fijo.
Cuando se forma ms de una especializacin de un conjunto de entidades, una entidad en
particular puede pertenecer a varias especializaciones. Por ejemplo, una empleada dada puede
ser una empleada temporal y secretaria. En trminos de un diagrama E-R, la especializacin se
representa mediante un componente triangular etiquetado ES. La etiqueta ES representa, por
ejemplo, que un cliente es una persona. La relacin ES se puede llamar tambin relacin
superclase-subclase. Los conjuntos de entidades de nivel ms alto y ms bajo se representan
como conjuntos de entidades regulares, es decir, como rectngulos que contienen el nombre del
conjunto de entidades.

MODELAMIENTO DE BASE DE DATOS5


Modelo Entidad Relacin Extendido

Figura 1: Especializacin y Generalizacin


Generalizacin
El refinamiento a partir de un conjunto de entidades inicial en sucesivos niveles de subgrupos de
entidades representa un proceso de diseo descendente en el que las distinciones se hacen
explcitas. El proceso de diseo puede ser tambin de una forma ascendente, en el que varios
conjuntos de entidades se sintetizan en un conjunto de entidades de nivel ms alto basado en
caractersticas comunes. El diseador de la base de datos puede haber identificado primero el
conjunto de entidades cliente con los atributos nombre, calle, ciudad e id-cliente, y el conjunto
de entidades empleado con los atributos nombre, calle, ciudad, id-empleado y sueldo. Hay
similitudes entre el conjunto de entidades cliente y el conjunto de entidades empleado en el
sentido de que tienen varios atributos en comn. Esta similitud se puede expresar mediante la
generalizacin, que es una relacin contenedora que existe entre el conjunto de entidades de
nivel ms alto y uno o ms conjuntos de entidades de nivel ms bajo.

MODELAMIENTO DE BASE DE DATOS5


Modelo Entidad Relacin Extendido
En el ejemplo, persona es el conjunto de entidades de nivel ms alto y los conjuntos de
entidades cliente y empleado son de nivel ms bajo. Los conjuntos de entidades de nivel ms
alto y nivel ms bajo tambin se pueden llamar superclase y subclase, respectivamente. El
conjunto de entidades persona es la superclase de las subclases cliente y empleado. Para todos
los propsitos prcticos, la generalizacin es una inversin simple de la especializacin. Se
aplicarn ambos procesos en combinacin en el curso del diseo del esquema E-R para una
empresa. En trminos del propio diagrama E-R no se distingue entre especializacin y
generalizacin. Los niveles nuevos de representacin de entidades sern distinguidos
(especializacin) o sintetizados (generalizacin) cuando el esquema de diseo llegue a expresar
completamente la aplicacin de base de datos y los requisitos de uso de la base de datos. Las
diferencias entre los dos enfoques se pueden caracterizar mediante su punto de partida y el
objetivo global.
La especializacin parte de un conjunto de entidades simple; enfatiza las diferencias entre las
entidades dentro del conjunto mediante la creacin de distintos conjuntos de entidades de nivel
ms bajo. Estos conjuntos de entidades de nivel ms bajo pueden tener atributos, o pueden
participar en relaciones que no se aplican a todas las entidades del conjunto de entidades de
nivel ms alto. Realmente, la razn de que el diseador aplique la especializacin es representar
tales caractersticas diferentes. Si cliente y empleado no tuvieran cada una atributos nicos que
no tuvieran las entidades persona en la que participan, no habra necesidad de especializar el
conjunto de entidades persona.
Herencia de atributos
Una propiedad crucial de las entidades de nivel ms alto y ms bajo creadas mediante
especializacin y generalizacin es la herencia de atributos. Los atributos de los conjuntos de
entidades de nivel ms alto se dice que son heredados por los conjuntos de entidades de nivel
ms bajo. Por ejemplo, cliente y empleado heredan los atributos de persona. As, cliente se
describe mediante sus atributos nombre, calle y ciudad y adicionalmente por el atributo idcliente; empleado se describe mediante sus atributos nombre, calle y ciudad y adicionalmente
por los atributos id-empleado y sueldo.
Un conjunto de entidades de nivel ms bajo (o subclase) tambin hereda la participacin en los
conjuntos de relaciones en los que su entidad de nivel ms alto (o superclase) participa. Ambos
conjuntos de entidades oficial, cajero y secretaria participan en el conjunto de relaciones
trabaja-para. La herencia de atributos se aplica en todas las capas de los conjuntos de entidades
de nivel ms bajo. Los conjuntos de entidades anteriores pueden participar cualquier relacin en
que participe el conjunto de entidades persona. Si se llega a una porcin dada de un modelo E-R
mediante especializacin o generalizacin, el resultado es bsicamente el mismo:

Un conjunto de entidades de nivel ms alto con atributos y relaciones


que se aplican a todos los conjuntos de entidades de nivel ms bajo.

Conjuntos de entidades de nivel ms bajo con caractersticas distintivas


que se aplican slo en un conjunto de entidades particular.
En lo que sigue, aunque a menudo se har referencia slo a la generalizacin, las propiedades
que se discuten pertenecen a ambos procesos. En la Figura 9 se describe una jerarqua de
conjuntos de entidades. En la figura, empleado es un conjunto de entidades de nivel ms bajo
de persona y un conjunto de entidades de nivel ms alto de los conjuntos de entidades oficial,
cajero y secretaria. En una jerarqua, un conjunto de entidades dado puede estar implicado
como un conjunto de entidades de nivel ms bajo slo en una nica relacin ES. Si un conjunto
de entidades es un conjunto de entidades de nivel ms bajo en ms de una relacin ES,
entonces el conjunto de entidades tiene herencia mltiple, y la estructura resultante se
denomina retculo.

Restricciones sobre las generalizaciones


Para modelar una empresa ms exactamente, el diseador de la base de datos puede elegir
colocar ciertas restricciones en una generalizacin particular. Un tipo de restriccin implica
determinar qu entidades pueden ser miembros de un conjunto de entidades de nivel ms bajo

MODELAMIENTO DE BASE DE DATOS5


Modelo Entidad Relacin Extendido
dado. Tales relaciones de miembros pueden ser algunas de los siguientes:
Definido por condicin
En los conjuntos de entidades de nivel ms bajo, la relacin miembro se evala en
funcin de si una entidad satisface o no una condicin explcita o predicado. Por ejemplo,
asmase que el conjunto de entidades de nivel ms alto cuenta tiene el atributo tipocuenta. Todas las entidades cuenta se evalan segn la definicin del atributo tipocuenta. Slo aquellas entidades que satisfagan la condicin tipo-cuenta = cuenta de
ahorro podrn pertenecer al conjunto de entidades de nivel ms bajo cuenta-ahorro.
Todas las entidades que satisfagan la condicin tipo-cuenta = cuenta corriente estarn
incluidas en cuenta-corriente. Como todas las entidades de nivel ms bajo se evalan en
funcin del mismo atributo (en este caso, tipo-cuenta), este tipo de generalizacin se
denomina definido por atributo.
Definido por el usuario
Los conjuntos de entidades de nivel ms bajo definidos por el usuario no estn
restringidos mediante una condicin de miembro; en cambio, las entidades se asignan a
un conjunto de entidades dado por el usuario de la base de datos. Por ejemplo, asmase
que, despus de tres meses de empleo, se asignan los empleados del banco a uno de los
cuatro grupos de trabajo. Los grupos se representan, por tanto, como cuatro conjuntos
de entidades de nivel ms bajo del conjunto de entidades de nivel ms alto empleado.
Un empleado dado no se asigna a una entidad grupo automticamente en trminos de
una condicin que lo defina explcitamente. En su lugar, la asignacin al grupo se hace
de forma individual por el usuario a cargo de la decisin. Las asignacin se implementa
mediante una operacin que aade una entidad a un conjunto de entidades.
Un segundo tipo de restricciones se define segn si las entidades pueden pertenecer a ms de
un conjunto de entidades de nivel ms bajo en una generalizacin simple. Los conjuntos de
entidades de nivel ms bajo pueden ser uno de los siguientes:
Disjunto
Una restriccin sobre el carcter disjunto requiere que una entidad no pertenezca a ms
de un conjunto de entidades de nivel ms bajo. En el ejemplo, una entidad cuenta puede
satisfacer slo una condicin para el atributo tipo-cuenta; una entidad puede ser bien
una cuenta de ahorro o bien una cuenta corriente, pero no ambas cosas a la vez.
Solapado
En las generalizaciones solapadas, la misma entidad puede pertenecer a ms de un
conjunto de entidades de nivel ms bajo en una generalizacin simple. Como ilustracin,
tomando el ejemplo del grupo de trabajo del empleado, asmase que ciertos directores
participen en ms de un grupo de trabajo. Un empleado dado puede, por lo tanto,
aparecer en ms de uno de los conjuntos de entidades grupo que son conjuntos de
entidades de nivel ms bajo de empleado. As, la generalizacin es solapada. Como otro
ejemplo, supngase la generalizacin aplicada a los conjuntos de entidades cliente y
empleado conduce a un conjunto de entidades de nivel ms alto persona. La
generalizacin est solapada si un empleado tambin puede ser un cliente.
La entidad de nivel ms bajo solapada es el caso predeterminado; la restriccin sobre el carcter
disjunto se debe colocar explcitamente en una generalizacin (o especializacin). Se puede
identificar una restriccin sobre el carcter disjunto en un diagrama E-R aadiendo la palabra
disjunto en el smbolo del tringulo.
Una restriccin final, la restriccin de completitud en una generalizacin o especializacin,
especifica si un conjunto de entidades de nivel ms alto debe pertenecer o no a al menos uno de
los conjuntos de entidades de nivel ms bajo en una generalizacin/especializacin. Esta
restriccin puede ser una de las siguientes:
Generalizacin o especializacin total
Cada entidad de nivel ms alto debe pertenecer a un conjunto de entidades de nivel ms
bajo.
Generalizacin o especializacin parcial
Algunas entidades de nivel ms alto pueden no pertenecer a algn conjunto de

MODELAMIENTO DE BASE DE DATOS5


Modelo Entidad Relacin Extendido
entidades de nivel ms bajo.
La
un
de
de

generalizacin parcial es la predeterminada. Se puede especificar una generalizacin total en


diagrama E-R usando una lnea doble para conectar el rectngulo que representa el conjunto
entidades de nivel ms alto con el smbolo del tringulo (esta notacin es similar a la notacin
participacin total en una relacin).

La generalizacin de cuenta es total: todas las entidades cuenta deben ser o bien cuentas de
ahorro o bien cuentas corrientes. Debido a que el conjunto de entidades de nivel ms alto
alcanzado a travs de la generalizacin est generalmente compuesta nicamente por aquellas
entidades del conjunto de entidades de nivel ms bajo, la restriccin de completitud para un
conjunto de entidades de nivel ms alto generalizado es habitualmente total. Cuando la
restriccin es parcial, la entidad de nivel ms alto no aparece necesariamente en el conjunto de
entidades de nivel ms bajo. Los conjuntos de entidades grupo de trabajo ilustran una
especializacin parcial. Como los empleados se asignan a grupos slo despus de llevar tres
meses en el trabajo, algunas entidades empleado pueden no ser miembros de ningn conjunto
de entidades grupo de nivel ms bajo.
Los conjuntos de entidades equipo se pueden caracterizar ms completamente como una
especializacin de empleado parcial y solapada. La generalizacin de cuenta-corriente y cuentaahorro en cuenta es una generalizacin total y disjunta. Las restricciones de completitud y sobre
el carcter disjunto, sin embargo, no dependen una de la otra. Los patrones de restricciones
pueden ser tambin parcial-disjunta y total-solapada.
Se puede ver que ciertos requisitos de insercin y borrado son consecuencia de las restricciones
que se aplican a una generalizacin o especializacin dada. Por ejemplo, cuando se coloca una
restriccin de completitud total, una entidad insertada en un conjunto de entidades de nivel ms
alto se debe insertar en al menos uno de los conjuntos de entidades de nivel ms bajo. Con una
restriccin de definicin por condicin, todas las entidades de nivel ms alto que satisfacen la
condicin se deben insertar en el conjunto de entidades de nivel ms bajo. Finalmente, una
entidad que se borra de un conjunto de entidades de nivel ms alto, tambin se debe borrar de
todos los conjuntos de entidades de nivel ms bajo asociados a los que pertenezca.
Agregacin
Una limitacin del modelo E-R es que no resulta posible expresar relaciones entre relaciones.
Para ilustrar la necesidad de tales construcciones considrese la relacin ternaria trabaja-en, que
se vio anteriormente, entre empleado, sucursal y trabajo. Supngase ahora que se desean
registrar los directores para las tareas realizadas por un empleado en una sucursal; es decir, se
desean registrar directores por combinaciones (empleado, sucursal, trabajo). Asmase que
existe una entidad director.
Una alternativa para representar esta relacin es crear una relacin cuaternaria dirige entre
empleado, sucursal, trabajo y director (se necesita una relacin cuaternaria; una relacin binaria
entre director y empleado no permitira representar las combinaciones [sucursal, trabajo] de un
empleado que estn dirigidas por un director). Parece que los conjuntos de relaciones trabaja-en
y dirige se pueden combinar en un nico conjunto de relaciones. No obstante, no se deberan
combinar, dado que algunas combinaciones empleado, sucursal, trabajo puede que no tengan
director.
Hay informacin redundante en la figura resultante, ya que cada combinacin empleado,
sucursal, trabajo en dirige tambin lo est en trabaja-en. Si el director fuese un valor en lugar
de una entidad director, se podra hacer que director fuese un atributo multivalorado de la
relacin trabaja-en. Pero esto implica que es ms difcil (tanto lgicamente como en coste de
ejecucin) encontrar, por ejemplo, los triples empleado-sucursal-trabajo de los que un director
es responsable. Como el director es una entidad director, se descarta esta alternativa en
cualquier caso.
La mejor forma de modelar una situacin como sta es usar la agregacin.
una abstraccin a travs de la cual las relaciones se tratan como entidades
As, para este ejemplo, se considera el conjunto de relaciones trabaja-en
conjuntos de entidades empleado, sucursal y trabajo) como un conjunto de

La agregacin es
de nivel ms alto.
(que relaciona los
entidades de nivel

MODELAMIENTO DE BASE DE DATOS5


Modelo Entidad Relacin Extendido
ms alto denominado trabaja-en. Tal conjunto de entidades se trata de la misma forma que
cualquier otro conjunto de entidades. Se puede crear entonces una relacin binaria dirige entre
trabaja-en y director para representar quin dirige las tareas. En la Figura 10 se muestra una
notacin para la agregacin que se usa habitualmente para esta situacin.