BASE DE DATOS ORIENTADA A OBJETOS
Base de datos orientada a objetos
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
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
El enfoque OO favorece la reutilización
El desafío del área de BD es integrarlos en un diseño de sistema
simple que mantenga el equipo deseado para cada campo
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 campo de las BDOO se ha introducido como una nueva área
de investigación
Estrutctura de Datos
El Modelo Orientado a Objetos ( se basa en encapsular
código y datos en una única unidad, llamada objeto
La interfaz entre un objeto y el resto del sistema se define
mediante un conjunto de mensajes
El término mensaje en un contexto orientado a objetos, no
implica el uso de un mensaje físico en una red de computadoras
Si no que se refiere al paso de solicitudes entre objetos sin tener
en cuenta detalles específicos de implementación
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
JERARQUÍA
DE CLASES
En una BD existen objetos que responden a los mismos
mensajes, utilizan los mismos métodos y tienen variables del mismo nombre y tipo
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
Todos los objetos de su clase comparten una definición común,
aunque difieran en los valores asignados a las variables
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
Estandares
Primer intento de estandarizacion
El SMBDOO extiende el lenguaje con persistencia, concurrencia,
recuperación de datos, consultas asociativas,etc
Siendo todos ellos portables a otros sistemas con el fin de conseguir la portabilidad de la aplicación completa
El Lenguaje de BD se especifica mediante
Lenguaje OML Lenguaje de Definicion de datos
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
Lenguaje OQL Lenguaje de consulta
En el segundo caso, Lenguaje de Programación Débil, las funciones
query tienen unos argumentos String que contienen las preguntas
El primer caso, Lenguaje de Programación Fuerte, consiste en una
extensión de la gramática del lenguaje asociado
Existen dos posibilidades para asociar un sublenguaje de consulta a
un lenguaje de programación fuerte y débilmente
El Lenguaje de Consulta propuesto por ODMG 93 presenta las
siguientes características
Proporciona primitivas de alto nivel para tratar con conjuntos
de objetos, pero no restringe su utilización con otros
constructores de colecciones
No proporciona operadores explícitos para la modificación, se
basa en las operaciones definidas sobre los objetos para ese fin
Puede optimizarse fácilmente
Tiene una sintaxis concreta al estilo SQL, pero puede
cambiarse con facilidad
Se basa en el modelo de objetos de ODMG 93
Proporciona un acceso declarativo a los objetos
Su semántica formal puede definirse fácilmente
Tiene una sintaxis abstracta
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
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 Manipulación es empleado para la elaboración de
programas que permitan crear, modificar y borrar datos que constituyen la BD
Lenguaje ODL Lenguaje de definicion de datos
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
De esta forma un esquema especificado en ODL, puede ser
soportado por cualquier SMBDOO que sea compatible con ODMG 93
No está por tanto ligado a la sintaxis concreta de un lenguaje de
programación particular
El ODL intenta definir tipos que puedan implementarse en diversos
lenguajes de programación
El Lenguaje de Definición de Datos ( en un SMBDOO es empleado para facilitar la portabilidad de los esquemas de las BD
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
ODMG 93 Object Oriented Database Management Group es un punto de partida muy importante para ello
La mayor limitación de las BDOO es la carencia de un estándar
Caracteristicas
Orientación a objetos
Manejo de complejos objetos, Indentidad, Encapsulación, Herencia, Tipos o Clases, Sobrecarga, Extensibilidad, Completitud Computacional
SMBDOO
Persistencia, Concurrencia, Recuperación,
Almacenamiento Secundario, Consultas
Definiciones
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
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
Antecedentes
Tercera Generacion
Itasca( 1990 etc Son verdaderos SMBDOO, con motores que gestionan objetos y lenguajes como ODL,OML,OQL
Segunda Generacion
Ontos( 1989 Object Design, Objetivity, etc
La caracteristica principal es que utilizan una arquitectura cliente-servidor
Primera Generacion
B Base 1986 GemStone( 1987 Son
considerados como lenguajes orientados a objetos con persistencia
Persistencia
Leer
Poder recuperar la informacion de un objeto para que pueda se usada nuevamente
Guardar
Mecanismo de preservar la informacion de un objeto de forma permanente
Modelo Orientado a Objetos
Actividades
Particionar las clases por niveles de abstraccion
Organizar la jerarquia de herencia
Objetos
Definir la colaboracion de comportamiento
Describir el comportamiento
Asociar estaticamente
Identificar , clases , objetos y atributos
Construcción de modelos de un sistema por medio de la identificacion y especificacion de un conjunto de objetos relacionados
Unificación de técnicas (UML)
Surgió en los años 90's
Orientación a Objetos
Dimensiones
Dimension Funcional
Propiedades de transformacion del sistema
Dimension Dinamica
Propiedades activas, comportamiento individual y colaboracion entre objetos
Dimension Estructural
Subtopic
Orientación
Modelo
Aspecto de la realidad para comp´render esta
Esquema
Conjunto de clases
Clase
Define estructura y comportamiento del objeto
Se emplean Clases para definir entidades
Lenguajes
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
El conjunto de clases está estructurado en sub y superclases
basado en una extensión del concepto ISA del modelo Entidad Relación
Los objetos estructurados se agrupan en clases
POO
Se basa en el concepto de encapsulamiento de datos y
código que opera sobre éstos en un objeto
Interfaz Pública (Metodos)
Una Memoria Privada (Miembros o Atributos)
La encapsulación implica la Independencia Física de los
Datos
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
Actualmente, los lenguajes Java y C++ son los lenguajes de POO
más usados
Smalltalk fue uno de los primeros lenguajes de Programación OO
( POO) para aplicaciones generales
Que se diseñó para la programación de simulación
El enfoque OO para la programación fue introducida por primera vez
con el lenguaje Simula 67
Principios
Estos principios y técnicas hacen que las BDOO estén
adecuadas a aplicaciones que implican tipos de datos complejos
Los objetos heredan las características de su clase y de todas
las clases de nivel superior a la que pertenecen
La liga expresa compatibilidad de relaciones entre las clases
La subclase es la clase derivada de una superclase
La superclase es la clase que deriva a otra clase
El método es una lista de instrucciones detalladas que definen
cómo responde un objeto a un mensaje en particular
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
La instancia es un objeto con propiedades de finidas en su
descripción de la clase
Las clases son una colección de objetos con propiedades
similares, compartimiento común, relaciones comunes a otras clases
Tienen métodos que definen su comportamiento
Pueden comunicarse con otros objetos enviando o pasando mensajes
Pueden heredar propiedades de otros objetos
Soportan ocultación de datos
Contienen datos internos que definen su estado actual
Se agrupan en tipos denominados clases
Los objetos soportan una serie de características
Los sistemas OO proporcionan el concepto de Identificador del Objeto ( para identificar a los objetos
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
En una BDOO, cualquier cosa es un objeto y se manipula como tal