jueves, 22 de septiembre de 2011

I.- Conceptos avanzados de modelo de datos.

1. Explique las diferencias entre el modelo ER y el modelo ER extendido (EER)

Los diagramas Entidad-Relación no cumplen su propósito con eficacia debido a que tienen limitaciones semánticas. Por ese motivo se suelen utilizar los diagramas Entidad-Relación extendidos que incorporan algunos elementos más al lenguaje.

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.

2. Explique el modelado de las clases, superclases, la especialización, y de retícula

Modelamiento de Clases
Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento.Un diagrama de clases esta compuesto por los siguientes elementos:

Clase: atributos, métodos y visibilidad.
Relaciones: Herencia, Composición, Agregación, Asociación y Uso.

Elementos

Clase, es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).En UML, una clase es representada por un rectángulo que posee tres divisiones:




En donde:

Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public).
Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).

Ejemplo:

Una Cuenta Corriente que posee como característica:

Balance

Puede realizar las operaciones de:
Depositar
Girar
y Balance

El diseño asociado es:


La Especialización:

Es el resultado de tomar un subconjunto de entidades de alto nivel para formar un conjunto de entidades de más bajo nivel.
    
* En la generalización cada entidad de alto nivel debe ser también una entidad de bajo nivel. La especialización no tiene este limitante.


* se representa por medio de un triángulo denominado con la etiqueta "ISA", se distingue de la generalización por el grosor de las líneas que conectan al triángulo con las entidades.


* La especialización denota la diferencia entre los conjuntos de entidades de alto y bajo nivel.


Superclase:


En el modelo E-R, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se agrupan en otros subconjuntos que tienen un significado propio para los propósitos de la Base de Datos.


Se deben tomar algunas consideraciones con las SubClases y las SuperClases:
  *Una instancia de subtipo también es instancia del supertipo y es la misma                         instancia, pero con un papel específico distinto.
  *Una instancia no puede existir sólo por ser miembro de un subtipo: también debe ser miembro del supertipo.
  *Una instancia del supertipo puede no ser miembro de ningún subtipo.


Ejemplo:







Retícula:





Una subclase puede tener más de una superclase. Un subtipo puede participar en varias relaciones superclase/subclase.


3. Explique el modelado de la generalización, agregación y asociación:

Generalización:
Es el proceso inverso de la especialización. Busca suprimir diferencias entre varios. Busca suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes, y formar una superclase que los incluya. Genera énfasis en las similitudes, donde cada instancia de la superclase es también una instancia de alguno de los subtipos.


Agregación:
Permite combinar varios tipos de entidad, relacionados mediante un tipo de relación, para formar un tipo de entidad agregada al nivel superior. Es útil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad.
*Agregación Compuesto/Componente: un todo se obtiene por la unión de diversas partes, que pueden ser objetos distintos y que desempeñan papeles distintos en la agregación.






*Agregación Colección/Miembro: un todo se obtiene por la unión de diversas partes del mismo tipo y que desempeñan el mismo papel en la agregación.


Asociación:
La abstracción de asociación permite asociar o vincular dos entidades independientes.
Una asociación queda identificada por la identificación de las entidades participantes. Una diferencia entre asociación y agregación es que al eliminar la asociación, las entidades participantes siguen existiendo. En la agregación si se elimina la entidad agregada se eliminan además las entidades que la forman. La forma de representar la asociación según los autores [Elmasri] consiste en crear una nueva entidad TRABAJA que depende en identificación de TECNICO y PROYECTO.


Autores como RobP, Coronell C1 proponen la representación de la asociación como un nuevo tipo de entidad denominada entidad compuesta, definiendo un símbolo que combina la representación de una entidad y una interrelación (tiene el comportamiento de ambas). De este modo, una entidad compuesta puede, a su vez, participar en otras interrelaciones en el modelo.




4. Explique el modelado de datos con especialización y generalización:

Dependiendo de que las ocurrencias de alguna subclase puedan aparecer o no en más de una subclase podemos diferenciar entre:

*Subclases disjuntas
*Subclases solapadas

Cuando una ocurrencia de la superclase puede aparecer en más de una subclase decimos que las subclases son solapadas.
Se representan por la letra 'O' (overlapping)

Cuando una ocurrencia de la superclase sólo aparece en una única subclase decimos que las subclases son disjuntas.
Se representan por la letra 'd' (disjoint)


Atendiendo al nivel de recubrimiento de la población (ejemplares/ocurrencias) de la superclase respecto a la población de las superclases pueden representarse dos tipos de jerarquías:

*Jerarquía Total
*Jerarquía Parcial

Cuando toda ocurrencia de la superclase aparece al menos en una subclase se dice que la jerarquía es total.
Se representa por:


Cuando en la superclase existen ocurrencias que no aparecen en ninguna de las subclases se dice que la jerarquía es parcial.
Se representa por:


Un ejemplo donde se usan los diagramas:


5. Explique el uso de las categorías y la categorización:

Categoría:
Subclase que representa una colección de objetos, que son un subconjunto de la unión de distintos tipos de entidad.
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 miembros de una categoría deben pertenecer a una de las superclases (no a todos) y heredan sólo los atributos de la superclase a la que pertenezcan.

Participación en una categoría:
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.
Parcial: si no todas las superclases deben ser miembros de la categoría.

*Así pues, en una categorización, la subclase o categoría, deben 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