Powered By Blogger

miércoles, 10 de diciembre de 2008

Modelos Avanzados de Bases de Datos FUNCIONALIDAD 1


Introducción
Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos está orientado a objetos y almacenan y recuperan objetos en los que se almacena estado y comportamiento. Su origen se debe a que en los modelos clásicos de datos existen problemas para representar cierta información, puesto que aunque permiten representar gran cantidad de datos, las operaciones que se pueden realizar con ellos son bastante simples.
Las clases utilizadas en un determinado lenguaje de programación orientado a objetos son las mismas clases que serán utilizadas en una BDOO; de tal manera, que no es necesaria una transformación del modelo de objetos para ser utilizado por un SGBDOO. De forma contraria, el modelo relacional requiere abstraerse lo suficiente como para adaptar los objetos del mundo real a tablas.
Las bases de datos orientadas a objetos surgen para evitar los problemas que surgen al tratar de representar cierta información, aprovechar las ventajas del paradigma orientado a objetos en el campo de las bases de datos y para evitar transformaciones entre modelos de datos (usar el mismo modelo de objetos).



Conceptos relacionados con las bases de datos orientadas a objetos
En este apartado se explican los conceptos relacionados con las BDOO:
􀂉 Base de datos orientada a objetos (BDOO): una colección persistente y compatible de objetos definida por un modelo de datos orientado a objetos.
􀂉 Modelo de datos orientado a objetos: Un modelo de datos que captura la semántica de los objetos soportados en la programación orientada a objetos.
􀂉 Sistema Gestor de Bases de Datos Orientadas a Objetos (SGBDOO): El gestor de una base de datos orientada a objetos.


Origen de las Bases de Datos Orientadas a Objetos
El origen de las BDOO se encuentra básicamente en las siguientes razones:
􀂉 la existencia de problemas para representar cierta información y modelar ciertos aspectos del ‘mundo real’, puesto que los modelos clásicos permiten representar gran cantidad de datos, pero las operaciones y representaciones que se pueden realizar sobre ellos son bastante simples.
􀂉 El paso del modelo de objetos al modelo relacional genera dificultades que en el caso de las BDOO no surgen ya que el modelo es el mismo.
Por lo tanto, las bases de datos orientadas a objetos surgen básicamente para tratar de paliar las deficiencias de los modelos anteriores y para proporcionar eficiencia y sencillez a las aplicaciones.


Las debilidades y limitaciones de los SGBDR son:
􀂉 Pobre representación de las entidades del ‘mundo real’.
􀂉 Sobrecarga y poca riqueza semánticas.
􀂉 Soporte inadecuado para las restricciones de integridad y empresariales
􀂉 Estructura de datos homogénea
􀂉 Operaciones limitadas
􀂉 Dificultades para gestionar las consultas recursivas
􀂉 Problemas asociados a la concurrencia, cambios en los esquemas y el inadecuado acceso navegacional.
􀂉 No ofrecen soporte para tipos definidos por el usuario (sólo dominios)


Mientras que las necesidades de las aplicaciones actuales con respecto a las bases de datos son:
􀂉 Soporte para objetos complejos y datos multimedia
􀂉 Identificadores únicos
􀂉 Soporte a referencias e interrelaciones R>􀂉 Manipulación navegacional y de conjunto de registros
􀂉 Jerarquías de objetos o tipos y herencia
􀂉 Integración de los datos con sus procedimientos asociados
􀂉 Modelos extensibles mediante tipos de datos definidos por el usuario
􀂉 Gestión de versiones
􀂉 Facilidades de evolución
􀂉 Transacciones de larga duración
􀂉 Interconexión e interoperabilidad

Debido a las limitaciones anteriormente expuestas, el uso de BDOO es más ventajoso si se presenta en alguno de los siguientes escenarios:
􀂉 Un gran número de tipos de datos diferentes
􀂉 Un gran número de relaciones entre los objetos
􀂉 Objetos con comportamientos complejos
Se puede encontrar este tipo de complejidad acerca de tipos de datos, relaciones entre objetos y comportamiento de los objetos principalmente en aplicaciones de ingeniería, manufacturación, simulaciones, automatización de oficina y en numerosos sistemas de información. No obstante, las BDOO no están restringidas a estas áreas. Ya que al ofrecer la misma funcionalidad que su precursoras relacionales, el resto de campos de aplicación tiene la posibilidad de aprovechar completamente la potencia que las BDOO ofrecen para modelar situaciones del mundo real.


Características de las Bases de Datos Orientadas a Objetos y diferencias de éstas con respecto a las relacionales.
Mientras que en una BDR los datos a almacenar se almacenan representados en tablas en un BDOO los datos se almacenan como objetos. Un objeto en BDOO como en POO es una entidad identificable unívocamente que describe tanto el estado como el comportamiento de una entidad del ‘mundo real’. El estado de un objeto es descrito mediante atributos mientras que su comportamiento es definido mediante métodos.


Introducción a las Bases de datos Objeto-Relacionales
Una Base de Datos Objeto Relacional (BDOR) es una base de datos que desde el modelo
relacional evoluciona hacia una base de datos más extensa y compleja incorporando para obtener este fin, conceptos del modelo orientado a objetos. Podemos decir que un Sistema de Gestión Objeto-Relacional (SGBDOR) contiene dos tecnologías; la tecnología relacional y la tecnología de objetos.
En una base de datos objeto-relacional se siguen almacenando tuplas, aunque la estructura de las tuplas no está restringida a contener escalares (tipos compuestos como vectores, conjuntos, etc.) sino que las relaciones pueden ser definidas en función de otras, que es lo que denominamos herencia directa.


Características de las Bases de datos Objeto-Relacionales
Con las Bases de Datos Objeto-Relacional, se pueden crear nuevos tipos de datos, que permiten gestionar aplicaciones más complejas con una gran riqueza de dominios. Estos pueden ser tipos compuestos, lo que implica que se debe definir al menos dos métodos transformadores:
- Uno para convertir el tipo nuevo a ASCII
- Otro que convierte de ASCII al nuevo tipo.
Se soportan tipos complejos como: registros, conjuntos, referencias, listas, pilas, colas y arreglos.
Se pueden crear funciones que tengan un código en algún lenguaje de programación como por ejemplo: SQL, Java, C, etc.
Existe una mayor capacidad expresiva para los conceptos y asociaciones.
Se pueden crear operadores asignándole un nombre y existencia de nuevas consultas con mayor capacidad consultiva.
Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro.
Se pueden compartir varias bibliotecas de clases ya existentes, esto es lo que conocemos como reusabilidad.
Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers.
Soporte adicional para seguridad y activación de la versión cliente-servidor.
Anotar como punto final de este apartado, el inconveniente que tienen las BDOR, y es que aumenta la complejidad del sistema y por tanto se ocasiona un aumento del coste asociado.

No hay comentarios:

Publicar un comentario