Presentacion BDOO

download Presentacion BDOO

of 57

Transcript of Presentacion BDOO

Objeto: Es cualquier cosa real abstracta acerca de la cual almacenamos datos y los mtodos que controlan dichos datos. Tipo de Objeto: Es una categora de objeto. Un objeto es una Instancia de un tipo de objeto. PERSONA (Juan Prez) Encapsulamiento: Es el resultado (o acto) de ocultar los detalles de implantacin de un objeto respecto de su usuario. Una Solicitud: Invoca una operacin especfica, con uno ms objetos como parmetros. Es decir, es para que se lleve acabo la operacin indicada y que se produzca el resultado. En consecuencia las implantaciones se refieren a los objetos como solicitudes. Clase: Es una implantacin de un tipo de objetos. Especifica una estructura de datos y los mtodos operativos permisibles que se aplican a cada uno de sus objetos. Tipos de mtodos: Hay varios tipos de mtodos que son comunes a la mayora de las clases: Constructores: Un constructor es un mtodo que tiene el mismo nombre que la clase. Se ejecuta cuando se crea un objeto de una clase. Por lo tanto, un constructor contiene instrucciones para inicializar las variables de un objeto. Destructores: Un destructor es un mtodo que se utiliza para destruir un objeto. No todos los lenguajes orientados a objetos poseen destructores. Accesores: Un accesor es un mtodo que devuelve el valor de un atributo privado de otro objeto. As es como los objetos externos pueden acceder a los datos encapsulados. Mutadores: Un mutador es un mtodo que almacena un nuevo valor en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados.

Herencia: Una clase implanta el tipo de objeto. Una Subclase hereda propiedades de su clase padre, una subclase puede heredar la estructura y los mtodos algunos de los mtodos. Herencia mltiple: Cuando una clase hereda de ms de una superclase se tiene herencia mltiple. Polimorfismo: 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. En las BDOO los datos estn encapsulados y se dice que estos son activos ms que pasivos; debido a que por ejemplo: La clase mayor detecta si tiene un hijo (objeto) ms o uno menos, es por esto que se dice que estn activos ya que cuentan los hijos u objetos que tiene. En el modelo de objetos existen cuatro caractersticas fundamentales: Abstraccin: Denota las caractersticas esenciales de un objeto que lo distinguen de todos los dems tipos objeto, y proporciona as fronteras conceptuales ntidamente definidas respecto a la perspectiva del observador. Una abstraccin se centra en la visin externa de un objeto, y, por tanto sirve para separar el comportamiento esencial de un objeto de su implantacin. Modularidad: Se basa en el concepto de fragmentacin de los programas en componentes individuales para reducir su complejidad en algn grado, y para crear adems una serie de fronteras bien definidas y documentadas dentro del programa, dnde estas fronteras o interfaces tienen un incalculable valor cara a la comprensin del programa. Jerarqua: Una clasificacin u ordenacin de abstracciones. Tipos: Es un conjunto de objetos que tienen un mismo comportamiento (comparten una misma funcionalidad) que se puede observar desde afuera. Genericidad: Permite construir clases genricas para otras clases. Objetos Complejos: Estn construidos mediante algunos ms simples mediante la aplicacin de constructores a ellos. Los Objetos ms simples son objetos como: Integer, Carcter, String de Bytes de cualquier longitud, booleanos punto flotante y algunos pueden ser de tipo atmico.

En esos mundos OO, el conocimiento se descentraliza en todos los objetos que lo componen, cada objeto sabe hacer lo suyo y no le interesa saber cmo el vecino hace su trabajo, pero sabe que lo hace y qu es lo que puede hacer. Como bien lo defini Dan Ingalls de Smalltalk con las siguientes palabras: La orientacin a objetos proporciona una solucin que conduce a un Universo de Objetos bien educados que se piden de manera corts, concederse mutuamente sus deseos.

Base

de datos: datos(tuplas) y relaciones que forman una interfaz de usuario que se define por si sola Los datos son representados mediante objetos, las entidades de aplicacin son clases y las relaciones mediante inclusin lgica

Se utilizan en aplicaciones ms complejas donde no llegan las bases de datos tradicionales Son adecuados cuando se necesita un buen rendimiento en la manipulacin de datos complejos La informacin se representa mediante objetos como los utilizados en la programacin orientada a objetos Cuando se integran las caractersticas de una base de datos con las de un lenguaje de programacin orientado a objetos resulta un sistema gestor de base de datos orientada a objetos(OBDMS)

