Sunteți pe pagina 1din 11

BASES DE DATOS ORIENTADAS A OBJETOS

Descripcin de bases de datos orientados a objetos.

El modelo de datos orientado a objetos es una adaptacin para los sistemas de


bases de datos del paradigma de la programacin orientada a objetos. Se basa
en el concepto de encapsular los datos en un objeto y el cdigo que opera
sobre ellos.
De manera parecida, los objetos estructurados se agrupan en clases. El
conjunto de las clases se estructura en subclases y superclases basadas en una
extensin del concepto ES del modelo entidad-relacin.
El valor de un elemento de datos de un objeto puede ser un objeto, haciendo
posible representar los continentes de objetos, lo que da lugar a objetos
compuestos.
En general, cada objeto est asociado con
Un conjunto de variables que contiene los datos del objeto; las variables se
corresponden con los atributos del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede no
tenerparmetros, tener uno o varios.
Un conjunto de mtodos, cada uno de los cuales es cdigo que implementa
un mensaje; el mtodo devuelve un valor como respuesta al mensaje.

Tipos de datos complejos y estructurados en BDOO.

Considrense, por ejemplo, un conjunto de direcciones. Mientras una direccin


completa puede ser vista como un elemento de datos atmico de tipo cadena
de caracteres, esta forma de verlo escondera detalles como la calle, la
poblacin, la provincia, y el cdigo postal que podran ser interesantes para las
consultas. Por otra parte, si una direccin se representa dividindola en
componentes (calle, poblacin, provincia y cdigo postal) las consultas escritas
seran ms complicadas, pues tendran que mencionar cada campo. Una
alternativa mejor es permitir tipos de datos estructurados, que admiten un tipo
direccin con subpartescalle, poblacin, provincia y cdigo postal.

Otro ejemplo: considrense los atributos multivalorados del modelo E-R. Tales
atributos son naturales, por ejemplo, para la representacin de nmeros de
telfono, ya que las personas pueden tener ms de un telfono. La alternativa
de normalizacin con la creacin de una nueva relacin es costosa y artificial
para este ejemplo.

7.3 Tipos estructurados y herencia en SQL

Los tipos estructurados permiten la representacin directa de atributos


compuestos de los diagramas E-R.
Los tipos estructurados se pueden declarar y usar en SQL como en el siguiente
ejemplo:

create type Editorial as


(nombre varchar(20),
sucursal varchar(20))
create type Libro as
(ttulo varchar(20),
array-autores varchar(20) array [10],
fecha-pub date,
editorial Editorial,
lista-palabras-clave setof(varchar(20)))
create table libros of type Libro

La primera instruccin define el tipo Editorial, que tiene dos componentes: un


nombre y una sucursal. La segunda instruccin define el tipo Libro, que
contienettulo, array-autores, que es un array de autores, una fecha de
publicacin, una editorial (de tipo Editorial) y un conjunto de palabras clave.
(La declaracin delista-palabrasclave como un conjunto usa la sintaxis
extendida y no est soportada en la norma SQL) Los tipos ilustrados se
denomina tipos estructuradosen SQL.

La herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas.

Herencia de tipos

Se dispone de la siguiente definicin de tipos para las personas:

create type Persona


(nombre varchar(20),
direccin varchar(20))

Dado que los estudiantes y los profesores tambin son personas, se puede
utilizar la herencia para definir los tipos estudiante y profesor en SQL:

create type Estudiante


under Persona
(curso varchar(20),
departamento varchar(20))
create type Profesor
under Persona
(sueldo integer,
departamento varchar(20))
Tanto Estudiante como Profesor heredan los atributos de Persona, es
decir,nombre y direccin. Estudiante y Profesor se denominan subtipos de
Persona y sta, a su vez, es un supertipo de Estudiante y de Profesor.
Los mtodos de un tipo estructurado se heredan por sus subtipos, al igual que
los atributos. Sin embargo, un subtipo puede redefinir el efecto de un mtodo
declarando de nuevo el mtodo, usando overriding method en lugar de method
en la declaracin del mtodo.

Supngase ahora que se desea guardar la informacin sobre los ayudantes,


