Vous êtes sur la page 1sur 9

LAS BASES DE DATOS ORIENTADOS A OBJETOS se propusieron con la idea de

satisfacer las necesidades de las aplicaciones ms complejas. El enfoque orientado a objetos


ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar limitado
por los tipos de datos y los lenguajes de consulta disponibles en los sistemas de bases de
datos
tradicionales.
Como cualquier Bases de Datos programable, una Base de Datos Orientada a Objetos
(BDOO) proporciona un ambiente para el desarrollo de aplicaciones y un depsito
persistente listo para su explotacin. Una BDOO almacena y manipula informacin que
puede ser digitalizada (presentada) como objetos, adems proporciona un acceso gil y
permite
una
gran
capacidad
de
manipulacin.
Los principales conceptos que se utilizan en las Bases de Datos Orientada a Objetos
(BDOO) son las siguientes:
Identidad de objetos
Constructores de tipos
Encapsulamiento
Compatibilidad con los lenguajes de programacin
Jerarquas de tipos y herencia
Manejo de objetos complejos
Polimorfismo y sobrecarga de operadores y
Creacin de versiones.
Bases De Datos Orientadas A Objetos
Artculo principal: Base de datos orientada a objetos
Este modelo, bastante reciente, y propio de los modelos informticos orientados a objetos,
trata de almacenar en la base de datos los objetos completos (estado y comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:

Encapsulacin - Propiedad que permite ocultar la informacin al resto de los objetos,


impidiendo as accesos incorrectos o conflictos.
Herencia - Propiedad a travs de la cual los objetos heredan comportamiento dentro de
una jerarqua de clases.
Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada a
distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los
datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se
especifica en dos partes. La interfaz (o signatura) de una operacin incluye el nombre de la
operacin y los tipos de datos de sus argumentos (o parmetros). La implementacin (o
mtodo) de la operacin se especifica separadamente y puede modificarse sin afectar la
interfaz. Los programas de aplicacin de los usuarios pueden operar sobre los datos
invocando a dichas operaciones a travs de sus nombres y argumentos, sea cual sea la
forma en la que se han implementado. Esto podra denominarse independencia entre
programas y operaciones.

SQL: 2003, es el estndar de SQL92 ampliado, soporta los conceptos orientados a objetos y
mantiene la compatibilidad con SQL92.
Estructura de una BD OO
El paradigma orientado a objetos se basa en el encapsulamiento de datos y del cdigo
relacionado con cada objeto en una sola unidad. Conceptualmente, todas las interacciones
entre cada objeto y el resto del sistema se realizan mediante mensajes. Por lo tanto, la
interfaz entre cada objeto y el resto del sistema se define mediante un conjunto de mensajes
permitidos.
En general, cada objeto esta asociado con:

Un conjunto de variables que contiene los datos del objeto; las variables corresponden
con los atributos del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede o no tener
parmetros o tener uno o varios.
Un conjunto de mtodos, cada uno de los cuales es el cdigo que implementa
un mensaje; el mtodo devuelve un valor como respuesta al mensaje.
Mensaje en entorno OO no implica uso de mensajes fsicos en redes informticas. Por el
contrario, hace referencia al intercambio de solicitudes entre los objetos,
independientemente de los detalles correctos de su implementacin. Se utiliza a veces la
expresin invocar un mtodo para detonar al hecho de enviar un mensaje a un objeto y la
ejecucin del mtodo correspondiente.
1. A. IDENTIDAD DE OBJETOS
Un sistema de BDOO provee una identidad nica a cada objeto independiente almacenado
en la base de datos. Esta identidad nica suele implementarse con un identificador de objeto
nico, generado por el sistema, u OID. El valor de un OID no es visible para el usuario
externo, sino que el sistema lo utiliza a nivel interno para identificar cada objeto de manera
nica y para crear y manejar las referencias entre objetos.
La principal propiedad que debe tener un OID es la de ser inmutable; es decir, el valor del
OID para un objeto en particular nunca debe cambiar. Esto preserva la identidad del objeto
del mundo real que se est presentando. Tambin es preferible que cada OID se utilice slo
una vez; esto es aunque un objeto se elimine de la Base de datos, su OID no se deber
asignar a otro objeto. Estas dos propiedades implican que el OID no debe depender del
valor de ningn atributo del objeto, pues estos valores pueden cambiar. Tambin suele
considerarse inapropiado basar el OID en la direccin fsica del objeto en el
almacenamiento, ya que una reorganizacin de los objetos de la base de datos podra
cambiar los OID. Sin embargo, algunos sistemas s usan la direccin fsica como OID para
aumentar la eficiencia de la obtencin de los objetos. Si la direccin fsica cambia, puede
colocarse un apuntador indirecto en la direccin anterior, dando la nueva ubicacin fsica
del objeto. Un sistema de BDOO debe contar con algn mecanismo para generar los OID
con la propiedad de inmutabilidad.

Algunos modelos de datos OO requieren que todo se represente como un objeto, ya sea un
valor simple o un objeto complejo; as, todo valor bsico, como un entero, una cadena o un
valor booleano, tiene un OID. Con ello dos valores bsicos pueden tener diferentes OID, lo
cual es muy til en algunos casos. Por ejemplo, en algunas ocasiones se podra usar el valor
entero 50 para representar un peso en Kilogramos, y en otras para referirse a la edad de una
persona. As podran crearse dos objetos bsicos con diferentes OID, y ambos tendran el
mismo valor bsico de 50. Aunque resulta til como modelo terico, esto no es muy
prctico porque puede obligar a generar demasiados OID. Por ello tambin, la mayor parte
de los sistemas de BDOO permiten representar tanto objetos como valores. Todo objeto
debe tener un OID inmutable, pero los valores no tienen OID y se representan as mismo.

Los objetos tienen identidades nicas, independientes de los valores de sus atributos.
La estructura orientad a objetos automticamente impone las restricciones relacionales,
generalmente ms aplicables: dominio, llave integridad de entidad e integridad
referencial.
B. CONSTRUCTORES DE TIPOS
En las BDOO, los valores (o estados) de los objetos complejos se pueden construir a partir
de otros objetos mediante ciertos constructores de tipos. Una forma de representar tales
objetos es considerar a cada objeto como tripleta (i, c, v), donde i es un identificador de
objeto nico (el OID), c es un constructor (esto es, una indicacin de cmo se construye el
valor del objeto) y v es el valor (o estado) del objeto. Puede haber varios constructores,
segn el modelo de datos y el sistema OO.
Los tres constructores bsicos son:

constructores de tomos.
constructores de tuplas.
constructores de conjuntos.
Otros constructores de uso ms comn son los de listas y de arreglos. Tambin existe un
dominio D que contiene todos los valores atmicos bsicos que estn disponibles
directamente en el sistema. Por lo regular estos incluyen los enteros, los nmeros reales, las
cadenas de caracteres, los tipos bolanos, las fechas y cualesquiera otros tipos de datos que
el sistema maneje directamente.
C. ENCAPSULAMIENTO:
Tanto la estructura de los objetos como las operaciones que se pueden aplicar a ellos se
incluyen en las definiciones de clases de los objetos.
D. COMPATIBILIDAD CON LENGUAJES DE PROGRAMACION
Si se sigue el enfoque cuando se utilizan los diagramas de Entidad-Relacin para modelar
los datos y luego se convierten de manera manual en un conjunto de relaciones; por lo tanto
los conceptos de la Programacin Orientada a Objetos se utilizan simplemente como
herramientas de diseo y se codifican, utilizndose para trabajar con una base de datos.

Hay varios lenguajes posibles en los que se pueden integrar estos conceptos:

Una opcin es extender un lenguaje para el tratamiento de datos como el SQL aadiendo
tipos complejos y la programacin orientada a objetos. Los sistemas proporcionan
extensiones orientadas a objetos a los sistemas relacionales se denominan sistemas
relacionales orientados a objetos.
Otra opcin es tomar un lenguaje de programacin orientado a objetos ya existente y
extenderlo para que trabaje con las bases de datos. Estos lenguajes se denominan
lenguajes de programacin persistentes. Estos lenguajes permiten a los programadores
trabajar directamente con los datos, desde el lenguaje de programacin; sin tener que
pasar por un lenguaje para el tratamiento de datos como SQL. Se denominan
persistentes porque los datos siguen existiendo una vez que el programa que los cre ha
concluido.
A la hora de decidir que opcin utilizar se debe tener en cuenta que los Lenguajes
Persistentes suelen ser potentes y resulta relativamente sencillo cometer errores de
programacin que daen las bases de datos. La complejidad de los lenguajes hace la
optimizacin automtica de alto nivel, como la reduccin de E/S de disco, resulte difcil.
En muchas aplicaciones, la posibilidad de las consultas declarativas es de gran
importancia, pero los lenguajes persistentes no permiten actualmente las consultas
declarativas sin que aparezcan problemas de algn tipo.
E. JERARQUIA DE TIPOS Y HERENCIA
Los esquemas de BDOO suelen necesitar un gran nmero de clases. Sin embargo, varias
clases
son
parecidas
entre
s.
Para permitir la representacin directa de parecidos entre las clases, hay que ubicarlas en
una jerarqua de especializaciones. El concepto de jerarqua de clases es parecido al de
especializacin del modelo E-R. Las especializaciones de las clases son denominadas
subclases; lo cual especifica atributos y mtodos adicionales para una clase existente. Los
objetos creados por medio de unas subclases heredan todos los atributos y mtodos de la
clase padre. Algunas de estas caractersticas heredadas pueden ellas mismas haber sido
heredadas de clases ms altas en la jerarqua.
F. MANEJO DE OBJETOS COMPLEJOS
Los objetos se consideran complejos porque requieren un rea de almacenamiento
sustancial y no forman parte de los tipos de datos estndar que suelen ofrecer los SGBD.
Puesto que el tamao de los objetos es considerable, un SGBD podra obtener una porcin
del objeto y proporcionarla al programa de aplicacin antes de obtener todo el objeto. El
SGBD podra tambin usar tcnicas de almacenamiento intermedio y cach para obtener
por anticipado porciones del objeto, antes de que el programa de aplicacin necesite tener
acceso a ellas.
En un SGBOO, esto puede lograrse definiendo un nuevo tipo de datos abstracto para los
objetos no interpretados y suministrados los mdos para seleccionar, comprar y exhibir
tales objetos.

Como un SGBOO permite a los usuarios crear nuevos tipos, y como un tipo incluye tanto
estructura como operaciones, podemos considerar que un SGBOO tiene un sistema de tipos
extensibles. Podemos crear bibliotecas de nuevos tipos definiendo su estructura y
operaciones, incluso con tipos complejos.
Muchos SGBDOO pueden almacenar y obtener objeto no estructurado extenso en forma de
cadenas y caracteres o de bits, que se pueden pasar tal cual al programa de aplicacin
para que las interprete.

Es posible almacenar y manipular objetos complejos tanto estructurados como no


estructurados.
G. POLIMORFISMO
El polimorfismo se refiere al uso de la misma firma de mensaje para dirigir diferentes
mtodos en diferentes clases. Cuando el diseador enva una seal a un objeto, el mtodo
de la clase de objeto, posiblemente heredado, procesa la seal.
Un mtodo puede tener acceso directamente a atributos de un objeto destino por no
nombre, al incluir cualesquiera atributos heredados de clases padres, pero debe tener acceso
a atributos de otros objetos con seales secundarias.
En sntesis este concepto permite enlazar el mismo nombre o smbolo de operador a dos o
ms implementaciones diferentes del operador, dependiendo del tipo de objetos a los que
ste se aplique.
H. CREACION DE VERSIONES
Muchas aplicaciones de bases de datos que usan sistemas OO requieren la existencia de
varias versiones del mismo objeto.
Por lo regular, se aplican actividades de mantenimiento a un sistema de software conforme
sus requerimientos evolucionan. Por lo regular, el mantenimiento implica modificar
algunos de los mdulos de diseo y de implementacin. Si el sistema ya est en operacin,
y si es preciso modificar uno o ms mdulos, el diseador deber crear una nueva versin
de cada uno de ellos para efectuar cambios.
Cabe sealar que puede haber ms de dos versiones de un objeto.
En caso que se requieran dos versiones, adems del mdulo original. Se puede actualizar
concurrentemente las propias versiones del mismo mdulo del software. Esto se llama
ingeniera concurrente. Sin embargo, siempre llega el momento en que es preciso combinar
(fusionar) estas dos versiones para que la versin hibrida incluya los cambios realizados. Es
necesario de que sus cambios sean compatibles.

Un objeto complejo, como un sistema de software, puede constar de muchos mdulos.


Cuando se permite la creacin de mltiples versiones, es posible que cada una de esos
mdulos tenga varias versiones distintas y un grafo de versiones.
Como
se
deduce
del
anlisis
anterior,
un
SGBDOO
capaz de almacenar y controlar mltiples versiones del mismo objeto.

debe

ser

Caractersticas de BD OO
Se intenta definir un sistema de BDOO y describe las principales caractersticas en tres
grupos:
Mandatorias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO
y estos son: Objetos complejos, Identidad de Objetos, Encapsulacin, Tipos o clases, Sobre
paso con unin retardada, Extensibilidad, Completacin Computacional, Persistencia y
Manejador de almacenamiento secundario, Concurrencia, Recuperacin y Facilidad de
Query.
CARACTERISTICAS OBLIGATORIAS
Este es un punto que no debe faltar en BD.
Predominancia combinada con enlace retardado: se puede definir que sea Excel,
Autocad, etc. desde la programacin.
Extesibilidad: Proporciona los tipos de datos como: Carcter, booleano, string, etc.
Concurrencia: permite que varios usuarios tengan acceso a
una BD al mismo tiempo.
Recuperacin: Cuando se hace una transaccin pero no se puede realizar y se regresa al
mismo
estado.
Facilidad de Consultas a Modo. Esto es cuando se tienen diferentes estndares.
Ventajas
La clave que posee la BDOO es el poder que confieren al diseador para especificar
tanto la estructura de objetos complejos como las operaciones que se pueden aplicar a
esos objetos.
Est su flexibilidad, y soporte para el manejo de tipos de datos complejos. Por
ejemplo: En una base de datos convencional, si una empresa adquiere varios clientes por
referencia de clientes servicio, pero la base de datos existente, que mantiene la informacin
de clientes y sus compras, no tiene un campo para registrar quin proporcion la referencia,
de qu manera fue dicho contacto, o si debe compensarse con una comisin, sera necesario
reestructurar la base de datos para aadir este tipo de modificaciones. Por el contrario, en
una BDOO, el usuario puede aadir una subclase de la clase de clientes para manejar las
modificaciones
que
representan
los
clientes
por
referencia.
La subclase heredar todos los atributos, caractersticas de la definicin original, adems se
especializar en especificar los nuevos campos que se requieren as como los mtodos para
manipular solamente estos campos Naturalmente se generan los espacios para almacenar la
informacin adicional de los nuevos campos. Esto presenta la ventaja adicional que una

BDOO puede ajustarse a usar siempre el espacio de los campos que son necesarios,
eliminando espacio desperdiciado en registros con campos que nunca usan.

La segunda ventaja de una BDOO, es que manipula datos complejos en forma rpida y
gilmente. La estructura de la base de datos est dada por referencias (o apuntadores
lgicos) entre objetos.
POSIBLES DESVENTAJAS DE UNA BDOO
Al considerar la adopcin de la tecnologa orientada a objetos, la inmadurez del
mercado de BDOO constituye una posible fuente de problemas por lo que debe
analizarse con detalle la presencia en el mercado del proveedor para adoptar su producto
en la lnea de produccin sustantiva. Por eso en este artculo se propone que se explore
esta tecnologa en un proyecto piloto.
El segundo problema es la falta de estndares en la industria orientadas a objetos. Sin
embargo, el Grupo Manejador de Objetos (OMG), es una Organizacin Internacional
de Proveedores de Sistemas de Informacin y usuarios dedicada a promover estndares
para el desarrollo de aplicaciones y sistemas orientados a objetos en ambiente de
cmputos de red. La implantacin de una nueva tecnologa requiere que los usuarios
iniciales acepten cierto riesgo. Aquellos que esperan resultados a corto plazo y con un
costo reducido quedarn desilusionados. Sin embargo, para aquellos que planean a un
futuro intermedio con una visin tecnolgica avanzada, el uso de tecnologa avanzada,
el uso de tecnologa orientada a objetos, paulatinamente compensar todos los riesgos.

Base de Datos Objeto Relacional


Oracle ha implementado un modelo orientado a objetos en su sistema de gestin de bases
de datos. Este documento analiza las ventajas aadidas al incorporar el enfoque orientado a
objetos basado en el SGBD de Oracle. Actualmente, existe un estndar orientado a objetos
para el desarrollo de sistemas de informacin Los tipos de objetos definidos por el usuario
son el fundamento del modelo de Objetos de Oracle. Ello hace posible que estos tipos de
objetos sean producidos (creados) por el usuario para la creacin de BDOR. Este trabajo
describe adems las formas de uso de dichos tipos de objetos al definir las caractersticas de
abstraccin, encapsulacin y herencia del paradigma orientado a objetos. Finalmente, se
describen futuras implicaciones del incremento de posibilidades del anlisis y diseo de
bases de datos gracias a la incorporacin del modelo de objetos.
Bases de Datos Objeto-Relacionales: BDOR. Tecnologa BDOR de Oracle.
El trmino Base de Datos Objeto Relacional (BDOR) se usa para describir una base de
datos que ha evolucionada desde el modelo relacional hacia otra ms amplia que incorpora
conceptos del paradigma orientado a objetos. Por tanto, un Sistema de Gestin ObjetoRelacional (SGBDOR)contiene ambas tecnologas: relacional y de objetos. Una idea bsica
de las BDOR es que el usuario pueda crear sus propios tipos de datos, para ser utilizados en
aquella tecnologa que permita la implementacin de tipos de datos predefinidos.

Tipos de Datos Definidos por el Usuario


Un tipo de dato define una estructura y un comportamiento comn para un conjunto de
datos de las aplicaciones. Los usuarios de Oracle pueden definir sus propios tipos de datos
mediante dos categoras: tipos de objetos (object type) y tipos para colecciones (collection
type). Para construir los tipos de usuario se utilizan los tipos bsicos provistos por el
sistema y otros tipos de usuario previamente definidos.
Tipos de objetos
Un tipo de objeto representa una entidad del mundo real y se compone de los siguientes
elementos:
Su nombre que sirve para identificar el tipo de los objetos. Sus atributos que modelan la
estructura y los valores de los datos de ese tipo. Cada atributo puede ser de un tipo de datos
bsico o de un tipo de usuario.
Sus mtodos (procedimientos o funciones) escritos en lenguaje PL/SQL (almacenados en
la BDOR), o escritos en C (almacenados externamente).
Los tipos de objetos actan como plantillas para los objetos de cada tipo. A continuacin
vemos un
Ejemplo de cmo definir el tipo de dato Direccion_T en el lenguaje de definicin de datos
de Oracle,y cmo utilizar este tipo de dato para definir el tipo de dato de los objetos de la
clase de Cliente_T.

Ejemplo

de

un

modelo

de

base

de

datos

orientada

objetos.

[1]

Una base de datos objeto-relacional se puede decir que ofrecen un trmino medio entre las
bases de datos relacionales y orientados a objetos de bases de datos ( SGBDOO ). En el
objeto-relacional de bases de datos, el enfoque es esencialmente el de bases de datos
relacionales: los datos residen en la base de datos y es manipulada en conjunto con las
consultas en un lenguaje de consulta, en el otro extremo se OODBMSes en el que la base
de datos es esencialmente un almacn de objetos persistentes para el software escrito en un
lenguaje de programacin orientado a objetos , con una programacin API para almacenar
y recuperar los objetos, y un apoyo especfico poca o ninguna consulta.

Vous aimerez peut-être aussi