sábado, 24 de septiembre de 2011

Orientado a objetos

II.- Bases de datos orientadas a Objetos
  1. Explique las estructuras de objetos, constructores de tipos, Encapsulamiento de operaciones, métodos y persistencia.
El modelo orientado a objetos se basa en encapsular código y datos en una sola unidad, llamada objeto. Un objeto tiene asociado un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto. Un conjunto de mensajes a los que el objeto responde. Un método, que es un trozo de código para implementar cada mensaje. Un método devuelve un valor como respuesta al mensaje.
En las BDOO, los valores (o estados) de los objetos complejos se pueden construir a partir de otros objetos mediante ciertos constructores de tipos. Una forma de representar tales objetos es considerar a cada objeto como tripleta (i, c, v), donde i es un identificador de objeto único (el OID), c es un constructor (esto es, una indicación de cómo se construye el valor del objeto) y v es el valor (o estado) del objeto. Los tres constructores  básicos son constructores de átomo,  constructores de tuplas,  constructores de conjuntos.
Encapsulamiento: cada objeto contiene y define procedimientos (métodos) y la interfaz
Mediante la cual se puede acceder a él y otros objetos pueden manipularlo. La mayoría de
Los SGBDOO permite el acceso directo a los atributos incluyendo operaciones definidas
Por el propio SGBDOO las cuales leen y modifican los atributos para evitar que el usuario
Tenga que implementar una cantidad considerable de métodos.

Los objetos entidad que se utilizan en los programas orientados a objetos
Son análogos a las entidades que se utilizan en las bases de datos orientadas a objetos puras,
Pero con una gran diferencia: los objetos del programa desaparecen cuando el programa
Termina su ejecución, mientras que los objetos de la base de datos permanecen. A esto se le
Denomina persistencia


  1. Explique las jerarquías de tipos, de clases y herencia.
Los esquemas de BDOO suelen necesitar un gran número de clases. Sin embargo, varias clases son parecidas entre sí.
Para permitir la representación directa de parecidos entre las clases, hay que ubicarlas en una jerarquía de especializaciones. El concepto de jerarquía de clases es parecido al de especialización del modelo E-R. Las especializaciones de las clases son denominadas subclases; lo cual especifica atributos y métodos adicionales para una clase existente. Los objetos creados por medio de una sub clases heredan todos los atributos y  métodos de la clase padre. Algunas de estas características heredadas pueden ellas mismas haber sido heredadas de clases más altas en la jerarquía.
  
  1. Buscar SGBDOO (Sistema Gestor de Base de Datos Orientada a Objetos) de algunos ejemplos.
 1) Postgre















2)Oracle

















4  Explique el diseño de bases de datos OO por transformación EER-OO


Para transformarlo primero tenemos que saber que para el modelo EER todas las entidades están en registros. Estos registros deben transformarme en objetos. Después se debe aplicar herencia para ver cuales dependen de cuáles y seguidamente empezar a programar


5 Explique el uso de los objetos complejos estructurados, los no estructurados y la extensibilidad de tipos


Como un SGBOO permite a los usuarios crear nuevos tipos, y como un tipo incluye tanto estructura como operaciones, podemos considerar que un SGBOO tiene un sistema de tipos extensibles. Podemos crear bibliotecas  de nuevos tipos definiendo su estructura y operaciones, incluso con tipos complejos.
Muchos SGBDOO pueden almacenar y obtener objetos no estructurados extensos en forma de cadenas y caracteres o de bits, que se pueden pasar “tal cual” al programa de aplicación para que las interprete.
Extensibilidad de tipos básicos: Las BOO permiten definir, a través de estructuras, tipos de datos para los que se apliquen las mismas optimizaciones que para los tipos de datos básicos. Es decir, que se puedan almacenar directamente en la BD (luego su creación, destrucción y acceso serán más rápidos) y se asignen por valor y no por referencia



Conceptos Avanzados


I.- Conceptos avanzados de modelo de datos.
  1. Explique las diferencias entre el modelo ER y el modelo ER extendido (EER)

