0% encontró este documento útil (0 votos)
277 vistas47 páginas

Modelo EER: Especialización y Generalización

El documento describe el modelo Entidad-Relación Extendido (EER), el cual incluye nuevos conceptos para modelar datos más complejos requeridos por aplicaciones como CAD/CAM, telecomunicaciones y GIS. El modelo EER introduce los conceptos de clase, subclase, herencia de atributos, especialización y generalización.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
277 vistas47 páginas

Modelo EER: Especialización y Generalización

El documento describe el modelo Entidad-Relación Extendido (EER), el cual incluye nuevos conceptos para modelar datos más complejos requeridos por aplicaciones como CAD/CAM, telecomunicaciones y GIS. El modelo EER introduce los conceptos de clase, subclase, herencia de atributos, especialización y generalización.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

El Modelo Entidad-Relación Extendido

(mejorado) (EER)
 Los conceptos de ER son suficientes para representar muchos de los esquemas de
bases de datos de las aplicaciones tradicionales.
 En las nuevas aplicaciones de tecnología de bases de datos, como las orientadas
al diseño de la ingeniería y la fabricación (CAD/CAM),, las telecomunicaciones,
los sistemas complejos de software y los GIS. Estos tipos de bases de datos tienen
requisitos más complejos que las aplicaciones tradicionales, lo que llevó al
desarrollo de nuevos conceptos en la semántica de modelado de datos que se
incorporaron en modelos de datos conceptuales como el ER, y obtener el modelo
EER (Enhanced Entity Relatioship)

 CAD/CAM son las siglas de Diseño asistido por computador/Fabricación asistida por computador (Colllpllter-Aided
Design/CompllterAided Manllfactllring).
 GIS (Sistemas de información geográfica, Geographic Information Systems).
CONCEPTOS

 CLASE: conjunto de entidades o colección de entidades de ese tipo que


existen en la base de datos.
 SUBCLASES: un tipo de entidades tiene varias subagrupaciones adicionales
de sus entidades, a cada una de estas subagrupaciones se les conoce como
subclase.
 VINCULO CLASE/SUBCLASE: es la relación entre una superclase y una de sus
subclases. (superclase/subclase)
 HERENCIA DE ATRIBUTOS en los vínculos superclase/subclase, una entidad
que es miembro de una subclase hereda todos los atributos de la entidad
como miembro de la superclase, también hereda todos los ejemplares de
los vínculo de los tipos de vínculos en los que participa la superclase
Especialización
 Especializacion: es el proceso de definir un conjunto de subclases de
un tipo de entidad, la cual recibe el nombre de superclase de la
especialización. El conjunto de subclases que forman una
especialización se define basándose en algunas características
distintivas de las entidades en la superclase.

 Atributos específicos (o atributos locales) , son los que se aplican


únicamente a las entidades de una subclase particular.
 Las instancias que pertenecen a las subclases de la especialización
representa a la misma persona que la entidad conectada a ella en la
superclase.
Diagrama EER que representa las subclases y la
especialización.

Figura 1
Instancias de una especialización.
Especialización y Generalización

 En resumen, el proceso de especialización no permite hacer lo siguiente:


 Definir un conjunto de subclases de un tipo de entidad.
 Establecer atributos específicos adicionales en cada subclase.
 Establecer relaciones específicas adicionales entre cada subclase y otras
entidades u otras subclases.

 Generalización: es el proceso inverso de abstracción en el que eliminemos


las diferencias existentes entre distintas entidades, identificamos las
características comunes y las generalizamos en una única superclase de la que
las entidades originales sean subclases especiales.
Ejemplo de Generalización:
Restricciones en la especialización y la
generalización
 1- En algunas especializaciones, podemos determinar con exactitud las
entidades que se convertirán en miembros de cada subclase situando una
condición en el valor de algunos atributos de la superclase. Estas subclases
reciben el nombre de subclases de predicado definido (o de condición
definida).

 Por ejemplo, si la entidad EMPLEADO cuenta con un atributo TipoTrabajo,


