Formación informática

Java | Joomla | MySQL

Fundamentos de Desarrollo de Bases de Datos - Tema 5.5: Diagrama entidad-relación extendido

Los conceptos básicos del modelo E-R pueden modelar la mayoría de las situaciones, pero algunos aspectos se pueden modelar más adecuadamente con el modelo E-R extendido. Algunas características de este diagrama son la generalización, la agregación, la especialización y la herencia de atributos

Generalización

Las generalizaciones nos proporcionan un mecanismo de abstracción que permite especializar una entidad, llamada supertipo, en subtipos; también puede leerse a la inversa, generalizar subtipos en el supertipo. De esta manera, vemos un conjunto de ocurrencias de una entidad como ocurrencias de otra entidad.

La forma más sencilla de encontrar generalizaciones es encontrar una serie de atributos comunes a un conjunto de entidades. Los atributos comunes describirán al supertipo mientras que los atributos particulares permanecerán en los supertipos.

 Por ejemplo, un Pájaro es una Animal y un Pez es un Animal; en este caso, Animal es el supertipo y Pájaro y Pez son subtipos de Animal.

La idea de generalización está próxima a la de herencia en la programación orientada a objetos.

La generalización se representa con un triángulo que incluye el texto is a entre las entidades.

Teniendo en cuanta la relación existente entres supertipo y subtipo, existen dos tipos:

  • Total: que significa que no hay otro u otros subtipos.
  • Parcial: significa que pueden haber otros subtipos.

Si tenemos en cuenta las  coincidencias en los ocurrencias en los subtipos, se dividen en dos:

  • Exclusiva: que significa que una subtipo no puede ser de otro, no pudiendo aparecer una ocurrencia de un subtipo en el resto de subtipos
  • Solapada: significa que las ocurrencias de un subtipo pueden aparecer en el resto de subtipos.

En la imagen adjunta se observa la representación gráfica de todos estos casos.

Generalizaciones en el modelo entidad-relación

Por ejemplo, supongamos que una empresa tiene Empleados y estos pueden ser Ingenieros, Directivos y Administrativos, sin existir ningún otro tipo de empleado y que los empleados solo pertenecen a un tipo. En este caso, Empleado es una generalización total y exclusiva de Ingeniero, Directivo y Administrativo.

Ahora cambiemos los condicionantes, supongamos que una empresa tiene Empleados y estos pueden ser Ingenieros, Directivos y Administrativos, existiendo otros tipos de empleados y que los además un empleado realiza diversas funciones, pudiendo ser Ingeniero y Directivo. En este caso, Empleado es una generalización parcial y solapada de empleados.

Por lo tanto, vemos que en función de los condicionantes varía la representación gráfica.

Agregación

Una limitación del modelo E-R es que no resulta posible expresar relaciones entre relaciones. En el supuesto de que un Empleado Realiza sus Trabajo en Sucursales, surge la relación ternaria trabaja-en, que relaciona las entidades Empleado, Sucursal y Trabajo.

A esto añadimos que se desean registrar los directores para las tareas realizadas por un empleado en una sucursal. Aparecen una entidad nueva llamada Director que daría lugar a una relación cuaternaria entre las cuatro entidades debido a que se necesita una relación cuaternaria; una relación binaria entre Director y Empleado no permitiría representar las combinaciones [Sucursal, Trabajo] de un Empleado que están 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 deberían combinar, dado que algunas combinaciones empleado, sucursal, trabajo puede que no tengan director.

Hay información redundante en la figura resultante, ya que cada combinación Empleado, Sucursal, Trabajo en dirige también lo está en Trabaja-en. Si el director fuese un valor en lugar de una entidad director, se podría hacer que director fuese un atributo multivalorado de la relación Trabaja-en. Pero esto implica que es más difícil (tanto lógicamente como en coste de ejecución) encontrar, por ejemplo, los triples Empleado-Sucursal-Trabajo de los que un Director es responsable. Como el director es una entidad, se descarta esta alternativa en cualquier caso.