La meta es dejar la etapa en la que la construccin del software es una labor de artesanos, y pasar a la etapa en la que se pueda tener fbricas de software, con gran capacidad de reutilizacin de cdigo y con metodologa eficientes y efectivas que se apliquen al proceso de produccin.

A finales de los 80s aparecieron las primeras BDOO, es una base de datos inteligente. Soporta el paradigma orientado a objetos almacenando datos y mtodos, y no slo datos. Est diseada para ser eficaz, desde el punto de vista fsico, para almacenar objetos complejos. Evita el acceso a los datos; esto es mediante los mtodos almacenados en ella. Es ms segura ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los mtodos que haya utilizado el programador.

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. Opcional: Son las que pueden ser aadidas para hacer el sistema mejor pero que no son Mandatorias, estas son de: herencia mltiple, chequeo de tipos e inferencia de distribucin y diseo de transacciones y versiones. Abiertas: Son los puntos donde el diseador puede hacer un nmero de opciones y estas son el paradigma de la programacin, la representacin del sistema el tipo de sistema y su uniformidad. Hemos tomado una posicin no muy a la expectativa para tener una palabra final ms bien para proveer un punto de orientacin para un debate futuro. Caractersticas Mandatorias o Reglas de Oro Un sistema de BDOO debe satisfacer dos criterios: Debe tener un BDMS Debe ser un sistema OO Por ejemplo: para la extensin posible este debe ser consistente en los actuales cortes de lenguajes de programacin OO El primer criterio se traduce en 5 caractersticas como son: Persistencia, Manejador de almacenamiento secundario, Concurrencia, Recuperacin, y Facilidad de Query. La Segunda se traduce en 8 caractersticas: Objetos Complejos, Identidad del objeto, Encapsulacin, Tipos Clases, Sobre paso con combinacin retrasada, Extensibilidad y Completacin Computacional.

Predominancia combinada con enlace retardado: Se puede definir que sea Excel, Autocad, etc. desde la programacin. Extensibilidad: Proporciona los tipos de datos como: Caracter, 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 que se tienen diferentes estndares. Caractersticas Opcionales Esta depende del producto que se vaya a realizar. Herencia Mltiple: Tienen caractersticas de padres diferentes y proporcionan mecanismos para saber de 2 o ms opciones cual conviene. Verificacin de tipos de inferencia Distribucin: Que se puede tener parte de una BD en un servidor y otra parte en otro. Sistema de Representacin.- Forma en como se presentan los esquemas. Uniformidad: Todo debe ser igual. Diseo de ventanas, etc. Asociaciones y Cardinalidad de Asociaciones: Cardinalidad: 1:1 (Uno a Uno),1:M (Uno a Muchos),M:1(Muchos a Uno),M:M (Muchos a Muchos).

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 est 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. El 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.

Ejemplo: Clases de objetos class empleado { / / Variables string nombre; strin direccin; date fecha de alta; int sueldo; / / Mensajes int sueldo-anual (); string obtenerNombre (); string obtenerDireccion (); int definirDireccion (string nueva-dir); int antigedad(); };

Generalmente en una base de datos hay muchos objetos similares (se entiende que responden a los mismos mensajes, utilizan los mismos mtodos y tienen variables del mismo nombre y tipo). Por tanto sera un derroche definir por separado cada uno de estos objetos. Por tanto, los objetos se agrupan para formar clases. Todos los objetos de una clase comparten una definicin comn, pese a que se diferencien en los valores asignados a las variables. El concepto de clase del modelo orientado a objetos se corresponde con el concepto de entidad del modelo E-R. El ejemplo Empleado muestra las variables y los mensajes que responden a los objetos de la clase; no se muestran aqu los mtodos para el tratamiento de los mensajes.

Ventajas de una BDOO 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. 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. 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. 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.

