Sei sulla pagina 1di 95

SISTEMAS MANEJADORES DE

BASES DE DATOS
ORIENTADAS A OBJETOS
(SMBDOO)
INTRODUCCIN A LOS
SISTEMAS DE BASES DE
DATOS OO (SBDOO)
INTRODUCCIN

Hace algunos aos, la creacin de nuevas aplicaciones
requeran de una difcil seleccin de informacin para
muchas fuentes.

Los programas eran dependientes de las estructuras de los
datos almacenados, haciendo estas estructuras difciles al
cambio.

Sin embargo, los Sistemas de BD (SBD) han mejorado los
procesos de desarrollo de aplicacin en grandes ambientes
de datos intensivos, proporcionando una sencilla y
uniforme vista de datos expresada en trminos de
estructuras independientes.
INTRODUCCIN

Su alto nivel de caractersticas lingsticas y sus
facilidades para compartir informacin de una manera
controlada, hace posible que se puedan crear aplicaciones
integradas ms fcilmente.

La integridad de los datos est controlada por el SBD.

Es decir, el SBD debe ser responsable de cada programa
de aplicacin, dentro de la BD.

Existe un conjunto de rutinas que facilitan el formateo de
datos y accesos a los mismos.
INTRODUCCIN

En la dcada pasada se gener mucho inters sobre los
SBDOO.

Estos sistemas tienen su origen en los lenguajes de POO.

Donde los usuario no tienen que luchar contra las
construcciones orientadas a la mquina (p. e. campos,
atributos, etc).

Sino que en su lugar deben tener la posibilidad de manejar
objetos y operaciones sobre esos objetos, que se asemejan
mucho ms a sus contrapartes en la realidad.
INTRODUCCIN

En otras palabras, la idea fundamental es elevar el nivel
de abstraccin.

Elevar el nivel de abstraccin es incuestionablemente un
objetivo valioso y el paradigma de objetos ha tenido
mucho xito para satisfacer ese objetivo.

La pregunta sera: Si el paradigma de la POO tambin
puede ser aplicado satisfactoriamente en las BD.
INTRODUCCIN

La idea de manejar una BD que est compuesta de
objetos complejos, en lugar de tener que manejar
atributos, insercin de tuplas y claves externas, etc., es
obviamente ms atractiva desde el punto de vista del
usuario.

Aunque las disciplinas de los lenguajes de Programacin
y la Administracin de BD tienen mucho en comn,
tambin difieren en determinados aspectos:

Un programa de aplicacin est hecho, por definicin, para
resolver algn problema especfico.
INTRODUCCIN

Por el contrario, una BD est hecha para resolver una variedad de
problemas diferentes, y algunos de ellos ni siquiera son
conocidos el momento de establecer las BD.

Mucha gente cree que los Sistemas de Objetos
representan un gran salto hacia delante en la tecnologa de
BD.

Creen que las tcnicas de objetos son el enfoque a escoger
para las reas de aplicaciones complejas.
Actualmente, los sistemas de software han puesto un
ambiente tpico, incluyen herramientas, editores de
esquema, verificadores de diseo y programas de
circuito disponibles, y todo integrado.

La disponibilidad de alta ejecucin en las estaciones
de trabajo grfica, se han incrementado tanto en la
expansin como en la complejidad de las aplicaciones
de los datos intensivos.

Algunos ejemplos son:
Diseo y Manufactura Asistido por Computadora
(CAD/CAM)

Ingeniera de Software Asistida por Computadora (CASE).
Sistemas de Informacin de Oficinas (OIS).

Manufactura Interada por Computadora (CIM).

Sistema de Informacin Geogrfica (GIS).

Ciencia y Medicina.

Todas stas son reas en las que los productos SQL
clsicos tienden a incurrir en problemas.

Sin embargo, a lo largo de los aos han sido
publicados muchos artculos tcnicos sobre estos
temas y ms recientemente, han entrado al mercado
varios productos comerciales.
Pero el problema contina, sobre todo en nuevas
herramientas, que utilizan subsistemas que requieren
de muchos nmeros de datos persistentes.

Donde el nivel de complejidad de estos programas y
de los datos, han llegado ms all de la capacidad de
los SBD tradicionales.

Actualmente los programas de aplicacin, en
ambientes de diseo, almacenan sus datos en
estructuras de archivos de aplicacin especfica.
Aqu el estado del arte es difcil, como en la misma
etapa que existi despus de introducir la tecnologa
de BD.

El desarrollo de las Bases de Datos Orientadas a
Objetos (BDOO), con una gran cobertura, han surgido
por esta necesidad.

Adems combina las mejores cualidades de los
archivos planos, las bases jerrquicas y relacionales.