podemos especificar la pertenencia a la subclase SECRETARIA mediante la
condición (TipoTrabajo = 'Secretaria'), es decir, definiendo el predicado de la
subclase. Esta condición es una restricción específica que nos permite decir
que aquellas entidades de EMPLEADO cuyo valor para el atributo TipoTrabajo
sea 'Secretaria' pertenecen a esa subclase. Identificamos una subclase de
predicado definido escribiendo la condición a continuación de la línea que
conecta la subclase al círculo de especialización.
Restricciones en la especialización y la
generalización
 2- Si todas las subclases de una especialización tienen su condición de
peltenencia en el mismo atributo de la superclase, la propia especialización
recibe el nombre de especialización de atributo definido, y el atributo recibe
el nombre de atributo definitorio de la especialización.6 Identificamos una
especialización de atributo definido colocando el nombre del mismo al lado
del arco que va desde el círculo a la superclase.
Indicación en un diagrama EER de una especialización de atributo
definido para TipoTrabajo.

Figura 2
Restricciones en la especialización y la
generalización
 3- Cuando no tenemos una condición para determinar los miembros de una
subclase, se dice que es de tipo definido por usuario. Los miembros de este
tipo de subclase son determinados por los usuarios de la base de datos cuando
aplican la operación para añadir una entidad a la subclase.

 4- Existen otras dos restricciones que pueden aplicarse a una especialización.


La primera es la restricción de disyunción (disjointness), la cual especifica
que las subclases de la especialización deben estar separadas. donde la d
incluida en el círculo simboliza la separación. Si las subclases no están
obligadas a estar separadas, su conjunto de entidades pueden solaparse, es
decir, la misma entidad podría ser miembro de más de una subclase de la
especialización, se especifica colocando una o en el círculo.
La segunda restricción de una especialización se conoce como restricción de
integridad, la cual puede ser total o parcial.
Restricciones en la especialización y la
generalización

 Especializacion Total y Parcial. Generalizacion Total y Parcial.

 Por consiguiente, son posibles las cuatro siguientes restricciones en una


especialización:
 • Disyunción, total.
 • Disyunción, parcial.
 • Solapamiento, total.
 • Solapamiento, parcial.
Indicación de una especialización de solapamiento
(nondisjoint) en un diagrama EER.

Figura 3
Restricciones en la especialización y la
generalización

Desde luego, la restricción correcta viene determinada por la aplicación real que
se le quiera dar a cada especialización.
Por lo general, una superclase identificada a través del proceso de
generalización es total, ya que
está derivada a partir de las subclases y, por consiguiente, sólo contiene las
entidades incluidas en ellas.
Reglas de inserción y borrado

Existen ciertas reglas de inserción y borrado que se aplican a una


especialización (y una generalización) como consecuencia de las
restricciones indicadas anteriormente.
Éstas son algunas de esas reglas:
• El borrado de una entidad de una superclase implica su eliminación
automática de todas las subclases a las que pertenece.
• La inserción de una entidad en una superclase supone que la misma debe
insertarse en todas las subclases de predicado definido (o atributo definido)
en las que esa entidad cumpla la regla.
• La inserción de una entidad en una superclase de especialización total
conlleva que dicha entidad sea incluida obligatoriamente en, al menos, una
de las subclases de la especialización.
Ejercicio, el alumno realizar una lista completa de 2 reglas de inserción y
borrado para los distintos tipos de especialización.
Jerarquías y entramados de especialización y generalización

 Una subclase, por si misma, puede tener más subclases definidas en ella
formando una jerarquía o entramado (retícula) de especializaciones.
 Una especialización jerárquica tiene una restricción que dice que cada
