3.8. Transformacion de la generalizacion/especializacion

3.8. Transformacion de la generalizacion/especializacion Dataprix 30 September, 2009 - 15:00

Cada una de las entidades superclase y subclase que forman parte de una generalización/especialización se transforma en una relación:
a) La relación de la entidad superclase tiene como clave primaria la clave de la entidad superclase y contiene todos los atributos comunes.
b) Las relaciones de las entidades subclase tienen como clave primaria la clave de la entidad superclase y contienen los atributos específicos
de la subclase.

 

Ejemplo de transformación de la generalización/especialización

Veamos un ejemplo (consultad el gráfico en la página siguiente) que contiene una generalización/especialización y, también, una interrelación M:N en la que interviene una de las entidades subclase. Este ejemplo se traduce al modelo relacional como se indica a continuación:

EMPLEADO(DNI, nombre, dirección, teléfono)
DIRECTIVO(DNI, coche)
  donde {DNI} referencia EMPLEADO
ADMINISTRATIVO (DNI, antigüedad)
  donde {DNI} referencia EMPLEADO
TÉCNICO (DNI, título)
  donde {DNI} referencia EMPLEADO
PROYECTO(pro, ...)
TRABAJA(DNI, pro, superficie)
  donde {DNI} referencia TÉCNICO
  y {pro} referencia PROYECTO

 

Conviene observar que los atributos comunes se han situado en la relación EMPLEADO y que los atributos específicos se han situado en la relación de su entidad subclase. De este modo, coche está en DIRECTIVO, título en TÉCNICO y antigüedad en ADMINISTRATIVO.

Por otro lado, la interrelación específica para los empleados técnicos denominada trabaja se transforma en la relación TRABAJA. Observad que esta relación tiene una clave foránea que referencia sólo a los empleados técnicos, y no a los empleados directivos o administrativos.