que son simultneamente estudiantes y profesores, quizs incluso en
departamentos diferentes. Esto se puede hacer usando la herencia mltiple.

Por ejemplo, si el sistema de tipos permite la herencia mltiple, se puede


definir un tipo para los ayudantes de la manera siguiente:

create type Ayudante


under Estudiante, Profesor

Ayudante heredara todos los atributos de Estudiante y de Profesor.

Herencia de tablas en SQL.

Las subtablas en SQL se corresponden con la nocin del modelo E-R de la


especializacin y la generalizacin. Por ejemplo, supngase que se define la
tablapersonas de la manera siguiente:

create table persona of Persona

Se pueden definir entonces las tablas estudiantes y profesores como subtablas


depersona:

create table estudiantes of Estudiante


under persona
create table profesores of Profesor
under persona

Los tipos de las subtablas deben ser subtipos del tipo de la tabla padre. Por
tanto, cada atributo presente en persona debe estar tambin presente en las
subtablas. Si una consulta usa la tabla persona, encontrar no slo las tuplas
insertadas directamente en la tabla, sino tambin las tuplas insertadas en sus
subtablasestudiantes y profesores. Sin embargo, slo se puede acceder a los
atributos que estn presentes en persona.

Arreglos multiconjunto en SQL.

Los conjuntos son ejemplares de los tipos coleccin. Otros ejemplares son los
arrays y los multiconjuntos (es decir, colecciones sin orden donde un elemento
puede aparecer varias veces). Las siguientes definiciones de atributos ilustran
la declaracin de un array:
array-autores varchar(20) array [10]

array-autores es un array de hasta 10 nombres de autor. Se puede acceder a


los elementos del array especificando el ndice del array, por ejemplo, array-

autores[1]. Los arrays son el nico tipo coleccin soportado en SQL la sintaxis
usada es como en la declaracin precedente. Muchas aplicaciones actuales de
bases de datos necesitan almacenar atributos grandes (del orden de varios
kilobytes), tales como la fotografa de una persona, o muy grandes (del orden
de varios megabytes o incluso gigabytes), tales como imgenes mdicas de
alta resolucin o clips de vdeo. SQL proporciona por tanto nuevos tipos de
datos para objetos de gran tamao para datos de caracteres (clob) y binarios
(blob). Las letras lob en estos tipos de datos son acrnimos de Large
OBject (objeto grande). Por ejemplo, se pueden declararlos siguientes
atributos:crtica-libro clob(10KB)imagen blob(10MB)

crtica-libro clob(10KB)

imagen blob(10MB)

pelcula blob(2GB)

Los objetos grandes se usan normalmente en aplicaciones externas, y tiene


poco sentido extraerlos completamente en SQL. En su lugar, una aplicacin
conseguira un localizador de un objeto grande y lo usara para manipularlo
desde el lenguaje anfitrin. Por ejemplo, JDBC permite al programador extraer
un objeto grande en pequeos trozos, en lugar de todo a la vez, de forma muy
parecida a la extraccin de datos de un archivo del sistema operativo.

Identidad de los objetos y tipos de referencia en SQL.

La identidad de los objetos es un concepto de identidad ms potente que el


que suele hallarse en los lenguajes de programacin o en los modelos de datos
que no se basan en la programacin orientada a objetos.
Ejemplos de identidad.

Valor. Se utiliza un valor de datos como identidad. Esta forma de identidad se


utiliza en los sistemas relacionales. Por ejemplo, el valor de la clave primaria de
una tupla identifica a la tupla.

Nombre. Se utiliza como identidad un nombre proporcionado por el usuario.


Esta forma de identidad suele utilizarse para los archivos en los sistemas de
archivos. Cada archivo recibe un nombre que lo identifica de manera unvoca,
independientemente de su contenido.
Incorporada. Se incluye el concepto de identidad en el modelo de datos o en
el lenguaje de programacin y no hace falta que el usuario proporcione ningn
identificador. Esta forma de identidad se utiliza en los sistemas orientados a
objetos. Cada objeto recibe del sistema de manera automtica un identificador
en el momento en que se crea.

Los lenguajes orientados a objetos proporcionan la posibilidad de hacer