subclase participa como tal en una única relación clase/subclase, es decir,
cada subclase sólo tiene un padre, lo que deriva en la formación de una
estlructura en árbol.
 En contraposición, en una especialización entramada (reticula), una
subclase puede serlo en más de una relación clase/subclase.
Subclase Compartida

 Una subclase que cuente con más de una superclase recibe el nombre de
subclase compartida, como ocurre con GERENTE_DE_INGENIERIA en la
siguiente Figura.
 Esto nos lleva al concepto conocido como herencia múltiple, en donde la
subclase compartida GERENTE_DE_INGENIERIA hereda directamente atributos
y relaciones de varias clases.
Figura 4
Utilización de la especialización y la
generalización en el refinamiento de los
esquemas conceptuales
 Ahora profundizaremos en las diferencias entre los procesos de especialización
y de generalización, y en cómo deben usarse para refinar esquemas
conceptuales durante el diseño de bases de datos conceptuales.
 En el proceso de especialización, partimos de una entidad para definir a
continuación subclases de la misma a través de especializaciones sucesivas,
esto es, definimos de forma repetida agrupaciones más específicas de la
entidad principal.
 Esta diversificación progresiva se corresponde con un proceso de refinamiento
conceptual de arriba abajo.
 Es posible llegar a la misma jerarquía o entramado desde otra dirección. En un
caso como éste, el proceso implica llevar a cabo una generalización en lugar de
una especialización y se corresponde con una síntesis conceptual de abajo
arriba
Figura 5
Modelado de tipos UNION usando
categorías

 Todas las relaciones superclase/subclase que hemos visto hasta ahora tenían
una sola superclase. Una subclase compartida como GERENTE _de_INGENIERIA
en el entramado (retícula) de la Figura anterior, es la subclase en tres
relaciones superclase/subclase distintas, donde cada una de estas tres
relaciones cuenta con una única superclase. Sin embargo, no resulta extraño
que la necesidad obligue a modelar una única relación superclase/subclase
con más de una superclase, donde esas superclases representen diferentes
tipos de entidades.
 En este caso, la subclase representará una colección de objetos que es un
subconjunto de la UNION de distintos tipos de entidades; llamaremos a esta
subclase un tipo unión o una categoría
Modelado de tipos UNION usando
categorías
 En los diagramas EER las Categorías se representan conectando todas las
superclases al circulo con el símbolo U, que representa la operación de
unión de conjuntos.
 Una categoría puede ser total o parcial.
 Una categoría total contiene la unión de todas las entidades de sus
superclases, mientras que una parcial puede almacenar un subconjunto de la
unión.
 Una categoría total está representada por una línea doble que la conecta con
el círculo, en tanto que una parcial está indicada por una línea sencilla.
 La herencia de atributos funciona de manera más selectiva en las categorías.
Figura 6
Categorías. (a) Categoría parcial CUENTAHABIENTE que es un subconjunto de la unión de dos
tipos de entidades, COMPAÑÍA y PERSONA. (b) Categoría total PROPIEDAD y una generalización
similar.

Figura 7
Esquema de una BD Universidad

Figura 8
Consideraciones de diseño para la
especialización/generalización

No siempre resulta sencillo elegir el diseño conceptual más apropiado para una
base de datos. A continuación nos centraremos en las guías maestras para el
diseño de la especialización/generalización y las categorías (tipos de unión) en
un modelo EER.

El diseño conceptual de una base de datos debe considerarse como un proceso de


refinamiento iterativo hasta llegar a lo que más se ajuste a nuestras necesidades.
Las siguientes notas pueden ayudar a alcanzar este propósito:

• En general, se pueden definir muchas especializaciones y subclases para que el modelo


conceptual sea fiel. Sin embargo, el inconveniente es que el diseño se vuelve algo confuso.

• Si una subclase tiene algunos atributos específicos (locales) y no cuenta con relaciones concretas,
puede incluirse en la superclase. Los atributos específicos pueden contener valores NULL para
aquellas entidades que no sean miembros de la subclase. Un atributo tipo podría especificar esta
circunstancia.