Las BDOO representan el siguiente paso (?) en la
evolucin de las BD para soportar el anlisis, diseo y
Programacin Orientada a Objetos (POO).
Ests permiten el desarrollo y mantenimiento de
aplicaciones complejas, ya que se puede utilizar un
mismo modelo conceptual y as aplicarlo al anlisis,
diseo y programacin.

Reduciendo el problema entre los diferentes modelos
a travs de todo el ciclo de vida, con un costo
significativamente menor.

Como cualquier BD programable, una BDOO da un
ambiente para el desarrollo de aplicaciones con un
depsito persistente listo para su explotacin.
Permiten que el mismo modelo conceptual se aplique
al anlisis, diseo, programacin, definicin y acceso
a la BD.

Esto reduce el problema del operador de traduccin
entre los diferentes modelos a travs de todo el ciclo
de vida.

El modelo conceptual debe ser la base de las
herramientas CASE OO totalmente integradas, las
cuales ayudan a generar la estructura de datos y los
mtodos.
Adems las BDOO ofrecen un mejor rendimiento en
las mquinas que las BD por relacin, para
aplicaciones o clases con estructuras complejas de
datos.

Sin embargo, las BDOO coexistirn con las BD
Relacionales, como una forma de estructura de datos
dentro de una BDOO.
PRINCIPIOS DE OO
PRINCIPIOS DE ORIENTACIN A OBJETOS

Es conveniente aclarar que muchos conceptos de
objetos (o definiciones de stos) son bastante
imprecisos y hay muy poco consenso verdadero y
mucho desacuerdo, incluso en el nivel ms bsico.

En particular, no hay un Modelo de datos de objetos
abstracto ni formalmente definido.
PRINCIPIOS DE ORIENTACIN A OBJETOS

En una BDOO, cualquier cosa es un objeto y se
manipula como tal.

Un Objeto es una instancia que responde a mensajes
activando un mtodo.

La estructura interna no es visible para los usuarios de ese
objeto.

Los sistemas OO proporcionan el concepto de
I dentificador del Objeto (OI D) para identificar a los
objetos.
PRINCIPIOS DE ORIENTACIN A OBJETOS

Los identificadores de los objetos son nicos.

Cada objeto tiene un solo identificador y no hay dos
objetos que tengan el mismo identificador.

Generalmente el identificador lo genera el sistema de
manera automtica.

A diferencia de las BD relacionales donde un valor de
dato nico, se genera de manera externa al sistema.
PRINCIPIOS DE ORIENTACIN A OBJETOS

Hay muchas situaciones en las que hacer que el
sistema genere identificadores de manera automtica
resulta una ventaja.

Dado que libera a los seres humanos de llevar a cabo
esa tarea.

Sin embargo, esta caracterstica debe manejarse con
precaucin.

Los identificadores generados por el sistema suelen
ser especficos el mismo.
PRINCIPIOS DE ORIENTACIN A OBJETOS

Si se desplazan los datos a un sistema de BD
diferente, hay que traducirlos.

Adems, los identificadores generados por el sistema
pueden resultar redundantes, si las entidades que se
modelan ya disponen de identificadores unvocos
externos al sistema.

Por lo general, los SMBDR se apoyan en claves definidas y
controladas por el usuario (claves de usuario), para efectos
de identificacin y referencia de entidades.

En realidad los apuntadores estilo OID estn expresamente
prohibidos en las BDR.
PRINCIPIOS DE ORIENTACIN A OBJETOS

Los objetos soportan una serie de caractersticas:

Se agrupan en tipos denominados clases.

Contienen datos internos que definen su estado actual.

Soportan ocultacin de datos.

Pueden heredar propiedades de otros objetos.

Pueden comunicarse con otros objetos enviando o pasando
mensajes.

Tienen mtodos que definen su comportamiento.
Las clases son una coleccin de objetos con
propiedades similares, compartimiento comn,
relaciones comunes a otras clases.

La instancia es un objeto con propiedades definidas
en su descripcin de la clase.

El mensaje es una clase que debe tener un mtodo
correspondiente. Un mensaje puede ser enviado a un
objeto a ejecutar una accin.

El mtodo es una lista de instrucciones detalladas que
definen cmo responde un objeto a un mensaje en
particular.
La superclase es la clase que deriva a otra clase.

La subclase es la clase derivada de una superclase.

La liga expresa compatibilidad de relaciones entre las
clases.

Los objetos heredan las caractersticas de su clase y de
todas las clases de nivel superior a la que pertenecen.

