sábado, 21 de enero de 2012

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.




2)Explique las jerarquías de tipo, de clases y herencia:

Dentro de la base de datos orientada a objetos existen las jerarquías de tipo, donde los atributos y todos los métodos de los subtipos son iguales a los de los tipos generalizados (supertipos) y pueden agregar nuevos atributos y métodos. Entonces, se podría decir que en muchos casos se trabaja con clase que son similares. Una de las características comunes de la base de datos orientada a objetos es la herencia. Una clase puede tener varias subclases, las cuales representan ocurrencias de la superclase. Ante esto aparece la jerarquía de clases, al cual tiene un parecido al modelo ER (Entidad- Relación). La herencia favorece en la reutilización del código pues no haría falta volver a escribir los métodos y/o funciones para los objetos. Un tipo de herencia es la herencia múltiple, la cual permite a los subtipos o clases, como antes fue mencionado, heredar variables y métodos de supertipos o superclases. La desventaja que hay en la herencia múltiple es de un posible caso de ambigüedad ya que es posible que una clase herede la misma variable o el mismo método de más de una superclase. Existen maneras de evitar esto; sin embargo Java, para evitar este problema, no permite el uso de herencia múltiple.


3)Buscar SGBDOO (Sistema Gestor de Base de Datos Orientada a Objetos) de algunos ejemplos:



Un SGBDOO debe satisfacer dos criterios: Ser un sistema orientado a objetos, y ser un sistema de gestión de bases de datos. El primer criterio se traduce en ocho características generales [BOO94]: abstracción, encapsulación, modularidad, jerarquía, control de tipos, concurrencia, persistencia y genericidad. El segundo criterio se traduce en cinco características principales: persistencia, concurrencia, recuperación ante fallos del sistema, gestión del almacenamiento secundario y facilidad de consultas.



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


Para trasformar un esquema FuzzyEER con grados de pertenencia de un atributo con respecto a una entidad, el analista puede asignar cardinalidades mínimas 0 a todos aquellos atributos cuyo grado de pertenencia sea menor a 1, como se muestra en la Figura 4. Esto es análogo a admitir valores nulos en dichos atributos. Otro criterio puede ser simplemente eliminar del diseño aquellos atributos que posean un grado de pertenencia menor a un umbral definido por el analista (por ejemplo > 0,5). En este caso, la ventaja de tener además del modelo entidad relación el modelo FuzzyEER, es que éste último provee de información adicional, y no se restringea las limitaciones impuestas por las herramientas de implementación. 


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.

No hay comentarios:

Publicar un comentario