• De forma análoga, si todas las subclases de una especialización/generalización cuentan con


atributos específicos pero no con relaciones, pueden incluirse en la superclase y sustituirse con uno
o más atributos tipo que especifiquen la subclase o subclases a la que cada entidad pertenece.

• Deben evitarse los tipos y las categorías a menos que la situación garantice este tipo de
construcción, lo cual ocurre en ciertas situaciones prácticas. En caso de ser posible, intentaremos
modelar usando especialización/generalización.
• La elección de una restricción disyunción/solapamiento y total/parcial en una
especialización/generalización está condicionada por las reglas en las que se está llevando a cabo
el modelado. Si los requisitos no indican ningún tipo de restricción particular, la elección
predeterminada debería ser el solapamiento parcial, ya que esto no especifica ninguna restricción
en los miembros de la subclase.
Definiciones Formales:

 Una clase es un conjunto o colección de entidades; aquí se incluye cualquier


construcción del esquema EER que agrupe entidades, como tipos de entidad,
subclases, superclases y categorías.

 Una subclase S es una clase cuyas entidades deben ser siempre un


subconjunto de las entidades de otra clase llamada la superclase C de la
relación superclase/subclase (o IS-A, o ES-UN). Indicamos una relación de
este tipo como C/S. Para una relación superclase/subclase, siempre debemos
tener:
Definiciones formales:
Actividad 1: investigar 7 pasos para
transformar ER a Relacional
Actividad 2: investigar como transformar
subclases compartidas y categoría
Transformar EER a Relacional
Figura 9

Figura 11

Figura 10
Opciones para transformar especializaciones (o generalización) a relaciones.
a) Transformación del esquema EER de la figura 1 a relaciones usando la opción 8A.
b) Transformación del esquema EER de la figura 2(b) a relaciones empleando la opción 8B.
c) Transformación del esquema EER de la figura 1 usando la opción 8C, donde Tipo Trabajo desempeña el papel de atributo de tipo.
d) Transformación del esquema EER de la figura 3 empleando la opción 8D, con dos campos de tipo boleanos SeñalF y SeñalC.

Figura 12
La opción 8A funciona para cualquier restricciones sobre la especialización:
disjunta o traslapada, total o parcial.
En la opción 8B, la operación de EQUIRREUNION esta integrada al esquema y no
se necesita la relación L, como se ilustra en la figura 12(b) para la
especialización EER de la fig 10, esta opción solo funciona bien con ambas
restricciones, disjunta y total; si la especialización no es total, una entidad que
no pertenezca a ninguna de las subclases Si se perderá; si la especialización no es
disjunta, una entidad que pertenezca a más de una subclase tendrá almacenados
redundantemente en más de una Li sus atributos heredados de la superclase C.
En la opción 8B, ninguna relación contiene todas las entidades de la superclase
C; en consecuencia , deberemos aplicar una operación de UNION EXTERNA a las
relaciones Li para obtener todas las entidades de C. El resultado de la unión
externa será similar a las relaciones producidas con las operaciones 8C y 8D,
excepto que faltarán los campos de tipo. Siempre que busquemos una entidad
arbitraria en C, deberemos buscar en todas las m relaciones L i
Las opciones 8C y 8D crean una sola relación para representar la superclase C y
todas las subclases. Una entidad que no pertenezca a alguna de las subclases
tendrá valores nulos para los atributos específicos de esas subclases. Por esto, las
opciones mencionadas no se recomiendan si se han definido muchos atributos
específicos para las subclases. Sin embargo, si hay pocos atributos específicos,
estas transformaciones son preferibles a las operaciones 8A y 8B porque hacen
innecesario especificar operaciones de EQUIRREUNION Y UNION EXTERNA y por
tanto pueden producir una implementación más eficiente.
 La opción 8C sirve para manejar subclases disjuntas mediante la inclusión de