Estos principios y tcnicas hacen que las BDOO estn
adecuadas a aplicaciones que implican tipos de datos
complejos.
Tipos de datos complejos, tales como documentos
compuestos o de diseo asistidos por computadora
que combinan texto, grficos y hojas de clculo.

La BD proporciona un modo natural de representar las
jerarquas que aparecen en los datos complejos.

La jerarqua de clases permite a la BD seguir la pista
del tipo de cada objeto en el documento.

Finalmente, el mecanismo de mensajes ofrece soporte
natural para una interfaz de usuario grfica.
BASES DE DATOS ORIENTADAS A OBJETOS (BDOO)

El campo de las BDOO se ha introducido como una
nueva rea de investigacin.

Los campos de Lenguajes de Programacin,
Inteligencia Artificial e Ingeniera de Software han
contribuido con el uso de la tecnologa OO en el rea
de las BD.

El desafo del rea de BD es integrarlos en un diseo
de sistema simple que mantenga el equipo deseado
para cada campo.
El resultado es conservar las caractersticas centrales
de las BD modernas, incluyendo:

Persistencia
Control de Concurrencia
Recuperacin
Consistencia
Lenguaje de Consulta.
BASES DE DATOS ORIENTADAS A OBJETOS (BDOO)

Desde el punto de vista del desarrollador las ventajas
estn dadas en ganancias de productividad, dado su
modelado ms simple que facilita el desarrollo de
aplicaciones.

El modelado de aplicaciones es mucho ms sencillo
gracias al concepto de objetos complejos y el modelo
obtenido es fcilmente comprensible para el usuario.

Este modelo puede ser validado directamente por el
cliente de la aplicacin.
BASES DE DATOS ORIENTADAS A OBJETOS (BDOO)

El enfoque OO favorece la reutilizacin.

Porque gracias al encapsulamiento y a la herencia, es
fcil especializar un componente existente para
responder a las necesidades particulares de la
aplicacin.

Desde el punto de vista del usuario final, los
SMBDOO, proporcionan mayor aporte en la calidad
en trminos de ergonoma, fiabilidad, evolucin y
desempeo.
ESTRUCTURA DE OBJETOS

El Modelo Orientado a Objetos (MOO) se basa en
encapsular cdigo 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 trmino mensaje en un contexto orientado a
objetos, no implica el uso de un mensaje fsico en una
red de computadoras.

Si no que se refiere al paso de solicitudes entre objetos
sin tener en cuenta detalles especficos de
implementacin.
La capacidad de modificar la definicin de un objeto
sin afectar al resto del sistema, est considerada como
una de las mayores ventajas del modelo de POO.

JERARQUA DE CLASES.

En una BD existen objetos que responden a los
mismos mensajes, utilizan los mismos mtodos y
tienen variables del mismo nombre y tipo.

Sera intil 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
definicin comn, aunque difieran en los valores
asignados a las variables.

As que bsicamente 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.
Por ejemplo: Tomemos como referencia la entidad
Alumno y la entidad Maestro.

Donde los atributos considerados para cada uno, son
en Alumno:

Nombre
Direccin
Telfono
Especialidad
Semestre
Grupo

Maestro:

Nombre
Direccin
Telfono
Nmero econmico
Plaza
RFC

Los atributos de Nombre, Direccin y Telfono se
repiten en la entidad Alumno y Maestro, as que
podemos agrupar estos elementos para formar la clase
Persona, con dichos campos.
Quedando por separado en Alumno:

Especialidad
Semestre
Grupo.

Y en Maestro:

Nmero Econmico
Plaza
RFC.

Nombre
Direccin
Telfono
CLASE PERSONA
Especialidad
Semestre
Grupo
CLASE ALUMNO CLASE MAESTRO
Nmero
Econmico
Plaza
RFC
HERENCIA
SUPERCLASE
SUBCLASES
PROGRAMACIN ORIENTADA A OBJETOS.

POO (Object-Oriented Programming).

Muchas organizaciones que actualmente usan tecnologa
orientada a objetos tambin desean los beneficios de los
SMBDOO.

En otras palabras, se desea la migracin de BD y
aplicaciones de BD Relacionales a OO.
PROGRAMACIN ORIENTADA A OBJETOS.

La migracin a la tecnologa de objetos consiste de la
ingeniera reversa de los programas de aplicacin y la
migracin de la BD.

El objetivo de la migracin de la BD es tener un esquema
equivalente y la BD disponibles bajo los nuevos
SMBDOO.

Esto desde luego puede ser logrado por medio de la
transformacin manual del cdigo de los programas lo
cual resulta demasiado complicado.
PROGRAMACIN ORIENTADA A OBJETOS.

Para esto existen tres enfoque que hacen uso de la
tecnologa de objetos para BD Relacionales (BDR).

