miércoles, 29 de julio de 2015

Bases de datos orientadas a objetos

Una base de datos orientada a objetos es una colección de objetos en los que su estado, comportamiento y relaciones son definidos de acuerdo con un modelo de datos orientado a objetos.
En tal sentido, considerando y tomando en cuenta este concepto, las bases de datos orientadas a objetos (BDOO) están diseñadas para capturar los datos de un sistema de negocio, por ellos pueden ser considerados como un conjunto de objetos que interactúan entre sí. 

Un sistema gestor de base de datos orientada a objetos (SGBDOO) permiten que la manipulación, manejo de la información mediante objetos resguardando la información con objetos persistentes de forma transparente, con un control de concurrencia, recuperación de datos, consultas asociativas, integración directa con lenguajes de programación orientado a objetos y otras capacidades propias del paradigma orientado a objetos.








Primera y segunda generación de BDOO

La primera generación de Sistemas Gestores de Bases de Datos Orientadas a Objetos (SGBDOO) data de 1986 cuando la compañia Graphael lanza G-Base, en 1987 Servio Corp introdujo GemStone, luego en 1988 Ontologic lanza su sistema VBase y la empresa Simbolics lanza Statice. Todos ellos con la finalidad de apoyar lenguajes persistentes como los usados para la inteligencia artificial.

La segunda generación se caracterizó por emplear una arquitectura cliente-servidor, y puede considerarse a partir del lanzamiento de Ontos en 1989, así como de Objet Design, Objectivity y de Versant Objet Technology.

BASES DE DATOS DEDUCTIVAS

  Una base de datos deductiva es, en esencia, un programa lógico; mapeo de relaciones base hacia hechos, y reglas que son usadas para definir nuevas relación es en términos de las relaciones base y el procesamiento de consultas. Los sistemas Bases de Datos Deductivas intentan modificar el hecho de que los datos requeridos residan en la memoria principal (por lo que la gestión de almacenamiento secundario no viene al caso)de modo que un SGBD se amplíe para manejar datos que residen en almacenamiento secundario.

 En un sistema de Bases de Datos Deductivas por lo regular se usa un lenguaje declarativo para especificar reglas. Con lenguaje declarativo se quiere decir un lenguaje que define lo que un programa desea lograr, en vez de especificarlos detalles de cómo lograrlo.
 Se especifican de manera similar a como se especifican las relaciones, excepto que no es necesario incluir los nombres de los atributos.Recordemos que una tupla en una relación describe algún hecho del mundo real cuyo significado queda determinado en parte por los nombres de los atributos.En una 

  Base de Datos Deductiva, el significado del valor del atributo en una tupla queda determinado exclusivamente por su posición dentro de la tupla. Se parecen un poco a las vistas relacionales. Especifican relaciones virtuales que no están almacenadas realmente, pero que se pueden formar a partir de los hechos aplicando mecanismos de inferencia basados en las especificaciones de las reglas. 
   
  La principal diferencia entre las reglas y las vistas es que en las primeras puede haber recursión y por tanto pueden producir vistas que no es posible definir en términos de las vistas relacionales estándar. Las BDD buscan derivar nuevos conocimientos a partir de datos existentes proporcionando interrelaciones del mundo real en forma de reglas. Utilizan mecanismos internos para la evaluación y la optimizan.




Necesidad de la inferencia en las aplicaciones

  La inferencia en las aplicaciones nacen con el afán de ofrecer una respuesta a las necesidades planteadas por los usuarios y por las aplicaciones avanzadas, en donde se necesitan herramientas semánticamente más ricas que las provistas por las Bases de Datos Relacionales, aparecen recientes aplicaciones de los sistemas de bases de datos que consiste en ofrecer recursos para definir Reglas Deductivas y Activas que permitan deducir, inferir u obtener información nueva a partir de los datos almacenados o sucesos condicionados.


   La finalidad de estas aplicaciones es incorporar a las Bases de Datos Relacionales los beneficios de la inferencia lógica como instrumento para la  formalización integrada de los aspectos estáticos y dinámicos del modelado relacional de la base de datos en las aplicaciones


Facilidades de la negación estratificada

  
  Contar con negación estratificada permite la capacidad de modelado natural de objetos del mundo real, encapsulando su estructura y comportamiento, que proporcionan los modelos orientados a objetos; la capacidad de derivación de nuevos conocimiento a partir de datos existentes, suministrando vínculos del mundo real en forma de reglas, que proporcionan los modelos de datos deductivos; y, además, la capacidad de almacenamiento persistente que proporcionan los sistemas administradores de bases de datos.

