jueves, 22 de septiembre de 2011

Uso de las categorías y la categorización

Todas las relaciones superclase/subclase vistas hasta ahora tienen superclase única. Incluso la subclase compartida JEFE DE INGENIERIA en la red de la figura 5 es una subclase de tres relaciones superclase/subclase distintas, donde cada una de las relaciones tienen una superclase única. En algunos casos, sin embargo, se necesita representar una relación superclase/ clase simple con mas de una superclase, donde las superclases son diferentes entidades. En este caso llamamos a la subclase categoría.

Por ejemplo, supongamos que tenemos tres entidades: PERSONA, BANCO y EMPRESA. En la Base de Datos de vehiculo, un dueño de un vehiculo puede ser una persona, un banco o una empresa. Necesitaremos crear una clase que contenga ocurrencias de las tres entidades para desempeñar el papel de propietario. Se creará con este fin una categoría propietario que sea una subclase de la unión de la clases EMPRESA, BANCO y PERSONA. Representaremos las Categorías en el diagrama ERE como se muestra en la figura 7. Las superclase EMPRESA, BANCO y PERSONA se conectan al círculo con el símbolo U (unión). Un arco con el símbolo de pertenencia conecta el circulo con la categoría (subclase) PROPIETARIO. Si es necesario un predicado de definición, éste se coloca cerca de la línea de la superclase a la cual se aplica el predicado. En la figura 8 tenemos dos categorías: PROPIETARIO, la cual es una subclase de la unión de PERSONA, BANCO y EMPRESA; y VEHICULO MATRICULADO, la cual es una subclase de la unión de COCHE y CAMION.

Una categoría tiene dos o más superclases que pueden representar distintas entidades, mientras que las otras relaciones superclase /subclase tienen una sola superclase. Podemos comparar una categoría, como PROPIETARIO en la figura 7, con la subclase compartida JEFE DE INGENIERIA se la figura 5. La segunda es una subclase de cada una de las tres superclases INGENIERO, JEFE y ASALARIADO, de manera que una ocurrencia de JEFE DE INGENIERIA debe existir en las tres. Esto representa la restricción de que un jefe de ingeniería debe se un INGENIERO, un JEFE, y un ASALARIADO; esto es, JEFE DE INGENIERIA es un subconjunto de la intersección de las tres subclases. Por otro lado, una categoría es un subconjunto de la unión de sus superclases. Por tanto, una ocurrencia de entidad que es miembro de PROPIETARIO, debe existir al menos en una de las superclases, pero no tiene que ser miembro de todas. Esto representa la restricción de que un PROPIETARIO puede ser una EMPRESA, un BANCO, o una PERSONA. en la figura 7. En este ejemplo, como en la mayoría de los casos en los que se usan categorías, una ocurrencia de la categoría es miembro de exactamente una de las superclases.

Figura 7. Dos categorías: PROPIETARIO y VEHICULO MATRICULADO.

La herencia de atributos funciona de forma mas selectiva en las categorías. Por ejemplo, en la figura 7 cada PROPIETARIO hereda los atributos de una EMPRESA, una PERSONA, o un BANCO, dependiendo de la superclase a la que pertenezca. Esto se conoce como herencia selectiva. Por otro lado, una subclase compartida como JEFE DE INGENIERIA (figura 5), hereda todos los atributos de sus superclases ASALARIADO, INGENIERO y JEFE.

Es interesante señalar la diferencia existente entre la categoría VEHICULO MATRICULADO de la figura 7 y la superclase generalizada VEHICULO de la figura 2b. En la figura 2b, cada coche y cada camión son VEHICULOS, pero en la figura 7, la categoría VEHICULO MATRICULADO incluye algunos coches o camiones, pero no necesariamente todos (algunos podrían no estar matriculados). En general, una especialización o una generalización como la de la figura 2b, si fuese parcial, no impediría la participación de otros VEHICULOS mediante la restricción de otras entidades, como MOTOS. Sin embargo, una categoría como VEHICULO MATRICULADO de la figura 7 implica que solo coches y camiones ,pero no otras entidades, pueden ser miembros de VEHICULO MATRICULADO.

Figura 8. Categorías. (a) Categoría parcial TITULAR DE CUENTA que es un subconjunto de la unión de la dos entidades EMPRESA y PERSONA. (b) Categoría total PROPIEDAD y una generalización similar.

Una categoría puede ser total o parcial. Por ejemplo, TITULAR DE CUENTA es una categoría parcial definida por predicado en la figura 8(a), donde c1 y c2 son las condiciones del predicado que especifican qué ocurrencias de EMPRESA y PERSONA, respectivamente, son miembros de TITULAR DE CUENTA. Sin embargo, la categoría PROPIEDAD de la figura 8(b) es total porque cada edificio o finca debe ser miembro de PROPIEDAD; esto se representa mediante una línea doble entre el círculo y la categoría. Las categorías parciales se representan mediante una línea simple entre la categoría y el círculo, como se ve en las figuras 7 y 8(a).

Las superclases de una categoría pueden tener diferentes claves, como se ve en la categoría PROPIETARIO de la figura 7; o pueden tener las mismas claves como se ve en la categoría VEHICULO MATRICULADO. Hay que tener en cuenta que, en el caso de que la categoría sea total, puede ser representada como una especialización o una generalización, como muestra la figura 8(b). En tal caso la elección de cual utilizar es subjetiva. Si dos clases representan las mismas entidades y comparten muchos atributos, incluyendo la misma clave, es preferible la utilización de especialización/generalización; en otro caso la categorización es más apropiada.

No hay comentarios:

Publicar un comentario