Construir una interface OO sobre el Sistema de BDR.

La migracin a un SBD Objetos/Relacional.

Conversin del esquema de BDR a uno OO.
PROGRAMACIN ORIENTADA A OBJETOS.

Construir una interface OO sobre el Sistema de BDR.

El primer enfoque retiene la BDR y crea una interface OO
encima de sta.

Este enfoque es el ms fcil.

No existe interrupcin del sistema para la migracin de
datos y no existe prdida semntica de la informacin.

Por otro lado el rendimiento disminuye debido que no
existe un buen acoplamiento entre los dos paradigmas en
el tiempo de ejecucin.
PROGRAMACIN ORIENTADA A OBJETOS.

La migracin a un SBD Objetos/Relacional.

En el segundo enfoque, los datos deben ser migrados de
acuerdo con el SMBD (por ejemplo Oracle 7 a 8).

Y las caractersticas Orientadas a Objetos slo pueden ser
explotadas con la modificacin o extensin del esquema.

PROGRAMACIN ORIENTADA A OBJETOS.

Conversin del esquema de BDR a uno OO.

El tercer enfoque es la migracin de la base de datos en
donde un nuevo esquema bajo el SMBDOO es creado.

Y los datos son migrados de la Base de Datos Relacional
a la Orientada a Objetos.

Cada uno de los tres enfoques anteriores tiene sus
ventajas y desventajas.

Especialmente el tercero, una metodologa y herramientas
de soporte son crticas para una migracin exitosa.
DISEO DE DISTRIBUCIN DE
OBJETOS
DISTRIBUCIN DE OBJETOS.

Dos aspectos importantes del diseo de distribucin son:
La Fragmentacin y la Colocacin.

El diseo de la distribucin en el mundo de objetos trae
nuevas complejidades, debido al encapsulamiento de
mtodos junto con los estados de los objetos.

Un problema es que los mtodos estn implementados y
compartidos por todas las instancias de objetos de ese
tipo.
DISTRIBUCIN DE OBJETOS.

Se tiene que decidir si la fragmentacin se realiza
solamente sobre los atributos, duplicando los mtodos en
cada fragmento.

O si los mtodos se puedan fragmentar.

Hay que recordar que algunos dominios de algunos
atributos pueden ser clases.

Por lo que la fragmentacin de clases con respecto a tales
atributos puede afectar en otras clases.
DISTRIBUCIN DE OBJETOS.

Y si la fragmentacin se lleva a cabo con respecto a los
mtodos, es necesario distinguir entre mtodos simples y
mtodos compuestos.

Mtodos Simples son aquellos que no invocan a otros mtodos.
Mientras que los Complejos invocan mtodos de otras clases.


PARTICIONAMIENTO DE CLASE HORIZONTAL

Comencemos con una fragmentacin de una clase con
mtodos y atributos simples.
DISTRIBUCIN DE OBJETOS.

PARTICIONAMIENTO DE CLASE HORIZONTAL

Para este caso, el particionamiento horizontal primario se
puede lograr de acuerdo a un predicado definido en un
atributo de la clase.

Donde cada clase (o subclase) derivada satisface el
predicado de particionamiento particular de la clase
original.

Si estos predicados son mutuamente exclusivos, entonces
las instancias de la clases son disjuntos.
DISTRIBUCIN DE OBJETOS.

PARTICIONAMIENTO DE CLASE VERTICAL

La fragmentacin vertical es considerablemente ms
compleja.

Por ejemplo al fragmentar una clase verticalmente
produce un nmero de clases (o subclases), cada una
conteniendo algunos atributos y mtodos.

Por lo que cada uno de los fragmentos tiene menos
definiciones que la clase original.
DISTRIBUCIN DE OBJETOS.

PARTICIONAMIENTO DE CLASE VERTICAL

Si los mtodos son simples, entonces los mtodos pueden
particionarse fcilmente.

Y cuando no son simples, la ubicacin de estos mtodos
llega a ser un verdadero problema.
COLOCACIN DE OBJETOS.

El problema de la colocacin de datos, para las BDOO,
involucra la ubicacin de mtodos y clases.

Y como las aplicaciones de las BDOO invocan mtodos,
la ubicacin de stos afecta el rendimiento de las
aplicaciones.

La colocacin de mtodos los cuales necesitan accesar
mltiples clases en diferentes sitios, es un problema el
cual an no ha sido abordado.

Existen cuatro alternativas para la colocacin de objetos.
COLOCACIN DE OBJETOS.

1. Comportamiento Local Objeto Local. Tanto el
comportamiento (mtodo) del objeto, como los
argumentos se encuentran de manera local.