Aspectos de la tecnologa Los objetos pueden estar compuestos o consistir de cualquier tipo de informacin que, eventualmente, puede almacenarse en forma digital; por ejemplo imgenes barridas (Scaned), voz y sonido, dibujos y planos arquitectnicos complejos, esquemas electrnicos y diagramas desarrollados por ingenieros, as como los tradicionales tipos de datos alfanumricos. Las Bases de Datos Orientadas a Objetos permiten que mltiples usuarios compartan objetos complejos y los manipulen en un ambiente seguro y estructurado. Las bases de datos convencionales fueron diseadas para manejar tipos de datos alfanumricos y por esto difcilmente pueden manipular objetos y mtodos (los mtodos son los comportamientos definidos de los objetos). Una Base de datos en red o jerarqua puede almacenar objetos complejos, pero esta arquitectura no es flexible, lo cual motiva, por ejemplo, el uso del modelo relacional. Estos sistemas casi no permiten flexibilidad para modificaciones, y el sistema debe desactivarse cuando se requiere modificar estructuras de objetos y mtodos. Los niveles en los cuales las bases de datos incorporan los conceptos alrededor de la metodologa de objetos. La primera clase, puede denominarse BDOO pasiva o estructuralmente orientadas a objetos que permiten manejar objetos compuestos. Una base de datos pasiva puede almacenar objetos complejos pero no puede definir comportamientos. Una BDOO es activa u orientada a objetos por comportamiento si permite definir y ejecutar comportamiento de los objetos dentro de la base de datos, incorpora conceptos como herencia y permite el manejo de tipos definidos por el usuario.

Mensaje:

Intercambio de solicitudes entre objetos independientemente de su implementacin Variable: Estado del objeto Mtodo: Implementacin del mensaje

Cada

objeto est asociado con: Conjunto de variables que contienen los datos de un objeto. Las variables corresponden a los atributos del modelo E-R Conjunto de mensajes a los que responde, un mensaje puede o no tener parmetros o tener uno o varios Conjunto de mtodos, cada uno de los cuales es el cdigo que implementa un mensaje. El mtodo devuelve un valor como respuesta al mensaje

CLASES DE OBJETOSclass empleado { / / Variables string nombre; string direccin; date fecha de alta; int sueldo; / / Mensajes int sueldo-anual (); string obtenerNombre (); string obtenerDireccion (); int definirDireccion (string nueva-dir); int antigedad(); };

Las

bases de datos orientadas a objetos (BDOO) se disean para trabajar con lenguajes de programacin como Java, C#, C++ y Visual basic.Net Al crear un sistema de BD Orientado a Objetos se deben tener en cuenta unas caractersticas que estn divididas en tres grupos: Mandatorias Opcionales Abiertas

Son

aquellas obligatorias Son las que debe cumplir el sistema al tener un sistema de BDOO Objetos complejos, Identidad de objetos, Encapsulacin, Tipos o clases, Sobrepaso con unin retardada, Extensibilidad, Completacin Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperacin y Facilidad de Query

Criterios

que debe satisfacer un sistema de

BDOO: Debe tener un BDMS Debe ser un sistema OO El

primer punto consiste en:

Persistencia Manejador de almacenamiento secundario Concurrencia Recuperacin Facilidad de Query

El

segundo punto consiste en:

Objetos Complejos Identidad del Objeto Encapsulacin

Tipos Clases Sobrepaso con combinacin retrasada Extensibilidad

Completacin Computacional

Extensibilidad:

proporciona tipos de datos

bsicos Concurrencia: permite que ms de 1 usuario tenga acceso a la BD a la vez Recuperacin: vuelta al estado anterior al realizar una transaccin que no se ha finalizado

No

son obligatorias y se ponen para hacer que el sistema sea mejor Herencia mltiple, chequeo de tipos e inferencia de distribucin y diseo de transacciones y versiones Herencia mltiple: obtiene caractersticas de padres diferentes y proporciona mecanismos de que opcin conviene ms

Son

aquellas en las que el diseador puede poner de su parte y que estn relacionadas con la programacin Paradigma de la programacin, Representacin o tipo del sistema y su uniformidad

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 Creacin de versiones.

Un

sistema de BDOO provee una identidad nica a cada objeto independiente almacenado en la base de datos La estructura orientada a objetos impone automticamente las restricciones relacionales: dominio, llave de integridad de identidad, identidad referencial Propiedades OID Es generado por el sistema

Propiedades OID (continuacin) Su valor no es visible para el usuario externo, sino usado por el sistema para identificar el objeto y crear y manejar las referencias entre objetos Es inmutable as preserva la identidad Es preferible que solo se use una vez, aunque se elimine el objeto de la BD La inmutabilidad y el preservar la identidad implican que el OID no dependa de atributo alguno del objeto

En

