BASE DE DATOS ORIENTADA A OBJETOS

Orientación a Objetos

Principios

En una BDOO, cualquier cosa es un objeto y se manipula como tal

Un Objeto es una instancia que responde a mensajes activando un método

La estructura interna no es visible para los usuarios de ese objeto

Los sistemas OO proporcionan el concepto de Identificador del Objeto ( para identificar a los objetos

Los objetos soportan una serie de características

Se agrupan en tipos denominados clases

Contienen datos internos que definen su estado actual

Soportan ocultación de datos

Pueden heredar propiedades de otros objetos

Pueden comunicarse con otros objetos enviando o pasando mensajes

Tienen métodos que definen su comportamiento

Las clases son una colección de objetos con propiedades
similares, compartimiento común, relaciones comunes a otras clases

La instancia es un objeto con propiedades de finidas en su
descripción de la clase

El mensaje es una clase que debe tener un método correspondiente Un mensaje puede ser enviado a un objeto a ejecutar una acción

El método es una lista de instrucciones detalladas que definen
cómo responde un objeto a un mensaje en particular

La superclase es la clase que deriva a otra clase

La subclase es la clase derivada de una superclase

La liga expresa compatibilidad de relaciones entre las clases

Los objetos heredan las características de su clase y de todas
las clases de nivel superior a la que pertenecen

Estos principios y técnicas hacen que las BDOO estén
adecuadas a aplicaciones que implican tipos de datos complejos

Lenguajes

El enfoque OO para la programación fue introducida por primera vez
con el lenguaje Simula 67

Que se diseñó para la programación de simulación

Smalltalk fue uno de los primeros lenguajes de Programación OO
( POO) para aplicaciones generales

Actualmente, los lenguajes Java y C++ son los lenguajes de POO
más usados

POO

Se basa en el concepto de encapsulamiento de datos y
código que opera sobre éstos en un objeto

La ventaja de la encapsulación es que permite que la representación interna de los objetos, sea cambiada sin necesidad de que las aplicaciones que los usan tengan que ser reescritas

La encapsulación implica la Independencia Física de los
Datos

Una Memoria Privada (Miembros o Atributos)

Interfaz Pública (Metodos)

Los objetos estructurados se agrupan en clases

El conjunto de clases está estructurado en sub y superclases
basado en una extensión del concepto ISA del modelo Entidad Relación

Puesto que el valor de un dato en un objeto, también puede ser un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto

Orientación

Se emplean Clases para definir entidades

Clase

Define estructura y comportamiento del objeto

Esquema

Conjunto de clases

Modelo

Aspecto de la realidad para comp´render esta

Dimensiones

Dimension Estructural

Subtopic

Dimension Dinamica

Propiedades activas, comportamiento individual y colaboracion entre objetos

Dimension Funcional

Propiedades de transformacion del sistema

Modelo Orientado a Objetos

Surgió en los años 90's

Unificación de técnicas (UML)

Construcción de modelos de un sistema por medio de la identificacion y especificacion de un conjunto de objetos relacionados

Actividades

Identificar , clases , objetos y atributos

Objetos

Asociar estaticamente

Describir el comportamiento

Definir la colaboracion de comportamiento

Organizar la jerarquia de herencia

Particionar las clases por niveles de abstraccion

Persistencia

Guardar

Mecanismo de preservar la informacion de un objeto de forma permanente

Leer

Poder recuperar la informacion de un objeto para que pueda se usada nuevamente

Antecedentes

Primera Generacion

B Base 1986 GemStone( 1987 Son
considerados como lenguajes orientados a objetos con persistencia

Segunda Generacion

Ontos( 1989 Object Design, Objetivity, etc
La caracteristica principal es que utilizan una arquitectura cliente-servidor

Tercera Generacion

Itasca( 1990 etc Son verdaderos SMBDOO, con motores que gestionan objetos y lenguajes como ODL,OML,OQL

Definiciones

Bases de datos orientadas a objetos

Es una colección de objetos en los que sus estados, comportamientos y relaciones son definidas de acuerdo con un modelo de datos orientado a objetos

Sistema Manejador de Bases de Datos Orientado a Objetos

Es un sistema de Base de Datos que permite la definición y manipulación de una Base de Datos Orientada a Objetos

Caracteristicas

SMBDOO

Persistencia, Concurrencia, Recuperación,
Almacenamiento Secundario, Consultas

Orientación a objetos

Manejo de complejos objetos, Indentidad, Encapsulación, Herencia, Tipos o Clases, Sobrecarga, Extensibilidad, Completitud Computacional

Estandares

Primer intento de estandarizacion

La mayor limitación de las BDOO es la carencia de un estándar

ODMG 93 Object Oriented Database Management Group es un punto de partida muy importante para ello

Adopta una arquitectura que consta de un sistema de gestión que
soporta un lenguaje de BDOO, con una sintaxis similar a un lenguaje
de programación, también OO como puede ser C++ o Smalltalk

El Lenguaje de BD se especifica mediante

Lenguaje ODL Lenguaje de definicion de datos

El Lenguaje de Definición de Datos ( en un SMBDOO es empleado para facilitar la portabilidad de los esquemas de las BD

El ODL intenta definir tipos que puedan implementarse en diversos
lenguajes de programación

No está por tanto ligado a la sintaxis concreta de un lenguaje de
programación particular

De esta forma un esquema especificado en ODL, puede ser
soportado por cualquier SMBDOO que sea compatible con ODMG 93

La sintaxis de ODL es una extensión de la IDL (Interface Definition
Language desarrollado por OMG como parte de CORBA Common
Object Request Broker Architecture

Lenguaje OQL Lenguaje de consulta

El Lenguaje de Manipulación es empleado para la elaboración de
programas que permitan crear, modificar y borrar datos que constituyen la BD

ODMG 93 sugiere que este lenguaje sea la extensión de un lenguaje
de programación, de forma que se pueden realizar entre otras las
siguientes operaciones sobre la base de datos Creación, Borrado,
Modificación e Identificación de un Objeto

El Lenguaje de Consulta propuesto por ODMG 93 presenta las
siguientes características

No es computacionalmente completo Sin embargo, las
consultas pueden invocar métodos, e inversamente los
métodos escritos en cualquier lenguaje de programación pueden incluir consultas

Tiene una sintaxis abstracta

Su semántica formal puede definirse fácilmente

Proporciona un acceso declarativo a los objetos

Se basa en el modelo de objetos de ODMG 93

Tiene una sintaxis concreta al estilo SQL, pero puede
cambiarse con facilidad

Puede optimizarse fácilmente

No proporciona operadores explícitos para la modificación, se
basa en las operaciones definidas sobre los objetos para ese fin

Proporciona primitivas de alto nivel para tratar con conjuntos
de objetos, pero no restringe su utilización con otros
constructores de colecciones

Existen dos posibilidades para asociar un sublenguaje de consulta a
un lenguaje de programación fuerte y débilmente

El primer caso, Lenguaje de Programación Fuerte, consiste en una
extensión de la gramática del lenguaje asociado

En el segundo caso, Lenguaje de Programación Débil, las funciones
query tienen unos argumentos String que contienen las preguntas

Lenguaje OML Lenguaje de Definicion de datos

El Lenguaje de Definición de Datos ( en un SMBDOO es empleado para facilitar la portabilidad de los esquemas de las BD

Este ODL no es un lenguaje de programación completo, define las propiedades y los prototipos de las operaciones de los tipos, pero no los métodos que implementan esas operaciones

Siendo todos ellos portables a otros sistemas con el fin de conseguir la portabilidad de la aplicación completa

El SMBDOO extiende el lenguaje con persistencia, concurrencia,
recuperación de datos, consultas asociativas,etc

JERARQUÍA
DE CLASES

Así que básicamente las BDOO tienen la finalidad de agrupar
aquellos elementos que sean semejantes en las entidades para formar una clase, dejando por separado aquellas que no lo son

Todos los objetos de su clase comparten una definición común,
aunque difieran en los valores asignados a las variables

Sería inútil definir cada uno de estos objetos por separado por lo tanto se agrupan los objetos similares para que formen una clase, a cada uno de estos objetos se le llama instancia de su clase

En una BD existen objetos que responden a los mismos
mensajes, utilizan los mismos métodos y tienen variables del mismo nombre y tipo

Estrutctura de Datos

La capacidad de modificar la definición de un objeto sin afectar al
resto del sistema, está considerada como una de las mayores ventajas del modelo de POO

Si no que se refiere al paso de solicitudes entre objetos sin tener
en cuenta detalles específicos de implementación

El término mensaje en un contexto orientado a objetos, no
implica el uso de un mensaje físico en una red de computadoras

La interfaz entre un objeto y el resto del sistema se define
mediante un conjunto de mensajes

El Modelo Orientado a Objetos ( se basa en encapsular
código y datos en una única unidad, llamada objeto

Base de datos orientada a objetos

El campo de las BDOO se ha introducido como una nueva área
de investigación

Los campos de Lenguajes de Programación, Inteligencia Artificial e Ingeniería de Software han contribuido con el uso de la tecnología OO en el área de las BD

El desafío del área de BD es integrarlos en un diseño de sistema
simple que mantenga el equipo deseado para cada campo

El enfoque OO favorece la reutilización

Porque gracias al encapsulamiento y a la herencia, es fácil especializar un componente existente para responder a las necesidades particulares de la aplicación

Desde el punto de vista del usuario final, los SMBDOO, proporcionan mayor aporte en la calidad en términos de ergonomía, fiabilidad, evolución y desempeño