2. Comportamiento Local Objeto Remoto. En este caso
el comportamiento y el objeto al cual se le aplica, estn
localizados en diferentes sitios.

Una alternativa consiste en mover el objeto remoto al sitio donde
el comportamiento se localiza.
Otra es enviar la implementacin del comportamiento al sitio
donde reside el objeto.

COLOCACIN DE OBJETOS.

3. Comportamiento Remoto Objeto Local. Es el caso
inverso del punto 2.

4. Funcin Remota Argumento Remoto. Caso inverso
del punto 1.

REPLICACIN

La replicacin agrega una nueva dimensin al problema
del diseo.

Objetos, Clases de Objetos, o Colecciones de Objetos ( o
todo) pueden ser replicados.
ARQUITECTURA DE UNA BDOO
ARQUITECTURA.

Una manera de desarrollar un sistema distribuido es la de
Cliente/Servidor.

La mayora de los actuales SMBDOO son sistemas
cliente/servidor.

Donde el cliente solicita objetos del servidor.

Y el servidor los obtiene de la BD y los regresa al cliente
solicitante.

Estos sistemas son llamados Servidor de Objetos.
ARQUI TECTURA DE UNA BDOO.

En la siguiente se muestran algunos de los principales
productos de BDOO y sus vendedores.
PRODUCTO PROVEEDOR
Gemstone Servio Corporation, Alameda,CA
I tasca I tasca Systems,I nc.,Minneapolis,MN
Objectivity Objectivity,Menlo Park,Ca
Object Store Object Design,I nc.,Burlington,MA
Ontos Ontos I nc.,Bellerica,MA
Versant Versant Object Technology,Menlo Park,CA
Seis Productos de BDOO y sus Proveedores.
Arquitectura de una BDOO
Los primeros se disearon como una extensin de los
lenguajes de programacin como Smalltalk C++.

Por ejemplo el sistema GemStone y su lenguaje OPAL, estn
basados en Smalltalk, uno de los lenguajes de objetos ms puros.

Aunque recientemente los lenguajes de objetos ms importantes
son Java y C++ en ese orden, que han desplazado a otros.

A pesar del hecho de que estos dos son menos puros que
smalltalk.
Arquitectura de una BDOO

El DML (Lenguaje para La Manipulacin de Datos) y el
DDL (Lenguaje para la Definicin de los Datos)
constituyen un lenguaje OO comn.

El diseo de las BDOO actuales deben aprovechar al
mximo las caractersticas del CASE, e incorporar
mtodos creados con cualquier tcnica poderosa.
Desarrollo con Bases de Datos OO

Las BDOO se desarrollan al describir, en primer lugar, los
tipos de objetos importantes del dominio.

Estos tipos de objetos determinan las clases que
conformarn la definicin de la BDOO.

Por ejemplo: Una BD diseada para almacenar la
geometra de ciertas partes mecnicas incluira clases
como CILINDRO, ESFERA y CUBO.
Desarrollo con Bases de Datos OO
El comportamiento de CILINDRO podra incluir
informacin relativa a sus dimensiones, volumen, rea,
etc.:

Clase de CI LI NDRO{
ALTURA FLOTANTE ();
RADI O FLOTANTE ();
VOLUMEN FLOTANTE ();
AREA FLOTANTE ();
};

Se puede llegar a definiciones similares para el cubo y la
esfera.
Desarrollo con Bases de Datos OO
En la definicin anterior, ALTURA, RADIO y REA
representan los mensajes que se pueden enviar a un objeto
CILINDRO.

La Implantacin se lleva a cabo en el mismo lenguaje,
escribiendo funciones correspondientes a las solicitudes
OO:

CILINDRO::ALTURA ( ) {RETORNA CI LI NDRO_ALTURA;}
CILINDRO::VOLUMEN ( ) {RETORNA PI * RADI O ( ) * ALTURA ( ) ;}
Desarrollo con Bases de Datos OO
En este caso, la Altura se almacena como un elemento de
los datos, mientras que Volumen se calcula mediante la
frmula apropiada.

Observe que la implantacin interna de Volumen utiliza
solicitudes para obtener Altura y Radio.

Sin embargo, el aspecto ms importante es la sencillez y
uniformidad que experimentan los usuarios de
CILINDRO.
Desarrollo con Bases de Datos OO
Slo necesitan conocer la forma de enviar una solicitud y
las solicitudes disponibles.

TRES ENFOQUES DE CONSTRUCCIN DE BDOO.
Las BDOO se pueden construir mediante alguno de los
tres enfoques siguientes:

El Primero.- se puede utilizar el cdigo actual altamente
complejo de los sistemas de administracin de las BD, de
modo que una BDOO se implante ms rpido sin tener
que iniciar de cero.
TRES ENFOQUES DE CONSTRUCCIN DE BDOO.
El Primero
Las Tcnicas OO se pueden utilizar como medios para el
diseo sencillo de sistemas complejos.

Los sistemas se construyen a partir de componentes ya
probados con un formato definido para las solicitudes de
las operaciones del componente.
TRES ENFOQUES DE CONSTRUCCIN DE BDOO.
El Segundo: Considera a la BDOO como una extensin
de la tecnologa de las BD por Relacin.
De este modo, las herramientas, tcnicas, y vasta
experiencia de la tecnologa por relacin se utilizan para
construir un nuevo SMBD.
Se pueden aadir apuntadores a las tablas de relacin para
ligarlas con objetos binarios de gran tamao.
La BD tambin debe proporcionar a las aplicaciones
clientes, un acceso aleatorio y por partes a grandes
objetos, con el fin de que slo sea necesario recuperar a
travs de la red la parte solicitada de los datos.
TRES ENFOQUES DE CONSTRUCCIN DE BDOO.
El Tercero: reflexiona sobre la arquitectura de los SBD y
produce una nueva arquitectura optimizada, que cumple
las necesidades de la tecnologa OO.

Las compaas como Versant, Objectivity, Itasca, etc.,
utilizan este enfoque y afirman que la tecnologa de
relacin es un subconjunto de una capacidad ms general.

Adems mencionan que las BDOO son aproximadamente
dos veces ms rpidas que las bases de datos por relacin,
para almacenar y recuperar la informacin compleja.
TRES ENFOQUES DE CONSTRUCCIN DE BDOO.
El Tercero
Por lo tanto, son esenciales en aplicaciones como CAD y
permitiran que un depsito CASE fuera una facilidad de
tiempo real en vez de una facilidad por lotes.
La Arquitectura de Versant est orientada al soporte
Cliente/Servidor con acercamiento a la computacin
distribuida.
Cualquier peticin del Cliente, el Servidor la procesa. Los
servidores pueden cooperar en una BD distribuida de
Versant.
Las BD pueden estar levantadas como un sistema m-
Cliente/n-Servidor.
I MPACTO DE LA ORI ENTACI N A OBJ ETOS EN LA
I NGENI ER A DEL SOFTWARE.
En las BDOO, la organizacin "Grupo de Administracin
de Datos Objeto (ODMG)" representa el 100% de las
BDOO industriales.
Y ha establecido un estndar de BD equivalente a SQL:
ODL.- Lenguaje de Definicin de Datos Objetos, y
OQL.- Lenguaje de Consulta a Objetos.

Respecto a las relacionales, todas (Oracle, Informix, etc.)
estn aadiendo en mayor o menor grado algunos
aspectos de la OO.
I MPACTO DE LA ORI ENTACI N A OBJ ETOS EN LA
I NGENI ER A DEL SOFTWARE.
ANSI (Instituto Nacional Americano de Estndar), por su
parte, est definiendo un SQL-3 que incorpora muchos
aspectos de la OO.

El futuro del SQL-3 es sin embargo incierto, ya que
ODMG ha ofrecido a ANSI su estndar para que sirva de
base para un nuevo SQL.

Con lo que slo habra un nico estndar de BD.
I MPACTO DE LA ORI ENTACI N A OBJ ETOS EN LA
I NGENI ER A DEL SOFTWARE.
El grupo ODMG (Grupo Manejador de Datos Objeto)
naci de un grupo ms grande, llamado "Grupo
Manejador de Objetos (OMG).

Este grupo est definiendo un estndar universal por
objetos.
Este estndar permitir que un objeto sea programado en
cualquier lenguaje y sistema operativo.

Facilitando enormemente el desarrollo de sistemas
abiertos cliente-servidor.
VENTAJAS EN BDOO.
Est su flexibilidad, y soporte para el manejo de tipos de
datos complejos.
Por ejemplo, en una BD convencional:
Si una empresa adquiere varios clientes por referencia de
clientes- servicio.
Pero la BD existente, que mantiene la informacin de clientes y
sus compras, no tiene un campo para registrar quin proporcion
la referencia.
O de qu manera fue dicho contacto.
O si debe compensarse con una comisin, sera necesario
reestructurar la BD para aadir este tipo de modificaciones o de
datos.
VENTAJAS EN BDOO.
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 esos campos.

Naturalmente se generan los espacios para almacenar la
informacin adicional de los nuevos campos.
VENTAJAS EN BDOO.
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, los famosos IDOs.
POSI BLES DESVENTAJ AS.
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 una
lnea de produccin sustantiva.