La mejor forma de modelar una situación como ésta es usar la agregación. La agregación es una abstracción a través de la cual las relaciones se tratan como entidades de nivel más alto. Así, para este ejemplo, se considera el conjunto de relaciones Trabaja-en (que relaciona los conjuntos de entidades empleado, sucursal y trabajo) como un conjunto de entidades de nivel más 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 relación binaria dirige entre trabaja-en y director para representar quién dirige las tareas. Esto quedaría representado de acuerdo al diagrama de abajo. Las entidades agregadas se encierran en un rectángulo que recibirá un nombre. De esta forma, ya podemos realizar la unión entre dos relaciones, que antes teníamos impedido de acuerdo a las normas del diagrama.

Agregación el el modelo entidad-relación

El objetivo es doble. Bien representar asociaciones entre elementos de relaciones y de otros conjuntos de entidades bien representar relaciones entre múltiples conjuntos de entidades pero manteniendo relaciones binarias. Así se reinterpreta una relación como si fuera un conjunto de entidades. El nuevo conjunto de entidades se utiliza como cualquier otro.

Veamos otro ejemplo. Queremos gestionar los partidos jugados de cualquier deporte. Cada partido tiene lugar entre dos equipos (el que juega en casa y el que juega fuera) y tiene un resultado. A cada partido le corresponde también un árbitro. Nos interesa determinar qué equipos han jugado entre sí y con qué resultado y quién ha arbitrado cada partido.

Si ahora queremos incluir las empresas que publicitan sus productos durante un partido, ¿có9mo se logra? Sería necesario introducir un tipo de entidad Empresas y un tipo de relación Anuncia. Anuncia debería relacionar Empresas con Partidos, pero no existe esta entidad. Una posibilidad sería crear una nueva entidad ternaria entre Equipos y Empresas, pero esto daría lugar a redundancia en los atributos de Partido. La solución es crear una agregación denominada Partidos, que se tratará como un tipo de entidad y que puede relacionarse con Empresas.

1.1.3. Dependencia de las relaciones

El concepto de entidades fuertes y débiles está relacionado con el concepto de dependencia de existencia. Una entidad débil es, por definición, una entidad subordinada a la entidad dominante de la cual surge su existencia. Toda dependencia de identidad es una dependencia de existencia, pero una dependencia de existencia no implica necesariamente una dependencia de identidad.

Hay dependencia de existencia cuando en una relación se está vinculando una entidad fuerte con una entidad débil, de tal forma que la ocurrencia de la entidad débil no exista sin la ocurrencia de la entidad fuerte de la cual depende. Por ejemplo, vamos a analizar el supuesto que queremos guardar los libros escritos por sus autores. Tenemos las entidades Autor y Libros que se relación mediante Escribe. La entidad fuerte es Autor mientras que la entidad débil es Libros. Dicho de otra forma, El autor escribe libros y varios libros son escritos por un autor. Si los Autores no existieran tampoco los libros ya que dependen de la escritura de un autor. Este tipo de relación se representa por un rombo con una letra mayúscula (E) en la parte superior para especificar la existencia.

Dependencia en las relaciones en el modelo entidad-relación

Existen  algunas  entidades  débiles  que  no  tienen  suficientes  propiedades  para  garantizar  la identificación o distinción de entidades.  En estos casos es necesario forzar el mecanismo de identificación de dicha entidad débil con la composición de atributos primarios de la entidad de orden superior y algunos atributos de la entidad débil.  Entonces tenemos una relación con dependencia en identificación, que implica también dependencia en existencia. Así si las entidades Libro y Ejemplares se relacionan mediante Tiene, el libro tiene ejemplares, los libros tiene un código de libro y los ejemplares además tienen un número de ejemplar. Esto los hace diferentes.

Tema anterior: restricciones en el modelo entidad-relación     Tema siguiente: solución del digrama entidad-relación del ejemplo

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información