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