El segundo problema es la falta de estndares en la
industria OO.
POSI BLES DESVENTAJ AS.
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
OO en ambientes de cmputo en 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.
POSI BLES DESVENTAJ AS.
Sin embargo, para aquellos usuarios que planean:

A un futuro intermedio con una visin tecnolgica avanzada.
El uso de tecnologa avanzada o de punta.
Y el uso de Tecnologa OO.

Paulatinamente compensarn todos los riesgos.
RENDI MI ENTO.

Las BDOO permiten que los objetos hagan referencia
directamente a otros mediante apuntadores suaves.

Esto hace que las BDOO pasen ms rpido del objeto A al
objeto B que las BDR.

Las cuales deben utilizar comandos JOIN para lograr sto.

Incluso el JOIN optimizado es ms lento que un recorrido
de los objetos.
RENDI MI ENTO.
As, incluso sin alguna afinacin especial, una BDOO es
en general ms rpida en esta mecnica de caza-
apuntadores.

Las BDOO hacen que el agrupamiento sea ms eficiente.

La mayora de los SBD permiten que el operador coloque
cerca las estructuras relacionadas entre s, en el espacio de
almacenamiento en disco.

Esto reduce en forma radical el tiempo de recuperacin de
los datos relacionados, puesto que todos los datos se leen
con una lectura de disco, en vez de varias.
RENDI MI ENTO.
Sin embargo, en una BDR, los objetos de la implantacin
se traducen en representaciones tabulares que
generalmente se dispersan en varias tablas.

As, en una BDR, estos renglones relacionados deben
quedar agrupados, de modo que todo el objeto se pueda
recuperar mediante una nica lectura del disco.
Esto es automtico en una BDOO.

Adems, el agrupamiento de los datos relacionados, como
todas las subpartes de un ensamble, puede afectar
radicalmente el rendimiento general de una aplicacin.
RENDI MI ENTO.
Esto es relativamente directo en una BDOO, puesto que
representa el primer nivel de agrupamiento.

Por el contrario, el agrupamiento fsico es imposible en
una BDR, puesto que esto requiere un segundo nivel de
agrupamiento:

Un nivel para agrupar las hileras que representan a los objetos
individuales

Y un segundo para los grupos de hileras que representan a los
objetos relacionados.
RENDI MI ENTO.
Un SMBDOO debe satisfacer dos criterios:
Ser un Sistema OO.
Y ser un Sistema de Administracin de BD.
El primer criterio se traduce en ocho caractersticas
generales: Abstraccin, encapsulacin, modularidad,
jerarqua, control de tipos, concurrencia, persistencia y
genericidad.
El segundo criterio se traduce en cinco caractersticas
principales: Persistencia, concurrencia, recuperacin
ante fallos del sistema, gestin del almacenamiento
secundario y facilidad de consultas.
Caractersticas de SGBDOO .
Primer Criterio. Con 8
caractersticas.
Segundo Criterio. Con
5 caractersticas.
RENDI MI ENTO.
Como se puede observar la Persistencia, al igual que la
Concurrencia, son caractersticas del SMBDOO
heredadas tanto del SMBD como del Modelo de Objetos.

La Persistencia en el caso del SMBD hace referencia a la
conservacin de los datos despus de la finalizacin del
proceso que los cre.

En el caso del Modelo de Objetos, se refiere no slo a la
conservacin del estado de un objeto, si no tambin a la
conservacin de la clase, que debe trascender a cualquier
programa individual.
RENDI MI ENTO.
De forma que todos los programas interpreten de la
misma manera el estado almacenado.

La Concurrencia heredada del SMBD se refiere a la
capacidad del sistema para gestionar a mltiples usuarios
interactuando concurrentemente sobre el sistema.

Mientras que la concurrencia heredada del Modelo de
Objetos, hace referencia a la capacidad de distinguir a un
objeto activo de otro que no lo est.
RENDI MI ENTO.
Persistencia.- Es la capacidad que tiene el programador
para que sus datos se conserven al finalizar la ejecucin
de un proceso, de forma que se puedan reutilizar en otros
procesos.

Concurrencia.- Se relaciona con la existencia de muchos
usuarios interactuando concurrentemente en el sistema.

ste debe controlar la interaccin entre las transacciones
concurrentes, para evitar que se destruya la consistencia
de la BD.
RENDI MI ENTO.
Recuperacin.- Proporcionar como mnimo el mismo
nivel de recuperacin que los SBD actuales.
De forma que, tanto en caso de fallo de hardware como de
software, el sistema pueda retroceder hasta un estado
coherente de los datos.

