La diferencie entre ambos modelos recae en que el modelo EER adiciona funcionalidades al ER, tales como el uso de cardinalidad, agregación, generalización. Asimismo, como los conceptos de superclases, retículas, entre otros. Todos estos serán explicados más adelante.
SUBCLASE: Grupo de elementos con algo en común, que pertenecen a una ENTIDAD.
Ejemplo:
Pertenecientes a EMPLEADO, tenemos las subclases INGENIERO, SECRETARIO, SUPERVISOR...
SUPERCLASE: Entidad de la que procede una SUBCLASE
ESPECIALIZACIÓN: Proceso para definir un conjunto de subclases de un tipo de Entidad (llamada SUPERCLASE).
– Pueden definirse varias subclases según distintos criterios.
Ejemplo: Empleado Ä Tipo de Trabajo: Ingeniero, Técnico...
Ä Tipo de Contrato: Fijo, Por Horas...
– Deben definirse los atributos y relaciones específicas (si existen).
Una subclase puede tener, a su vez, otras subclases formando así una Jerarquía (hierarchy) o un Retículo (lattice).
• Espec./Generalización JERÁRQUICA: Tiene la restricción de que todas las subclases pertenecen sólo a una superclase.
• Espec./Generalización en RETÍCULO (malla o red): Una subclase puede serlo de varias superclases.
En ese caso, la subclase HEREDA los atributos de TODAS sus superclases (por todos los caminos).
Asociación
Este concepto ya se introdujo.
Ciertas interrelaciones pueden ser estrictamente jerárquicas, en el sentido que una entidad de la relación no existe si no está presente la otra.
Para que esto ocurra, la cardinalidad debe ser (1,1) o (1,n).
Ejemplo.
Agregación
La agregación ayuda a construir entidades de niveles superiores.
Consideremos el siguiente ejemplo:
En este ejemplo se puede referenciar la interrelación Dicta entre los dos tipos de entidad como Curso, la que es una agregación realizada por conveniencia.
En este sentido la agregación permite generar una entidad de nivel superior, la que puede ser utilizada en otra
interrelación.
Ejemplo:
Generalización
Una forma de realizar generalizaciones es utilizar la relación Es_Un, y adaptarla al modelo ER.
Ejemplo. Consideremos la siguiente clasificación.
TIPO UNIÓN o CATEGORIA (union type or category): Subclase que representa una colección de objetos, que son un subconjunto de la UNION de distintos tipos de entidad.
– Ejemplo: Sup. 3 entidades Persona, Banco y Empresa.
• La categoría Propietario de un vehículo incluirá elementos de esos 3 tipos.
• La categoría Propietario es una subclase de la UNIÓN de los 3 tipos.
• También hemos creado la categoría VehículoRegistrado a la que no tienen porqué pertenecer todos los vehículos (puede haber vehículos no registrados). Eso no ocurriría
si se modela siendo {Coche,Camión} una especialización disjunta de Vehículo. Si esa especialización disjunta es PARCIAL indicaría que un Vehículo puede ser de una subclase distinta a {Coche,Camión}. Sin embargo, como Categoría eso no es posible.
– Una CATEGORÍA siempre tiene dos o más superclases (que son distintos tipos de entidad). Una Relación superclase/subclase sólo tiene una única superclase.
– Una CATEGORÍA es similar a una subclase compartida pero:
• Una subclase compartida debe pertenecer a TODAS sus superclases y hereda los atributos de TODAS ellas: Es un subconjunto de la INTERSECCIÓN de las superclases.
• Una CATEGORÍA es un subconjunto de la UNIÓN disjunta de varias superclases: Los miermbros de una Categoría deben pertenecer A UNA de las superclases (no a todas) y heredan sólo los atributos de la superclase a la que pertenezcan.
TIPOS UNION o CATEGORIAS:
• PARTICIPACIÓN en una CATEGORIA:
– TOTAL: Si todas las superclases de la Categoría deben ser miembros de la Categoría.
Una Categoría TOTAL también puede modelarse como Generalización Disjunta, lo cual es preferible si las entidades tienen muchos atributos/relaciones comunes.
Ej.: Un Edificio o Solar siempre debe ser una Propiedad.
– PARCIAL: Si no todas las superclases deben ser miembros de la Categoría.
Ej.: No toda Persona tiene que ser Propietaria (de un Vehículo Registrado).
• Así pues, en una categorización, la subclase o Categoría, debe pertenecer siempre a UNA y SOLO UNA de las superclases, pero las superclases no tienen que pertenecer a la Categoría. Si las superclases
deben pertenecer a la categoría entonces tenemos una Categoría TOTAL y se puede representar también como una Generalización disjunta.
– Recordemos que en toda Generalización todos los miembros de las subclases deben ser también miembros de la superclase. Al revés sólo se cumple si es TOTAL (y no se cumple si es PARCIAL).
No hay comentarios:
Publicar un comentario