referencia a los objetos. El atributo de un tipo puede ser una referencia a un
objeto de un tipo especificado. Por ejemplo, en SQL se puede definir un tipo
Departamento, con campos nombre y director, que es una referencia al tipo
Persona, y una tabladepartamentos de tipo Departamento, como sigue:

create type Departamento(


nombre varchar(20),
director ref(Persona) scope persona
)
create table departamentos of Departamento

La referencia en este ejemplo est restringida a tuplas de la tabla persona. La


restriccin de scope de una referencia a las tuplas de una tabla es obligatoria
enSQL y hace que las referencias se comporten comoclaves externas.

La tabla referenciada debe tener un atributo que almacene el identificador de


la tupla. Este atributo, denominado atributo autorreferencial, se declara
aadiendo la clusula ref is a la instruccin create table.

create table persona of Persona


ref is ido system generated

Donde ido es un nombre de atributo, no una palabra clave. La subconsulta


anterior podra usar
select p.ido en lugar de select ref(p).

Una alternativa a los identificadores generados por el sistema es permitir a los


usuarios generar identificadores. El tipo del atributo autorreferencial se debe
especificar como parte de la definicin de tipos de la tabla referenciada, y la
definicin de tabla debe especificar que la referencia la genera el usuario (user
generated).

create type Persona


(nombre varchar(20),
direccin varchar(20))
ref using varchar(20)
create table persona of Persona
ref is ido user generated

Al insertar una tupla en persona se debe proporcionar un valor para el


identificador:

insert into persona values


(01284567, Juan, Plaza Mayor, 1)

Ninguna otra tupla de persona o sus supertablas pueden tener el mismo


identificador. Se puede entonces usar el valor del identificador al insertar una
tupla en departamentos, sin necesitar una consulta separada para obtener el
identificador.
insert into departamentos
values (Informtica, 01284567)

Caractersticas O-R.

La orientacin a objetos constituye una nueva forma de pensar acerca de


problemas empleando modelos que se han organizado tomando como base
conceptos del mundo real.

Los modelos orientados a objetos son tiles para comprender problemas,


comunicarse con expertos en esa aplicacin, modelar empresas, preparar
documentacin y disear programas y bases de datos.
El beneficio principal no es un tiempo de desarrollo ms reducido, el desarrollo
orientado a objetos puede requerir ms tiempo que el desarrollo convencional
porque se pretende que promueva la reutilizacin futura y la reduccin de los
posteriores errores y el futuro mantenimiento.
Las bases de datos orientadas a objetos unen dos tecnologas:
La de las bases de datos y la de los lenguajes orientados a objetos. Los LPOO
aportan gran capacidad en la manipulacin de datos, pero no implementan el
almacenamiento y consulta de grandes volmenes de datos.
Por el contrario, las bases de datos convencionales aportan un dominio de las
tcnicas de almacenamiento y consulta de grandes volmenes de datos,
aunque su capacidad de manipulacin es limitada.
Las bases de datos orientadas a objetos pretenden unir la capacidad de
manipulacin de datos de los LPOO con la capacidad de almacenamiento y
consulta de los SGBD.

Crear objetos

Crear clases para organizar objetos

Llamar mtodos para acceder objetos especficos

Estructuras jerrquicas de herencia para organizar clases y sub-clases

Facilidades de bases de datos estndar

Facilidades de queries no procedimentales para recuperar objetos

Procesamiento y optimizacin de queries automticos

Cambios de esquemas dinmicos

Manejo de transacciones automticas

Control de concurrencia

Seguridad e integridad

Enfoques de construccin de BDOO

Primer enfoque

Utilizar cdigo actual

No hay que implementar de cero

Se construyen los sistemas a partir de componentes ya probados

Segundo enfoque

Extensin de la tecnologa de las BD relacionales

Tercer enfoque

Nueva arquitectura optimizada

Los lenguajes de programacin orientado a objetos requieren que toda la


interaccin con los objetos se realiza mediante el envi de mensajes.

Complejidad de modificacin:

Adicin de una clase

Eliminacin de una clase

Identidad de Objetos

Se debe asignar a cada objeto un OID

Debe ser inmutable

Se debe usar una sola vez

No debe No debe depender de la direccin fsica de almacenamiento

depender de ningn atributo

