Saltar la navegación

7.2.- Generalización y especialización.

Tres triángulos invertidos, con tres líneas que salen de los lados de cada uno. El primer triángulo está vacío, en el segundo puede leerse IS A y en el tercero puede leerse ES UN.
José Luís García Martínez.
Representación del símbolo de una jerarquía. (Uso educativo nc)

La segunda extensión incorporada en el modelo Entidad/Relación Extendido se centra en nuevos tipos de relaciones que van a permitir modelar la realidad de una manera más fiel. Estos nuevos tipos de relación reciben el nombre de jerarquías y se basan en los conceptos de generalización, especialización y herencia.

Cuando estamos diseñando una base de datos puede que nos encontremos con conjuntos de entidades que posean características comunes, lo que permitiría crear un tipo de entidad de nivel más alto que englobase dichas características. Y a su vez, puede que necesitemos dividir un conjunto de entidades en diferentes subgrupos de entidades por tener éstas, características diferenciadoras. Este proceso de refinamiento ascendente/descendente, permite expresar mediante la generalización la existencia de tipos de entidades de nivel superior que engloban a conjuntos de entidades de nivel inferior. A los conjuntos de entidades de nivel superior también se les denomina superclase o supertipo. A los conjuntos de entidades de nivel inferior se les denomina subclase o subtipo.

Por tanto, existirá la posibilidad de realizar una especialización de una superclase en subclases, y análogamente, establecer una generalización de las subclases en superclases. La generalización es la reunión en una superclase o supertivo de entidad de una serie de subclases o subtipos de entidades, que poseen características comunes. Las subclases tendrán otras características que las diferenciarán entre ellas.

Se muestra una entidad superclase y tres entidades subclase conectadas a la primera a través de un triángulo invertido. Cada entidad tiene sus atributos y en una leyenda se explica la cardinalidad de las entidades.
José Luís García Martínez (Uso educativo nc)

¿Cómo detectamos una generalización? Podremos identificar una generalización cuando encontremos una serie de atributos comunes a un conjunto de entidades, y otros atributos que sean específicos. Los atributos comunes conforman la superclase o supertipo y los atributos específicos la subclase o subtipo.

Las jerarquías se caracterizan por un concepto que hemos de tener en cuenta, la herencia. A través de la herencia los atributos de una superclase de entidad son heredados por las subclases. Si una superclase interviene en una relación, las subclases también lo harán.

¿Cómo se representa una generalización o especialización? Existen varias notaciones, pero hemos de convenir que la relación que se establece entre una superclase de entidad y todos sus subtipos se expresa a través de las palabras ES UN, o en notación inglesa IS A, que correspondería con ES UN TIPO DE. Partiendo de este punto, una jerarquía se representa mediante un triángulo invertido, sobre él quedará la entidad superclase y conectadas a él a través de líneas rectas, las subclases.

En el ejemplo de la imagen, las subclases INVITADO, REGISTRADO y ADMINISTRADOR constituyen subclases de la superclase USUARIO. Cada una de ellas aporta sus propias características y heredan las pertenecientes a su superclase.

Una generalización/especialización podrá tener las siguientes restricciones semánticas:

  • Totalidad: una generalización/especialización será total si todo ejemplar de la superclase pertenece a alguna de las subclases.
  • Parcialidad: una generalización/especialización será parcial si no todos los ejemplares de la superclase pertenecen a alguna de las subclases.
  • Solapamiento: una generalización/especialización presentará solapamiento si un mismo ejemplar de la superclase puede pertenecer a más de una subclase.
  • Exclusividad: una generalización/especialización presentará exclusividad si un mismo ejemplar de la superclase pertenece sólo a una subclase.

Debes conocer

Las diferentes restricciones semánticas descritas tienen su representación gráfica, a través del gráfico que a continuación te mostramos podrás entender mejor su funcionamiento.

Cuatro esquemas, muestran la simbología de representación de cuatro tipos de jerarquías, basándose en las restricciones totales, parciales, exclusivas y con solapamiento.
José Luís García Martínez..

Ejemplo de Tipos de jerarquías
(Uso educativo nc)

 

Ejercicio Resuelto. Ejemplo de generalización y especialización

Supongamos la existencia de dos entidades TURISMO y CAMION. Los atributos de la entidad TURISMO son: Num_bastidor, Fecha_fab, precio y Num_puertas. Los atributos de la entidad CAMION son: Num_bastidor, Fecha_fab, precio, Num_ejes y Tonelaje.

Si analizamos ambas entidades existen algunos atributos comunes y otros que no. Por tanto, podremos establecer una jerarquía. Para ello, reuniremos los atributos comunes y los asociaremos a una nueva entidad superclase denominada VEHICULO. Las subclases TURISMO y CAMI0N, con sus atributos específicos, quedarán asociadas a la superclase VEHICULO mediante una jerarquía parcial con solapamiento.

¿ Cómo lo representarías ?