un solo atributo de tipo t para indicar la subclase a la que cada tupla
pertenece; así el dominio de t podría ser {1,2,..,m}. Si la especialización es
parcial, t puede tener valores nulos en las tuplas que no pertenezcan a
ninguna subclase. Si la especialización está definida por atributo, ese atributo
hará las funciones de t y éste no será necesario; esta opción se ilustra en la
figura 12(c) para la especialización EER de la figura 9
 Con la opción 8D se manejan subclases traslapadas mediante la inclusión de m
campos de tipo booleano, uno para cada subclase. Cada campo de tipo t,
puede tener un dominio {si,no}, donde un valor de sí indica que la tupla es
miembro de la subclase Si. Esta opción se ilustra en la figura 12(d) para la
especialización EER de la figura 11, donde SeñalF y SeñalC son los campos de
tipo. Observe que también es posible crear un solo campo de tipo con m bits,
en vez de los m campos de tipo.
Figura 5
Figura 13

Figura 14
Transformación de subclase compartida y
categorías
Transformación de Categorías:

Una subclase compartida, como GERENTE_DE_INGENIERIA en la figura 9, es una


subclase de varias superclases. Todas estas clases deben tener el mismo atributo
clave, de lo contrario, la subclase compartida se modelaría como categoría.
Podemos aplicar cualquiera de las opciones analizadas en paso 8 a una subclase
compartida, aunque por lo regular se utiliza la opción 8A.
En la figura 5, se uso la opción 8D para la subclase compartida
ESTUDIANTE_ASISTENTE

Transformación de Categorías:
Una categoría de la unión de dos o mas superclases que pueden tener diferentes
claves porque pueden ser de diferentes tipos de entidades. Un ejemplo es la
categoría DUEÑO que se muestra en la figura 4, que es subconjunto de la unión de
tres tipos de entidades , PERSONA, BANCO y COMPAÑIA. La otra categoría de la
figura 4, VEHICULO_REGISTRADO, tiene dos superclases con el mismo atributo clave.
Para establecer la transformación de una categoría cuyas superclases de
definición tengan diferentes claves se acostumbra especificar un nuevo atributo
clave, llamado clave sustituta, cuando se crea una relación que corresponda a la
categoría. Esto se hace porque las claves de las clases de definición son
diferentes , así que no podemos usar ninguna de ellas exclusivamente para
identificar todas las entidades de la categoría. Ahora podemos crear un esquema
de relación DUEÑO que corresponda a la categoría DUEÑO, tal como se ilustra en
la figura 13, e incluir cualquier atributo de la categoría en esta relación La clave
primaria de DUEÑO es la clave IdDueño. También agregamos el atributo de la
clave sustituta IdDueño como clave externa a cada relación que corresponda a
una superclase de la categoría, a fin de especificar las correspondencias en
valores entre la clave sustituta y la clave de cada superclase.
En una categoría cuyas superclases tengan la misma clave, como VEHICULO en la
figura 14, no hay necesidad de una clave sustituta. La transformación de la
categoría VEHICULO_REGISTRADO, que ilustra este caso, se muestra también en
la figura 14.
pagina 328 (637)
EER UML
Ejemplo de otra notación: representación
de la especialización y la generalización
en diagramas de clase UML

La notación básica para la especialización/generalización es conectar las


subclases por líneas verticales a otra horizontal, la cual cuenta con un triángulo
que conecta la línea horizontal a la superclase a través de otra línea vertical.
Un triángulo en blanco indica una especialización/generalización con la
restricción dedisyunción, mientras que otro relleno especifica otra de tipo
solapamiento.
La superclase raíz recibe el nombre de clase base, mientras que los nodos hoja
se conocen como clases hoja. En ambos casos está permitida la herencia simple
o múltiple.

También podría gustarte