las BDOO los estados de objetos complejos se pueden construir a partir de otros objetos mediante constructores Estos objetos se representan mediante un identificador, un constructor y un estado o valor Constructores bsicos Constructores de tomos Constructores de tuplas Constructores de conjuntos

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

Los

lenguajes de POO se utilizan para trabajar con la base de datos Hay lenguajes en los que se puedan integrar estos conceptos: Extender un lenguaje para tratamiento de datos como SQL aadiendo tipos complejos y POO creando sistemas relacionales orientados a objetos, se llaman sistemas relacionales orientados a objetos

Coger

un lenguaje de programacin orientado a objetos extendindolo para que trabaje con BD, se llaman lenguajes de programacin persistentes A la hora de elegir que opcin usar, tener en cuenta que los lenguajes de programacin persistentes son muy potentes y es fcil cometer errores que daen a las BD. La optimizacin de alto nivel y la reduccin de E/S de disco es difcil

Hay

clases generales (superclases) que definen las caractersticas comunes a un determinado grupo Las clases especficas (subclases) especifican cualidades caractersticas de un determinado grupo Las subclases heredan los mtodos y atributos de las superclases, de miembros mas altos de la jerarqua

Ejemplo:Class persona { string nombre; string direccin; }; Class cliente persona { int inters-prestamo; }; Class empleado persona{ date fecha de alta; int sueldo; };

Los

objetos son complejos ya que necesitan un espacio sustancial para almacenarse a parte de no tener los valores tpicos de un SGBD Soluciones: Utilizar tcnicas de almacenamiento intermedio para obtener porciones del objeto antes que el programa de aplicacin necesite tener acceso a ellas Crear bibliotecas de tipos de datos y operaciones

Un

objeto se puede comportar de formas diferentes segn a que subclase pertenezca Ejemplo:OBJETO_GEOMETRICO: Forma, Area, PuntoCentral RECTANGULO subtype_of OBJETO_GEOMETRICO (Forma=rectngulo): Ancho, Altura TRIANGULO subtype_of OBJETO_GEOMETRICO (Forma=tringulo): Lado1, Lado2, Angulo CIRCULO subtype_of OBJETO_GEOMETRICO(Forma=crculo): Radio

Hay

aplicaciones de BD que necesitan varias versiones del mismo objeto Generalmente hay que modificar mdulos de diseo e implementacin Si el sistema est operativo habr que crear otro modulo igual al que queremos modificar y modificar la rplica Se crea un grafo de versiones con todas las rplicas del mdulo en la que hemos hecho cambios Un SGBDOO debe controlar y almacenar las versiones del objeto

El

diseador puede especificar la estructura de objetos y determinar sus operaciones Flexibilidad y manejo de tipos complejos Manipula datos complejos de forma rpida Tienen ms rapidez de pasar de un objeto a otro que las BDR. El JOIN es ms lento que los punteros de los objetos El agrupamiento es ms eficiente, lo que reduce el tiempo de recuperacin de datos de disco ya que solo necesita una lectura a disco por la agrupacin

Inmadurez

en el mercado Falta de estndares en la programacin OO, lo que supone un riesgo para los usuarios a parte de un coste alto y necesidad de un tiempo de pruebas considerable No hay agrupamiento fsico de objetos

El trmino base de datos objeto-relacional se usa para describir una base de datos que ha evolucionado desde la modelo relacional hasta una base de datos hbrida, que contiene ambas tecnologas: relacional y de objetos. El modelo objeto relacional tambin se conoce como el modelo relacional extendido ya que incluye nuevas funciones y extensiones soportadas por los objetos, actualmente las opinin sobre la definicin del modelo objeto relaciona estn muy dividas, una definicin sencilla podra ser: El modelo objeto-relacional (ORDBMS) es similar a un front-end dentro de una base de datos relacional que permite que los datos sean grabados como objetos, sin embargo todos los metadatos y la informacin siguen utilizando el sistema de filas y columnas para este propsito de tal forma que la base de datos pueda ser accedida tambin como una base de datos relacional. Y as mismo cuando los datos son recuperados la base de datos tiene la capacidad de reconstruir nuevamente los datos simples a objetos complejos.

El modelo relacional est diseado para representar los datos como una serie de tablas con columnas y atributos. Oracle8 es una base de datos objeto-relacional; es decir, incorpora tecnologas orientadas a objetos. En este sentido, permite construir tipos de objetos complejos, entendidos como: Capacidad para definir objetos dentro de objetos. Cierta capacidad para encapsular o asociar mtodos con dichos objetos.

