jueves, 22 de septiembre de 2011

Modelado de las clases, superclases, la especialización

El Modelo Entidad-Relación Extendido incluye todos los conceptos del Entidad-Relación e incorpora los conceptos de Subclase y superclase con los conceptos asociados de Especialización y Generalización. Otro nuevo concepto incluido por el ERE es el de Categoría. Asociado a estos conceptos está el importante mecanismo de Herencia de atributos. Habrá que tener en cuenta que no existe una terminología estandarizada para estos conceptos, por lo que usaremos la mas difundida.


Subclases, Superclases y Especialización

En el modelo Entidad-Relación, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propósitos de la Base de

Datos y, por tanto, deberían representarse de forma explícita. Por ejemplo, la entidad EMPLEADO puede a su vez subdividirse en SECRETARIA, INGENIERO, JEFE, TÉCNICO, ASALARIADO, SUBCONTRATADO, etc. El conjunto de ocurrencias de entidad en cada una de estas entidades será un subconjunto de las ocurrencias de entidad de EMPLEADO, ya que por ejemplo, un ingeniero también es un empleado. Llamaremos a cada uno de estos subconjuntos Subclases de la entidad EMPLEADO y a EMPLEADO una Supercalse de cada uno de estos subconjuntos.

Llamaremos a la relación existente entre las Superclases y las Subclases como relación Clase/Subclase. En el ejemplo anterior, EMPLEADO/SECRETARIA y EMPLEADO/TÉCNICO son dos relaciones Clase/Subclase. Hay que tener en cuenta que una ocurrencia de una Subclase representa el mismo objeto real que alguna correspondiente a su Superclase, por ejemplo la SECRETARIA "Concha Leco" será también la EMPLEADO "Concha Leco". Por tanto, la ocurrencia de Subclase es la misma que en la Superclase pero con un rol específico. Una ocurrencia de Subclase no tienen sentido si no es a su vez ocurrencia de Superclase. Por otro lado, una ocurrencia de superclase puede ser a su vez ocurrencia de varias subclases o de ninguna. Por ejemplo, "Roberto Mate" como ocurrencia de EMPLEADO puede a su vez pertenecer a subclases INGENIERO y ASALARIADO.

Herencia de atributos en la relación Clase/subclase

Debido a que una subclase es a su vez parte se una superclase, la subclase tendrá sus atributos específicos así como los atributos correspondientes a la superclase a la que pertenece. Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece. De la misma manera hereda las relaciones en las que su correspondiente superclase participa.

Especialización

El proceso por el que se definen las diferentes subclases de una superclase se conoce como especialización. El conjunto de subclases se define basándonos en características diferenciadoras de las ocurrencias de entidad de la superclase. Por ejemplo, el conjunto se subclases {SECRETARIA, INGENIERO, TECNICO} es una especialización de la superclase EMPLEADO mediante la distinción del tipo de trabajo en cada ocurrencia de entidad. Podemos tener varias especializaciones de una misma entidad basándonos en distintos criterios. Por ejemplo, otra especialización de EMPLEADO podría dar lugar a las subclases ASALARIADO y SUBCONTRATADO, dependiendo del tipo de contrato.

Diagramas ERE

La figura 1 muestra como se representa la especialización en un diagrama ERE. Las subclases definidas por una especialización están unidas mediante líneas a un circulo, que conecta con la superclase. El símbolo de pertenencia en las líneas entre las subclases y el circulo representan la dirección de la relación clase/subclase. Los tributos aplicables solamente a cada una de las subclases se unen a estas mediante arcos (por ejemplo, velocidad en la subclase SECRETARIA). Estos atributos se denominan atributos específicos de la subclase. Las subclases también pueden tener relaciones especificas con otras entidades (por ejemplo, la relación PERTENECE entre SUBCONTRATADO y EMPRESA). El símbolo d del círculo se explicará mas adelante.

Utilización de subclases en los modelos de datos

Hay dos razones principales para el uso de la relación clase/subclase en los modelos de datos. La primera es que ciertos atributos no pueden ser aplicados a todas las ocurrencias de entidad correspondiente a la superclase. Una subclase se define para agrupar aquellas ocurrencias de entidad donde el atributo es aplicable. Suele ocurrir que las subclases comparten la mayoría de los atributos correspondientes a la supercalse. Por ejemplo, SECRETARIA tiene el atributo de velocidad mientras que INGENIERO tienetipo, sin embargo ambos comparten los mismos atributos de EMPLEADO.




 figura 1


La segunda razón para la utilización de subclases es que algunas relaciones pueden tener sentido solo para algunas ocurrencias de entidad de la superclase. Por ejemplo, si solo los empleados subcontratados pueden pertenecer a otras empresas, podremos representar este hecho mediante la creación de la subclase SUBCONTRATADO y relacionarla con la entidad EMPRESA mediante la relación PERTENECE, como se puede ver en la figura 1.

No hay comentarios:

Publicar un comentario