El modelo ER no cumple muy bien u propósito debido a restricciones semánticas, por eso se usan los diagramas ER extendidos, que incorporan más elementos como:
Entidades fuertes y débiles: Una entidad débil no puede existir si no existe una relación que la cree, una entidad fuerte es independiente. Las débiles se representan con un doble rectángulo.

Cardinalidad de Relaciones: Al comienzo de cada relación se pone una etiqueta: "1:1", "1: N" y "N: M" que identifica la relación.

Atributos en la Relaciones: Como su nombre indica, las relaciones también pueden incorporar atributos.

Herencia: Una entidad hijo puede heredar todos los atributos de una entidad padre.

Abstracción: Algunas relaciones se pueden tratar como identidades, se identifican poniéndolas en un rectángulo


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

Las clases y las superclases son fáciles de identificar, una superclase es una entidad de la que salen muchas entidades. Por ejemplo si tenemos en una universidad entidades como “Profesor” “Encargado de Limpieza” y otra “Empleado”, Empleado seria la superclase y profesor/encargado de limpieza las subclases.

La especialización no es más que el proceso de definir a las subclases de una superclases. Esta definición se da en base de una característica. En el ejemplo anterior la característica era el tipo de trabajo que realizaba la persona. Es posible tener varias especializaciones de una misma entidad, por ejemplo se podría poner “Asalariado” “En Planilla” como subclases de “Empleado”.

La retícula o jerarquía de especializaciones se da en una base de datos cuando de una subclase salen más subclases, es básicamente cuando una subclase también es superclase.

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


La generalización es un proceso inverso al de la especialización, es suprimir diferencias entre distintas entidades, encontrar sus características comunes y ponerlas todas en una superclase. Por ejemplo en la imagen cuando las entidades CAMION y COCHE las unimos y formamos la súper clase VEHICULO con las otras entidades como subclases.

Para la agregación,  es la agrupación dos o más conjuntos de entidades relacionados para conformar un solo conjunto lógico de entidades. El objetivo primordial en la agregación será el establecer relaciones entre conjuntos de entidades agrupadas. Al ser una forma de abstracción, para representarla se pondría las relaciones y entidades a agregar en un recuadro.

La asociación es como su nombre lo indica, otro proceso para unir entidades parecidas en una sola. Y se representa mediante líneas,



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

·         Restricciones de especialización: En algunas especializaciones podremos determinar exactamente que ocurrencias de entidad se convertirán en ocurrencias de cada subclase, mediante la utilización de una condición en algún atributo de la superclase. Tales subclases se llaman subclases definidas por predicado (o definidas por condición). Asimismo también se pueden especializar por atributos en común. Otra estricción es que las subclases deben estar separadas (no pueden estar relacionadas) y que si no hay una condición para una subclase, se llama “definida por el usuario”.

·         Reglas de inserción y borrado:

Borrar una tupla de una superclase implica el borrado automático en todas las subclases a las que pertenezca.
Insertar una tupla en una superclase implica que tiene que ser obligatoriamente insertada en todas las subclases definidas por predicado en las que satisfaga el predicado de definición.
Insertar una tupla en una superclase de una especialización total implica una inserción obligatoria en al menos una de las subclases de la especialización.

·         Una subclase puede, a su vez, tener más subclases especificadas a partir de ella, formando una jerarquía o red de especializaciones. Una jerarquía de especialización tiene la restricción cada subclase participa (como subclase) en una relación clase/subclase. Como contraste, para una red de especialización una subclase puede ser subclase en más de una relación clase/subclase.

·         Diseño Top-Down vs Bottom-Up: En el primero se prioriza la especialización, y de cada entidad se sacan distintas subclases, mientras en el distinto es lo contrario. En la práctica ninguno se usa completamente y es más una mezcla de ambos.




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


La categorización se da cuando una subclase tiene varias superclases, por ejemplo, supongamos que tenemos tres entidades: PERSONA, BANCO y EMPRESA. En la Base de Datos de vehículo, un dueño de un vehículo 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. Las superclase EMPRESA, BANCO y PERSONA se conectan al círculo con el símbolo U (unión). 







Datos


Nombre Daniel Soto
TIU u201010786
Ciclo IV Ciclo
Seccion SW42
nombre del profe Luis Serna