Bases de datos Activas como proveedores de mecanismos de apoyo.

 Una base de datos activa, son aquellas bases de datos capaces de detectar situaciones de interés y de actuar en consecuencia. (Mota Noviembre 2005). El mecanismo que se utiliza se parece a las reglas deproducción utilizadas en el área de inteligencia artificial.

 Reglas de integridad

   El poder especificar reglas con una serie de acciones que se ejecutan automáticamente cuando se producen ciertos eventos, es una de las mejoras de los sistemas de gestión de bases de datos que se consideran de gran importancia desde hace algún tiempo. Mediante estas reglas se puede hacer respetar reglas de integridad, generar datos derivados, controlar la seguridad o implementar reglas de negocio. De hecho, la mayoría de los sistemas relacionales comerciales disponen de disparadores (triggers). Se han realizado mucha investigación sobre lo que debería ser un modelo general de bases de datos activas desde que empezaron a aparecer los primeros disparadores. El modelo que se viene utilizando para especificar bases de datos activas es el modelo evento–condición–acción (ECA).

   El concepto de Bases de Datos Activas (conocidas también bajo las siglas SGBDA) se define en la capacidad del motor de manejar eventos al momento en que los datos sufren cambios como modificación, eliminación o actualización (más adelante se verá que existen otros eventos), es decir, cuando se producen ciertas condiciones ejecuta de forma automática ciertas acciones, además el motor de BD debe ser capaz de monitorizar y reaccionar ante eventos de manera oportuna y eficiente.

   Estas características de reaccionar ante condiciones son definidas en el esquema de base de datos, de manera que, se elimina la responsabilidad de la aplicación que hace uso de la misma a gestionar tales eventos; la manera más común de definirlos en el esquema es a través de “triggers”, característica que maneja la gran mayoría de los motores de BD más conocidos en el mercado.

  La característica que se viene utilizando para especificar bases de datos activas es el modelo evento–condición–acción, por ejemplo: Tras la modificación de la tabla persona, se chequea su fecha de nacimiento y se procede a actualizar el campo edad, de todos los registros.

 Por supuesto esta definición descrita en lenguaje fácilmente entendible para los humanos, debe traducirse al lenguaje de programación del motor, haciendo uso de los triggers para disparar la acción tras el evento modificación.

Características de ejecución de reglas ECA

* Un SGBDA tiene un modelo de ejecución
* Un SGBDA debe ofrecer diferentes modelos de acoplamiento
* Un SGBDA debe implementar modos de consumo
* Un SGBDA debe gestionar la historia de eventos
* Un SGBDA debe implementar resolución de conflictos

Base de datos temporal

Una Base de datos temporal es un sistema de gestión de base de datos (DBMS) el cual implementa y trata con especial énfasis aspectos temporales, teniendo un modelo de datos temporal y una versión temporal del lenguaje de consulta estructurado, (SQL). Entre las diversas propuestas de implementación, la más extendida es TSQL2.
Especificando más profundamente, los aspectos temporales normalmente incluyen tiempo de validez y tiempo de transacción. La combinación de estos dos atributos forman un dato bitemporal

Visión global de la necesidad de incluir apoyo a la base de datos para información que varía con el tiempo

   Si insertamos información en la Base de Datos y jamás la modificamos ni la borramos, tenemos una Base de Datos Histórica.

   Si la Base de Datos sólo contiene datos actuales, tenemos una Base de Datos Instantánea. Cuando la información de los datos deja de ser cierta se actualiza o se elimina el registro anterior.
Una base de datos temporales es una base de datos que soporta algunos aspectos de tiempo, no contando el tiempo definido por el usuario.
   
   Una Base de datos temporal es un sistema de gestión de base de datos (DBMS) el cual implementa y trata con especial énfasis aspectos temporales, teniendo un modelo de datos temporal y una versión temporal del lenguaje de consulta estructurado, (SQL). Entre las diversas propuestas de implementación, la más extendida es TSQL2.

  Especificando más profundamente, los aspectos temporales normalmente incluyen tiempo de validez y tiempo de transacción. La combinación de estos dos atributos forman un dato bitemporal
Tiempo de validez indica el período en el cual un hecho es verdad en el mundo real.
Tiempo de transacción indica el período en el cual un hecho está guardado en la base de datos.

 Dato Bitemporal: es la combinación del tiempo de validez y el tiempo transaccional.
 Estos dos períodos no tienen que ser idénticos para un mismo hecho. Imagine una base de datos temporal guardando datos sobre el siglo veinte. El tiempo de validez sobre esos hechos estará comprendido entre el año 1901 y el año 2000, sin embargo el tiempo transaccional empezará cuando insertemos esos hechos en la base de datos, por ejemplo, 25 de diciembre del 2006.

 El almacenamiento de los datos temporales en una base de datos temporal es diferente al de una base de datos no temporal, en la que el periodo de tiempo adjunto al dato, expresa cuando fue valido o almacenando en la base.

La proposición de bases de datos orientadas por objetos temporales

    El empleo del sistema de tipos en la orientación a objetos para estructurar el espacio de diseño de los modelos de objetos temporales e identificar las dependencias dentro, y entre, las diferentes dimensiones permite simplificar la representación del dominio temporal. Se trata de definir un tipo abstracto de dato tiempo para modelar las características más generales y en cada uno de los subtipos que se definan a partir de él, especializar aquellas semánticas que sean necesarias para cada una de las aplicaciones que se intenten abordar.
   
    El problema de las aproximaciones OODB y ORDB es la carencia de un estándar de facto, como ocurre en el caso del modelo relacional. Las diferentes alternativas de modelos de datos que se están empleando actualmente, son definidas normalmente por los propios desarrolladores del modelo temporal.

  Aportaciones similares a las comentadas, ha sido la presentada por Bertino en la que, tras la definición del modelo de datos, se propone una extensión del mismo para incorporar esa dimensión temporal. Aunque actualmente se están planteando otras opciones que emplean el estándar ODMG, todavía no existen trabajos con una base formal fuerte en este campo, como los relativos al chequeo y sistema de tipos.


Autores:

Betancourt Erika
Carrasquel Nayesca
Figueredo Maria
Morillo Anny
Villegas Yuritza