Categorías: Todo - clases - herencia - consultas - persistencia

por GABRIEL REYNALDO PUCHO CRUZ hace 3 años

171

BASE DE DATOS ORIENTADA A OBJETOS

Las bases de datos orientadas a objetos (BDOO) se distinguen por su capacidad para manejar objetos complejos, incorporando conceptos esenciales de la programación orientada a objetos como identidad, encapsulación y herencia.

BASE DE DATOS ORIENTADA A OBJETOS

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