Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bdoo
Bdoo
1
1
INDIC
Pag
Por qu surgen los SGBDOO? ....................................................................... 2
Qu es un SGBD? .......................................................................................... 2
Qu es un sistema de bases de datos orientadas a objetos? ........................... 3
Manifiestos acerca de los SGBDOO ............................................................... 4
Manifiesto de Atkinson .................................................................................... 5
Caractersticas obligatorias ................................................................ 5
Caractersticas opcionales .................................................................. 10
Opciones abiertas ............................................................................... 11
Manifiesto de Stonebraker ............................................................................... 11
Primer principio ................................................................................. 11
Segundo principio .............................................................................. 12
Tercer principio .................................................................................. 12
Tercer manifiesto ............................................................................................. 12
Lenguajes de definicin, manipulacin y consulta .......................................... 13
Qu es POET y qu ofrece? ............................................................................. 15
POET y C++ ..................................................................................................... 15
Diferencias entre SGBD SGBDOO .............................................................. 21
Observaciones complementarias ...................................................................... 22
Bibliografa ...................................................................................................... 22
Bases de datos orientadas a objetos
2
1OR QU SURGN IOS SGBDOO?
Los sistemas de gestin de bases de datos orientadas a objetos surgen debido a la
falta de capacidad semntica del Modelo Relacional para atender nuevos tipos de
aplicaciones:
Diseo yfabricacin en ingeniera(CASE, CAD/ CAM)
Bases de datos grficas y de imgenes.
Bases de datos cientficas.
Sistemas de informacin geogrfica.
Bases de datos multimedia.
Acceso uniforme a sistemas de mltiples bases de datos.
Este tipo de aplicaciones necesita trabajar con datos de forma diferente a lo que
conocemos porque necesitan:
Estructuras ms complejas para los objetos.
Transacciones de mayor duracin.
Nuevos tipos de datos para almacenar imgenes o grandes bloques de texto
Necesidad de definir operaciones no estndar, especificas para cada aplicacin.
Controlar versiones y configuraciones.
QU S UN SGBD?
Un sistema de gestin de bases de datos es un conjunto de datos relacionados entre
s y un grupo de programas para tener acceso a esos datos. Las principales razones para
emplear un SGBD son:
Tamao. Cuando el volumen de informacin aumenta, es necesario algn
sistema que nos facilite el intercambio de informacin con memoria secundaria,
la bsqueda rpida, etc.
Concurrencia. Es necesario un mecanismo de control sobre la informacin
cuando sobre ella pueden existir varias personas o programas interactuando, de
modo que coordine sus accesos para que cada uno no invalide el trabajo
realizado por el resto.
Recuperacion e Integriaaa. Cuando la informacin sobre la que se est
trabajando es importante, es necesario algn mecanismo que se encargue de
protegerla de prdidas accidentales provocadas por fallos de energa, fallos de la
propia aplicacin, etc.
Persistencia. Representa la posibilidad de que la informacin permanezca an
despus de desconectar el ordenador.
Adems de lo anteriormente expuesto un SGBD suele proporcionar otras
capacidades adicionales, tales como:
Distribucion, o posibilidad de que la informacin est almacenada en lugares
diferentes. Los usuarios no necesitan conocer dnde est la informacin, el
SGBD la encuentra para ellos.
Seguriaaa, que permite restringir el acceso a la informacin a usuarios no
autorizados.
Bases de datos orientadas a objetos
3
Aaministracion, que permite a los usuarios o administradores de bases de datos
examinar, controlar y ajustar el comportamiento del sistema. Permite por tanto
mantener las restricciones de integridad definidas por el usuario.
Un SGBD necesita para su funcionamiento dar soporte a tres reas bsicas
mediante un lenguaje para cada una de ellas:
Definicion ae Datos (Data Definition Language). Debe permitir a los usuarios
definir nuevas estructuras y tipos de informacin.
Manipulacion ae Datos (Data Manipulation Language). Debe permitir acceder a
las instancias de dichas estructuras de informacin, permitiendo incluso su
modificacin.
Consultas (Query). Debe permitir a los usuarios enunciar declarativamente la
informacin que desean, siendo el propio SGBD quin se encargue de obtenerla.
El soporte para la consulta suele incluir un motor que examinar la declaracin
de la informacin que se ha solicitado, elaborar un plan de ejecucin para
obtenerla, optimizar ese plan basndose en el conocimiento de la base de datos
(ndices, que informacin es local y cual es remota, etc.) y finalmente la
ejecutar.
QU S UN SISTMA D BAS D
DATOS ORINTADA A OBJTOS?
Las bases de datos de objetos estn diseadas para simplificar la programacin
orientada a objetos. Almacenan los objetos directamente en la base de datos, y emplean
las mismas estructuras y relaciones que los lenguajes de programacin orientados a
objetos.
Un SGBDOO es un sistema de objetos y un sistema de bases de datos. Se puede
entonces decir que un SGBDOO es un SGBD que almacena objetos, permitiendo
concurrencia, recuperacin...
Para los usuarios tradicionales de bases de datos, esto quiere decir que pueden
tratar directamente con objetos, no teniendo que hacer la traduccin a tablas o registros.
Para los programadores de aplicaciones, esto quiere decir que sus objetos se conservan,
pueden ser gestionados aunque su tamao sea muy grande, pueden ser compartidos
entre mltiples usuarios, y se mantienen tanto su integridad como sus relaciones.
Las bases de datos tradicionales almacenan slo datos, mientras que las bases de
datos orientadas a objetos almacenan objetos, con una estructura arbitraria y un
comportamiento. Una simple metfora (Esther Dyson) ayuda a ilustrar la diferencia
entre ambos modelos. Consideremos el problema de almacenar un coche en un garaje al
final del da. En un sistema de objetos el coche es un objeto, el garaje es un objeto, y
hay una operacin simple que es almacenar-coche-en-garaje. En un sistema relacional,
todos los datos deben ser traducidos a tablas, de esta forma el coche debe ser
desarmado, y todos los pistones almacenados en una tabla, todas las ruedas en otra, etc.
Por la maana, antes de irse a trabajar hay que componer de nuevo el coche para poder
conducir (problema: al componer piezas puede salir una moto en vez de un coche).
Bases de datos orientadas a objetos
4
Como podemos ver un coche se representara dependiendo del tipo de sistema de
gestin de bases de datos:
Una posible solucin sera traducir cada objeto a tablas, pero esto es una tarea
tediosa, y en el caso de utilizar datos complejos puede llegar a ser excesivamente
complicado. El problema de la traduccin a tablas implica:
Tiempo ae aesarrollo. El tiempo empleado en generar el cdigo para la
traduccin de objetos a tablas y viceversa.
Errores. Debidos precisamente a esa traduccin.
Inconsistencia. Debida a que el ensamblaje/ desensamblaje puede realizarse de
forma diferente en las distintas aplicaciones.
Tiempo ae Efecucion. Empleado en el ensamblaje/ desensamblaje.
Muchos vendedores de bases de datos relacionales estn incorporando capas de
objetos sobre sus motores relacionales (basados en tablas), que son bastante tiles para
la integracin con aplicaciones y bases de datos de objetos, y que pueden ayudar en la
generacin de algunos cdigos de ensamblaje/ desensamblaje, pero no mejora en
absoluto el tiempo de ejecucin del problema (el coche todava necesita ser ensamblado
y desensamblado).
MANI1ISTOS ACRCA D IOS
SGBDOO
Manifiesto de los Sistemas de Bases de Datos al Objeto puras, ATKINSON, 1989
Enfoque purista que sostiene que los SGBO deben soportar una modelo
de objetos puros y no basarse en extensiones semnticas de modelos
clsicos como el relacional.
Manifiesto de los SBD de Tercera Generacin, STONEBRAKER, 1990
SGBD Relacionales extendidos que sean capaces de soportar los
conceptos de orientacin al objeto.
Postura que propugnan los principales vendedores de productos
relacionales.
Tercer manifiesto, DARWEN y DATE 1995
Reinterpretan el modelo relacional bajo la visin orientada al objeto.
Bases de datos orientadas a objetos
5
MANI1ISTO D ATKINSON.
CARACTRSTICAS D IOS SGBDOO 1URAS
Las caractersticas que debe seguir una sistema de gestin de bases de datos para
considerarse orientado a objetos se dividen en tres grupos:
Obligatorias Trece reglas
Opcionales, aquellas que pueden aadirse para mejorar el sistema pero que no
son obligatorias Cinco reglas
Abiertas, aquellas que el diseador puede incluir para adaptar el sistema a sus
necesidades. Cuatro reglas
CARACTERSTICAS OBLIGATORIAS: 'Las reglas de oro"
I. TIpos comp!eJos
Un sistema de BBDDOO debe poder dar cabida a diferentes tipos de datos, desde
los ms sencillos a objetos ms complejos, todos ellos de pueden resumir en estos ocho:
Tipo abstracto para construir otros tipos. Permite construir nuevos tipos a
partir de caracteres, float, enteros. Por ejemplo: punteros, nmeros
complejos, cadenas de bits...
Array. Son matrices de elementos de datos, como los que podemos
encontrar en innumerables aplicaciones cientficas.
Secuencia ae tipo: Insertar elementos en una matriz en cualquier posicin.
Tuplas: Forma natural de representar las propiedades de una entidad.
Confunto: Forma natural de representar los grupos del mundo real.
Funciones: Para crear, modificar y borrar otros objetos
Uniones: Elementos de datos que pueden tomar diferentes valores de los
diferentes tipos, es decir, matrices heterogneas.
Composicion recursiva ael resto ae tipos, se utiliza para representar objetos
complejos, tales como documentos, espacios geomtricos...
II. IdentIdud de obJeto
La identidad es aquella propiedad de un objeto que lo distingue de todos los dems
objetos.
La idea es que en un modelo con identidad de los objetos, la existencia de un
objeto es independiente de su valor. Cada objeto se representa por un IDO
(IDentificaaor ae Obfeto) que es nico dentro de toda la base de datos. Estos IDOs no
tienen que ser gestionados por el programador ya que son implementados a bajo nivel
por el sistema, lo que a su vez incrementa el rendimiento del mismo. De esta forma dos
objetos sern diferentes si tienen IDOs diferentes, aunque sus atributos tengan los
mismos valores. As, dos objetos pueden ser idnticos (son el mismo objeto, tienen el
mismo IDO) o iguales (tienen el mismo valor). Esto implica que dos objetos idnticos
son a su vez iguales, mientras que lo inverso no es cierto.
Bases de datos orientadas a objetos
6
La identidad de los objetos es adems una potente primitiva que puede ser la base
para el manejo de tuplas, conjuntos, y objetos complejos recursivos. Tambin permite
operaciones tales como asignacin o copia de objetos.
III. ncupsu!umIento
El encapsulamiento se centra en la implementacin que da lugar al
comportamiento observable de un objeto. El encapsulamiento se consigue a menudo
mediante la ocultacin de informacin, es decir, se basa en ocultar todos los secretos de
un objeto que no contribuyen a sus caractersticas esenciales. El encapsulamiento
proporciona, por tanto, barreras explcitas entre abstracciones diferentes.
Existen dos visiones diferentes del encapsulamiento[ATK89], la primera y
original que es la del lenguaje de programacin; y la segunda que es la adaptacin de
esa visin para la base de datos.
Desde el punto de vista de las bases de datos, esto se traduce en el hecho de que
un objeto abarca operaciones y datos, pero con una diferencia. En las bases de datos no
est claro si la parte estructural es parte de la interfaz (depende del sistema), mientras
que en los lenguajes de programacin la estructura de datos es claramente parte de la
implementacin y no de la interfaz.
Como se puede observar, el encapsulamiento proporciona una forma lgica de
independencia de los datos, ya que se puede cambiar la implementacin de un tipo sin
cambiar ninguno de los programas que usan ese tipo.
Primer PRINCIPIO
ADEMS DE LOS SERVICIOS TRADICIONALES DE GESTIN DE DATOS, LOS SGDB DE
TERCERA GENERACIN PROPORCIONARN GESTIN DE OBJETOS Y REGLAS MS RICAS.
Proposiciones:
1.1 Los SGBD de la tercera generacin debe tener un sistema de tipos rico
1.2 La herencia es aconsejable
1.3 La reutilizacin y la encapsulacin son aconsejables.
1.4 Se deberan asignar IDO para los registros slo si no est disponible una
clave primaria.
1.5 Las reglas de convertirn en una caracterstica primordial de los futuros
sistemas. Las reglas no deberan asociarse con una funcin especfica.
Bases de datos orientadas a objetos
12
Segundo PRINCIPIO
LOS SGDB DE TERCERA GENERACIN DEBEN INCLUIR A LOS SGBD DE SEGUNDA
Proposiciones
2.1 Un SGBD de la tercera generacin debe tener un lenguaje de acceso
declarativo y de alto nivel.
2.2 Deben existir dos formas de especificar colecciones: por enumeracin de sus
miembros o mediante un lenguaje de consulta.
2.3 Las vistas deben ser actualizables.
2.4 Los indicadores de resultados no deben aparecer en los datos.
Tercer PRINCIPIO
LOS SGDB DE TERCERA GENERACIN DEBEN ESTAR ABIERTOS A OTROS SUBSISTEMAS.
Proposiciones:
3.1 Se puede acceder a un SGBD de tercera generacin desde mltiples
lenguajes de alto nivel.
3.2 Debe soportar la persistencia de las variables.
3.3 El lenguaje SQL es una forma universal de expresin de datos.
3.4 Las consulta y sus respuestas deben constituir el nivel ms bajo de
comunicacin entre un cliente y un servidor.
TRCR MANI1ISTO
El enfoque purista ha sido duramente criticado por expertos de bases de datos
relacionales:
Los productos relacionales se apoyan en un lenguaje basado en la
lgica, que lleva ms de dos mil aos demostrando su validez.
Sera una pena desperdiciar ms de veinte aos de investigacin y
desarrollo en bases de datos relacionales.
El Tercer Manifiesto, DARWEN y DATE, 1995
Reinterpreta el modelo relacional bajo una visin orientada al objeto.
Propone un lenguaje D que proporciona algunas ventajas de la
orientacin al objeto, como los tipos de datos y la herencia, manteniendo
el fundamento terico del modelo relacional. No se trata de una
extensin del lenguaje SQL.
Segn el manifiesto, tal lenguaje D, debe estar sujeto a una serie de
prescripciones, proscripciones y lo que denomina sugerencias muy
fuertes las cuales divide en categoras.
RM: surgen del Modelo Relacional
OO: no surgen del Modelo relacional
Bases de datos orientadas a objetos
13
INGUAJS D D1INICION (ODI),
MANI1UIACION(OMI) Y
CONSUITA(OQI)
Lenguaje ODL
El DDL o lenguaje de definicin de datos, se utiliza para expresar la estructura y
condiciones de integridad sobre el esquema de la base de datos. En una base de datos
relacional define las tablas, los atributos en la tabla, el dominio de los atributos y las
restricciones sobre un atributo o una tabla.
En un SGBDOO el DDL debe ser empleado para definir no slo lo anteriormente
mencionado, si no tambin para definir mtodos, datos compuestos, relaciones ISA,
herencia, etc.
El DDL propuesto por ODMG-93 Estandarizacin de los sistemas de bases de
datos orientados a objetos denominado ODL pretende principalmente facilitar la
portabilidad de los esquemas de las bases de datos. Este ODL no es un lenguaje de
programacin completo, define las propiedades y los prototipos de las operaciones de
los tipos, pero no los mtodos que implementan esas operaciones.
El ODL intenta definir tipos que puedan implementarse en diversos lenguajes de
programacin; no est por tanto ligado a la sintaxis concreta de un lenguaje de
programacin particular. De esta forma un esquema especificado en ODL puede ser
soportado por cualquier SGBDOO que sea compatible con ODMG-93.
La sintaxis de ODL es una extensin de la del IDL ( Interface Definition
Language) desarrollado por OMG como parte de CORBA (Common Object Request
Broker Architecture).
A continuacin se va a exponer un breve ejemplo de definicin de una interfaz
mediante el lenguaje de definicin (ODL). La interfaz representada corresponde al tipo
Seccin del diagrama anterior:
Bases de datos orientadas a objetos
14
,QWHUIDFHSeccion
( H[WHQW secciones
.H\ (es_seccion_de, numero))
{
DWWULEXWH6WULQJ numero;
UHODWLRQVKLS Profesor Es_asesorada_por LQYHUVHProfesor::Ensea;
UHODWLRQVKLSPA Tiene_PA LQYHUVH PA::Asiste;
UHODWLRQVKLS Curso Es_seccion_de LQYHUVH Curso::Tiene_secciones;
};
La traduccin ODL-C++, por ejemplo, se expresar como una librera de clases y
una extensin a la gramtica estndar de definicin de clases de C++.
Lenguaje OML
El lenguaje de manipulacin es empleado para la elaboracin de programas que
permitan crear, modificar y borrar datos que constituyen la base de datos.
ODMG-93 no propone un OML estndar, simplemente sugiere que este lenguaje
sea la extensin de un lenguaje de programacin, de forma que se puedan realizar entre
otras las siguientes operaciones sobre la base de datos:
Creacin de un objeto
Borrado de un objeto
Modificacin de un objeto
Identificacin de un objeto
Lenguaje OQL
El lenguaje de consulta propuesto por ODMG-93, presenta las siguientes caractersticas:
No es computacionalmente completo. Sin embargo, las consultas pueden invocar
mtodos, e inversamente los mtodos escritos en cualquier lenguaje de
programacin soportado pueden incluir consultas.
Tiene una sintaxis abstracta.
Su semntica formal puede definirse fcilmente.
Proporciona un acceso declarativo a los objetos.
Tiene una sintaxis concreta al estilo SQL, pero puede cambiarse con facilidad.
Puede optimizarse fcilmente.
No proporciona operadores explcitos para la modificacin, 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
se restringe slo a ellas.