Gestin del almacenamiento secundario.- Es soportada
por un conjunto de mecanismos que no son visibles al
usuario.
Tales como gestin de ndices, agrupacin de datos,
seleccin del camino de acceso, optimizacin de
consultas, etc.
RENDI MI ENTO.
Gestin del almacenamiento secundario
Estos mecanismos evitan que los programadores tengan que escribir
programas para mantener ndices, asignar el almacenamiento en
disco, o trasladar los datos entre el disco y la memoria principal.

Crendose de esta forma una independencia entre los Niveles Lgicos
y Fsicos del sistema.

Facilidad de Consultas.-
Permitir al usuario hacer cuestiones sencillas a la BD. Este tipo de
consultas tienen como misin proporcionar la informacin solicitada
por el usuario de una forma correcta y rpida.
I NTEGRI DAD.
Los sistemas de objetos no soportan generalmente
restricciones de integridad declarativas.

En vez de ello, requieren que tales restricciones se hagan
cumplir por medio de cdigo procedural (por mtodos o
programas de aplicacin).
Niveles:
Ningn soporte del sistema.
Validacin de referencias.
Mantenimiento del sistema
Semntica personalizada
CONTROVERSI A.
Las BD de Objetos surgieron por la necesidad que tenan
los programadores de aplicaciones OO, de conservar sus
objetos en una memoria persistente.

Esa memoria persistente podra considerarse una BD,
pero el punto importante es que en realidad fue
especificada por la aplicacin.

No era una BD compartida, de propsito general que
pretendiera ser adecuada para aplicaciones que no
hubieran sido previstas al momento de definir la BD.
CONTROVERSI A.
Muchas caractersticas que son esenciales en los SBD,
sencillamente no fueron requerimiento en el mundo de los
objetos, al menos no originalmente.

Se podra decir que un SBDOO no es un SMBD, por:
Un SMBDR ya viene listo para ser usado. Tan pronto como el
sistema est instalado, los usuarios pueden comenzar a construir
y manipular las BDs.
Un SMBDOO, por el contrario, puede ser visto como un Kit de
Construccin de SMBD. Cuando es instalado por primero vez,
NO est disponible para su uso inmediato. Primero debe ser
adaptado por tcnicos capaces y experimentados.
CONTROVERSI A.

Estos tcnicos son quienes tambin definen las clases y mtodos
necesarios para la BD. Y slo cuando esta actividad de
adaptacin haya terminado, el sistema estar disponible para que
los programadores de aplicaciones y los usuarios finales lo
utilicen.
Se puede observar, que el SMBD adaptado resultante ser
especfico de una aplicacin en particular.
Podra por ejemplo, ser adaptado para aplicaciones CAD/CAM,
pero esencialmente intil para otro tipo de aplicaciones (mdicas,
documentos, etc).
En otras palabras, todava no sera un SMBD de propsito
general, como lo son los SMBDRs.
CONTROVERSI A.
En esencia el modelo de objetos dice que podemos
almacenar cualquier cosa que queramos, cualquier
estructura de datos que podamos definir.

El modelo relaciona dice lo mismo, pero adems insiste
en que cualquier cosa que almacenemos debe ser
presentada ante el usuario en forma relacional pura.

El modelo relacional no dice nada acerca de lo que puede
ser almacenado fsicamente.
CONTROVERSI A.
Por lo tanto no impone lmites sobre cules estructuras de
datos son permitidas en el nivel fsico.

El nico requerimiento es que cualquier estructura que de
hecho est guardada fsicamente, debe ser transformada a
relaciones en el nivel lgico y por lo tanto, debe ser oculta
ante el usuario.

Los sistemas relacionales hacen una distincin clara entre
lo lgico y lo fsico (el modelo de datos contra la
implementacin).
CONTROVERSI A.
Mientras que los sistemas basados en objetos no lo hacen.
CONCLUSI ONES.
Esto reduce el problema del operador de traduccin entre
los diferentes modelos a travs de todo el ciclo de vida del
sistema.

El modelo conceptual debe ser la base de las herramientas
CASE OO totalmente integradas, las cuales ayudan a
generar la estructura de datos y los mtodos.

Las BDOO ofrecen un mucho mejor rendimiento de la
mquina que las BDR, para aplicaciones o clases con
estructuras complejas de datos.
CONCLUSI ONES.
Sin embargo, las BDOO coexistirn con las BDR durante
los prximos aos.

Puesto que a menudo se utilizar un modelo por relacin
como una forma de estructura de datos, dentro de una
BDOO.

Podemos decir que en conclusin, con el caso de Oracle,
que ha aumentado la demanda de una representacin de
objetos complejos en las actuales aplicaciones
convencionales.

Potrebbero piacerti anche