Un tipo de objeto consta de dos partes: especificacin y cuerpo. La especificacin constituye la interface a las aplicaciones; aqu se declaran las estructuras de datos (conjunto de atributos) y las operaciones (mtodos) necesarios para manipular los datos. El cuerpo define los mtodos, es decir, implementa la especificacin. En la figura 1 se representa grficamente la estructura de un tipo de objeto.

Modelo de datos: Actualmente todo modelo de datos que se categorize como modelo objeto-relacional cumple con SQL3, pero conservando toda la informacin persistente como tablas cumpliendo tambin esta forma con SQL2, sin embargo el modelo ORDBMS trae como alternativa la creacin de ADTs (Abstract Data Types). Un ADT es un tipo de datos construido a partir de los datos bsicos, este nuevo soporte es atractivo porque por medio de funciones, operaciones de este nuevo tipo de datos pueden ser usados como ndices, consultas, vistas permitido integrar un nuevo tipo de datos de objetos como el multimedia. Gracias a todas estas facilidades del ORDBMS permite que el desarrollador pueda escoger si desea seguir desarrollando por medio de RDBMS y opcionalmente con ORDBMS. Adems es posible abordar el diseo de nuestra base de datos pudiendo aprovechar todo las relaciones y la composicin del paradigma de objetos as como soporte a lenguajes orientados a objetos. Lenguaje de consultas: Una base de datos objeto-relacional soporta una forma de SQL de forma extendida, a veces conocida como ObjectSQL. Esta nueva extensin soporta el modelo objeto, dichas consultas puede ser muy poderosas porque pueden trabajar con las relaciones entre objetos, mtodos, funciones de bsqueda de predicados y bsquedas a ADTs. Sin embargo la sintxis es muy similar a la relacional debido a que el ORDBMS est basado en datos tipo RDBMS por medio de filas, columnas y SQL tradicional. Se espera que para un futuro prximo la implementacin del estndar SQL4 permita incorporar OQL el cual es un lenguaje netamente de objetos.

La novedad ms importante del modelo objeto relacional es la implementacin de los UDTs (user-defined types) y de los UDFs (user-defined functions), los datos tipo coleccin y las infraestructuras (Mejoras en la indexacin, nuevos tipos y funciones). El soporte del manejo de las abstracciones por medio de objetos permite que el modelo conceptual sea desarrollado usando UML que finalmente facilita un buen diseo lgico. Pero primero pasemos a definir que es un objeto segn el modelo ORDBMS para empezar a describir el diseo conceptual: Qu es un objeto? Los tipos de datos orientados a objetos son abstracciones de las entidades del mundo real que se guardan en la base de datos, un objeto es un esquema compuesto por un OID (Y que puede manejarse como llave primaria), un nombre, y un conjunto de mtodos. Qu son los UDTs y UDFs? Corresponden a los nuevos tipos de datos y nuevas funciones personalizadas por el usuario. Los UDTs se pueden clasificar en 3 tipos: de tipo distintivo, tipo opaco o de base y tipo fila o compuesto. Los datos de carcter opaco o de base son datos no derivados de otro tipo de datos, sus estructuras puede deben ser definidas dentro del DBMS con sus respectivas operaciones y funciones. Despus de ser definidos pueden usarse como base para la creacin de datos tipo distintivos y de tipo fila para ser usando en objetos. Los datos tipo fila pueden incluir ms datos de tipo fila de forma anidada. Los datos de tipo distintivo son derivados de otro tipo de datos, manejan sus propios dominios, operaciones (Sobrecarga) y funciones. De ah que su definicin como objeto pueda ser fuertemente tipeada lo que ayuda a mejorar la integridad de los datos. Dentro del modelo OR existen tres tipos de mtodos cada uno con un respectivo constructor, ellos son: Mtodos tipo miembro: Permite modelar el comportamiento de los objetos Mtodos tipos esttico: Permite modelar el objeto en su totalidad Mtodo tipo comparacin: Permite realizar comparaciones entre el objeto original e instancias de este. Tipo de coleccin: Tipo Arreglo Tipo tabla