Constructores Bsicos

Constructores de tomos

Constructores de tuplas

Constructores de Conjuntos

Compatibilidad con Lenguajes de Programacin


Extender otros lenguajes de manejo de datos como SQL para que manejen
tipos de datos complejos y la programacin orientada a objetos
Extender lenguajes de programacin Orientada a Objetos para que trabajen
con bases de datos
Manejo de Objetos Complejos
Ofrecer a la aplicacin una porcin del objeto antes de obtener el objeto
completo
Usar tcnicas de almacenamiento intermedio y caches para obtener
anticipadamente porciones del objeto
Ventajas en BDOO

Esta su flexibilidad y soporte para el manejo de tipos de datos complejos.

Manipula datos complejos en forma rpida y agilmente.

Desventajas de la BDOO

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 una lnea de produccin sustantiva.
Es la falta de estndar en la industria orientado a objetos.

Caractersticas del Sistema Gestor de Bases de Datos DB4O.

La base de datos DB4O lleg al mercado en 2004 con el objetivo de convertirse en la corriente
principal de la arquitectura de persistencia para aplicaciones integradas (en los que la base de
datos es invisible para el usuario final) en general, y para dispositivos mviles e integrados
que se ejecutan en Java o. NET. La base de datos db4o est diseada para ser una
plataforma universal, producto asequible que es fcil de aprender y usar.
Los entornos de destino para db4o son arquitecturas de persistencia donde no hay presente
ningn administrador de base de datos y RDBMS (sistema gestor de base de datos relacional)
legado es decir, principalmente en equipos, clientes mviles y de escritorio, y en el
middleware. Industrias tpicas de los clientes DB4O incluyen el transporte, la comunicacin, la
automatizacin, las ciencias mdicas, industriales, de consumo y aplicaciones financieras,
entre muchos otros.
Open Source es uno de los factores clave de xito DB4O.
DB4O xito es la tecnologa utilizada como base de datos objeto de nueva generacin, nativa
de Java y NET., DB4O elimina el tradicional trade-off entre el desempeo y orientacin a
objetos. Recientes resultados de referencia poleposition muestran que DB4O supera objetorelacionales mappers en rdenes de magnitud, hasta 44x en los casos de uso con modelos de
objetos complejos.
Los clientes, analistas y expertos coinciden en que la base de datos de objetos DB4O es una
de las opciones mejores y ms populares del mundo, ya que almacena y recupera objetos de
forma nativa y no slo elimina el consumo de gastos generales y de recursos de un ORM,
pero tambin reduce en gran medida el desarrollo de productos y los costes de
mantenimiento, lo que resulta en una inclinacin, rpido y fcilmente integrable en una
solucin de desarrollo OO persistencia ambiente, muy superior en muchos casos a la de
cualquier RDBMS.
DB4O nico que ofrece la persistencia de objetos con cero administracin, orientado a objetos
de replicacin consulta y capacidades de navegacin y una pequea huella. Su nica

biblioteca (JAR / DLL) es fcil de implementar y se ejecuta en el proceso de la memoria junto


con la solicitud
DB4O se destina para el uso encajado con bases de datos ms pequeas alrededor de 2-16
GByte y como mximo 256 GBytes, satisfacer las necesidades cambiantes, o para fines de
depuracin o refactorizacin. DB4O permite a los desarrolladores trabajar con estructuras de
objetos como si fueran en memoria estructuras. Poca codificacin adicional es necesaria
para gestionar la persistencia de objetos.

Bibliografa:

Sistemas de bases de datos orientadas a objetos: Conceptos y arquitecturas.


Editorial: Addison-Wesley / Diaz de Santos. Autores: Elisa Bertino, Lorenzo
Martino.

Sistemas de bases de datos: Un enfoque prctico para diseo, implementacin


y gestin. 4 Edicin. Editorial: Pearson Addison- Wesley. Autores: Thomas M.
Connolly, Carolyn E. Begg.

Fundamentos de Bases de datos. 5 Edicin. Editorial: McGraw Hill. Autores:


Silberschatz, Korth, Sudarshan
https://ticsiing.wordpress.com/2013/04/08/db4o-informacion-basica/

S-ar putea să vă placă și