Ambos tipos de colecciones son del mismo tipo de datos, sin embargo su diferencia radica en que el tipo arreglo es un conjunto ordenado, y limitado mientras que un tipo de tabla es un conjunto desordenado y sin lmite alguno. Las tablas pueden anidarse siendo manejadas por medio del objeto tipo fila. Tambin el modelo ORDBMS soporta dos tipos de vistas, el viejo tipo de vista clsica en una tabla y la nueva vista de tipo objeto. Por medio de las vistas tipo objeto es posible crear tablas virtuales de objetos que manejen UDTs y UDFs, las vistas de objeto tambin tienen la ventaja de producir vistas con datos de tipo relacional adjuntos a una vista objeto previa. La infraestructura se denomina aquellos mdulos acompaantes comprendido entre Cartdridges (Oracle 8i), datablades (Informix) y extendedores (DB2). Este tipo de mdulos contenan nuevos tipo de datos, estructuras y funciones e interfaces nuevas para los desarrolladores.

La mayor limitacin de las bases de datos orientadas a objetos es la carencia de un estndar. ODMG-93 (ObjectOriented Database Management Group) intenta definir un SGBDOO que integre las capacidades de las bases de datos con las capacidades de los lenguajes de programacin, de forma que los objetos de la base de datos aparezcan como objetos del lenguaje de programacin, intentando de esta manera eliminar la falta de correspondencia existente entre los sistemas de tipos de ambos lenguajes .El SGBDOO extiende el lenguaje con persistencia, concurrencia, recuperacin de datos, consultas asociativas, etc. El lenguaje de bases de datos es especificado mediante un lenguaje de definicin de datos (ODL), un lenguaje de manipulacin de datos (OML), y un lenguaje de consulta (OQL), siendo todos ellos portables a otros sistemas con el fin de conseguir la portabilidad de la aplicacin completa.

Lenguaje ODL El lenguaje de definicin de datos (ODL) en un SGBDOO es empleado para facilitar la portabilidad de los esquemas de las bases de datos. El ODL 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. 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 sugiere que este lenguaje sea la extensin de un lenguaje de programacin, de forma que se pueden realizar entre otras las siguientes operaciones sobre la base de datos: Creacin, Borrado, Modificacin e 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 pueden incluir consultas. Tiene una sintaxis abstracta. Su semntica formal puede definirse fcilmente. Proporciona un acceso declarativo a los objetos. Se basa en el modelo de objetos de ODMG-93. 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 restringe su utilizacin con otros constructores de colecciones. Existen dos posibilidades para asociar un sublenguaje de consulta a un lenguaje de programacin: fuerte y dbilmente: El primer caso consiste en una extensin de la gramtica del lenguaje asociado. En el segundo caso, las funciones query tienen unos argumentos String que contienen las preguntas.

Glosario BDOO: Bases de Datos Orientadas a Objetos BDR: Bases de Datos por Relacin BLOB: Objetos Binarios de Gran Tamao BDOO94: Bases de Datos orientados a Objetos 94 CAD: Diseo Asistido por Computadora CAE: Ingeniera Apoyada por computadora CORBA: (Common Object Request Broker Arquitecture) EDT: Estacin de Trabajo A-TREE: Unico rbol para todas las clases de Jerarqua H-TREE: Un rbol para cada clase en la Jerarqua LDD DDL: Lenguaje de definicin de Datos LMD DML: Lenguaje de Manejo de Datos

LOBS: Tales como Vdeo, Programas Ejecutables etc. OO: Orientacin a Objetos ODL: Estndar de Definicin de Lenguaje de Datos OMG: Grupo Manejador de Objetos OML: Lenguaje de Manipulacin de Datos ODMG: Gestin Manejadora de datos Objeto OQL: Equivalente al SQL(Lenguaje de Consulta) SQL: Lenguaje de Consulta SGBD: Sistema de Gestin de Bases de Datos SGBDOO: Sistema de Gestin de Bases de Datos Orientada a Objeto SO: Sistema Operativo

Bases

de Datos. Modelos, Lenguajes, Diseos James L. Johnson. Sistemas de Bases de Datos Elmasri /Nawathe. Fundamentos de Bases de Datos Henry Korth/Abraham Silverschatz/Sudargham.

Cules

son las principales caractersticas de una BDOO? Que creis que saldr mas rentable una BDOO o una relacional? Que ventajas les encontris a las BDOO?Y a las relacionales? Que caractersticas encontris que superan a las de las BD relacionales? Para que casos reales creis que son mejores las BDOO?

Cuando

diseis una base de datos en que cosas os fijis antes de disearla? Que BD creis que es ms fcil de mantener para 1 aplicacin de la vida cotidiana?