base de datos orientada a objetos

Upload: tania-caceres

Post on 06-Mar-2016

11 views

Category:

Documents


0 download

DESCRIPTION

ll

TRANSCRIPT

INTRODUCCINLos modelos de bases de datos tradicionales (relacional, red y jerrquico) han sido capaces de satisfacer con xito las necesidades, en cuanto a bases de datos, de las aplicaciones de gestin tradicionales. Sin embargo, presentan algunas deficiencias cuando se trata de aplicaciones ms complejas o sofisticadas como, por ejemplo, el diseo y fabricacin en ingeniera (CAD/CAM, CIM), los experimentos cientficos, los sistemas de informacin geogrfica o los sistemas multimedia. Los requerimientos y las caractersticas de estas nuevas aplicaciones difieren en gran medida de las tpicas aplicaciones de gestin: la estructura de los objetos es ms compleja, las transacciones son de larga duracin, se necesitan nuevos tipos de datos para almacenar imgenes y textos, y hace falta definir operaciones no estndar, especficas para cada aplicacin. Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades de estas nuevas aplicaciones. La orientacin a objetos ofrece flexibilidad para manejar algunos de estos requisitos y no est limitada por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales. Una caracterstica clave de las bases de datos orientadas a objetos es la potencia que proporcionan al diseador al permitirle especificar tanto la estructura de objetos complejos, como las operaciones que se pueden aplicar sobre dichos objetos. Otro motivo para la creacin de las bases de datos orientadas a objetos es el creciente uso de los lenguajes orientados a objetos para desarrollar aplicaciones. Las bases de datos se han convertido en piezas fundamentales de muchos sistemas de informacin y las bases de datos tradicionales son difciles de utilizar cuando las aplicaciones que acceden a ellas estn escritas en un lenguaje de programacin orientado a objetos como C++, Smalltalk o Java. Las bases de datos orientadas a objetos se han diseado para que se puedan integrar directamente con aplicaciones desarrolladas con lenguajes orientados a objetos, habiendo adoptado muchos de los conceptos de estos lenguajes. Los fabricantes de los SGBD relacionales tambin se han dado cuenta de las nuevas necesidades en el modelado de datos, por lo que las nuevas versiones de sus sistemas incorporan muchos de los rasgos propuestos para las bases de datos orientadas a objetos, como ha ocurrido con Informix y Oracle. Esto ha dado lugar al modelo relacional extendido y a los sistemas que lo implementan se les denomina sistemas objetorelacionales. La nueva versin de SQL, SQL: 1991, incluye algunas de las caractersticas de la orientacin a objetos. Durante los ltimos aos se han creado muchos prototipos experimentales de sistemas de bases de datos orientadas a objetos y tambin muchos sistemas comerciales.

Conforme a estos fueron apareciendo, surgi la necesidad de establecer un modelo estndar y un lenguaje. Para ello, los fabricantes de los SGBD orientadas a objetos formaron un grupo denominado ODMG (Object Database Management Group), que propuso el estndar ODMG93 y que ha ido evolucionando hasta el ODMG 3.0, su ultima versin. El uso de estndares proporciona portabilidad, permitiendo que una aplicacin se pueda ejecutar sobre sistemas distintos con mnimas modificaciones. Los estndares tambin proporcionan interoperabilidad, permitiendo que una aplicacin pueda acceder a varios sistemas diferentes. Y una tercera ventaja de los estndares es que permiten que los usuarios puedan comparar entre distintos sistemas comerciales, dependiendo de qu partes del estndar proporcionan.

Conceptos de orientacin a objetosEl desarrollo del paradigma orientado a objetos aporta un gran cambio en el modo en que vemos los datos y los procedimientos que actan sobre ellos. Tradicionalmente, los datos y los procedimientos se han almacenado separadamente: los datos y sus relaciones en la base de datos y los procedimientos en los programas de aplicacin. La orientacin a objetos, sin embargo, combina los procedimientos de una entidad con sus datos. Esta combinacin se considera como un paso adelante en la gestin de datos. Las entidades son unidades auto contenidas que se pueden reutilizar con relativa facilidad. En lugar de ligar el comportamiento de una entidad a un programa de aplicacin, el comportamiento es parte de la entidad en s, por lo en cualquier lugar en el que se utilice la entidad, se comporta de un modo predecible y conocido.El modelo orientado a objetos tambin soporta relaciones de muchos a muchos, siendo el primer modelo que lo permite. An as se debe ser muy cuidadoso cuando se disean estas relaciones para evitar prdidas de informacin. Por otra parte, las bases de datos orientadas a objetos son navegacionales: el acceso a los datos es a travs de las relaciones, que se almacenan con los mismos datos. Esto se considera un paso atrs. Las bases de datos orientadas a objetos no son apropiadas para realizar consultas ad hoc, al contrario que las bases de datos relacionales, aunque normalmente las soportan. La naturaleza navegacional de las bases de datos orientadas a objetos implica que las consultas deben seguir relaciones predefinidas y que no pueden insertarse nuevas relaciones al vuelo.Los objetos han entrado en el mundo de las bases de datos de formas:1-SGBD orientados a objetos puros: son SGBD basados completamente en el modelo orientado a objetos.2-SGBD hbridos u objetorelacionales: son SGBD relacionales que permiten almacenar objetos en sus relaciones (tablas).A continuacin se definen los conceptos del paradigma orientado a objetos en programacin, ya que el modelo de datos orientado a objetos es una extensin del mismo.Objeto: Es un elemento auto contenido utilizado por el programa. Los valores que almacena un objeto se denominan atributos, variables o propiedades. Los objetos pueden realizar acciones, que se denominan mtodos, servicios, funciones, procedimientos u operaciones. Los objetos tienen un gran sentido de la privacidad, por lo que slo dan informacin sobre s mismos a travs de los mtodos que poseen para compartir su informacin.

Tambin ocultan la implementacin de sus procedimientos, aunque es muy sencillo pedirles que los ejecuten. Los usuarios y los programas de aplicacin no pueden ver qu hay dentro de los mtodos, slo pueden ver los resultados de ejecutarlos. A esto es a lo que se denomina ocultacin de informacin o encapsulamiento de datos. Cada objeto presenta una interface pblica al resto de objetos que pueden utilizarlo. Una de las mayores ventajas del encapsulamiento es que mientras que la interface pblica sea la misma, se puede cambiar la implementacin de los mtodos sin que sea necesario informar al resto de objetos que los utilizan. Para pedir datos a un objeto o que este realice una accin se le debe enviar un mensaje. Un programa orientado a objetos es un conjunto de objetos que tienen atributos y mtodos. Los objetos interactan envindose mensajes. La clave, por supuesto, es averiguar qu objetos necesita el programa y cules deben ser sus atributos y sus mtodos.

Clase: Es un patrn o plantilla en la que se basan objetos que son similares. Cuando un programa crea un objeto de una clase, proporciona datos para sus variables y el objeto puede entonces utilizar los mtodos que se han escrito para la clase. Todos los objetos creados a partir de la misma clase comparten los mismos procedimientos para sus mtodos, tambin tienen los mismos tipos para sus datos, pero los valores pueden diferir.Una clase tambin es un tipo de datos. De hecho una clase es una implementacin de lo que se conoce como un tipo abstracto de datos. El que una clase sea tambin un tipo de datos significa que una clase se puede utilizar como tipo de datos de un atributo.

Tipos de clases.

En los programas orientados a objetos hay tres tipos de clases: clases de control, clases entidad y clases interface.

Las clases de control gestionan el flujo de operacin de un programa (por ejemplo, el programa que se ejecuta es un objeto de esta clase).Las clases entidad son las que se utilizan para crear objetos que manejan datos (por ejemplo, clases para personas, objetos tangibles o eventos).Las clases interface son las que manejan la entrada y la salida de informacin (por ejemplo, las ventanas grficas y los mens utilizados por un programa).

En los programas orientados a objetos, las clases entidad no hacen su propia entrada/ salida. El teclado es manejado por objetos interface que recogen los datos y los envan a los objetos entidad para que los almacenen y los procesen.La salida impresa y por pantalla la formatea un objeto interface para obtener los datos a visualizar de los objetos entidad. Cuando los objetos entidad forman parte de la base de datos, es el SGBD el que se encarga de la entrada/salida a ficheros. El resto de la entrada/salida la manejan los programas de aplicacin o las utilidades del SGBD.

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 cmo 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 cmo objetos externos pueden modificar los datos encapsulados.Mtodos de comparacin: Estos mtodos son utilizados para que se pueda comparar los objetos de un cierto tipo. Esta accin se lleva a cabo indicando cul es el criterio de comparacin. Para poder hacer posible la realizacin de una comparacin es necesario escoger entre un mtodo MAP o un mtodo ORDER: - Un mtodo de MAP es utilizado para indicar cul de los atributos del tipo se va a utilizar para ordenar los objetos del tipo. - Un mtodo ORDER utiliza los atributos del objeto sobre el que se ejecuta para realizar un clculo y compararlo con otro objeto del mismo tipo que toma como argumento de entrada. Este mtodo debe devolver un valor negativo si el primero es mayor que el segundo, un valor positivo si ocurre lo contrario y un cero si ambos son iguales.

Nombres de clases, atributos y mtodos.En el mundo de la orientacin a objetos hay cierta uniformidad en el modo de dar nombres a clases, atributos y mtodos.Los nombres de las clases empiezan por una letra mayscula seguida de minsculas.Si el nombre tiene ms de una palabra, se puede usar el carcter subrayado para separar palabras o bien empezar cada una con una letra mayscula (Materia prima o MateriaPrima).Los nombres de los atributos y de los mtodos empiezan por minscula y si tienen ms de una palabra, utilizan el subrayado o la mayscula (num empleado o numEmpleado).Los mtodos accesores empiezan por la palabra get seguida del nombre del atributo al que acceden (getNumEmpleado).Los mtodos mutadores empiezan por la palabra set seguida del nombre del atributo cuyo valor modifican (setNumEmpleado).Herencia de atributos: En ocasiones se necesita trabajar con clases que son similares pero no idnticas. Para ello es muy til una de las caractersticas del paradigma orientado a objetos: la herencia. Una clase puede tener varias subclases que representan ocurrencias ms especficas de la superclase. Por ejemplo, podemos tener la clase (superclase) Animal con sus atributos (nombre comn, nombre cientfico, fecha de nacimiento y gnero) y las subclases Mamfero, Reptil y Pez, cada una con unos atributos especficos (Mamfero: peso, altura del hombro, raza y color; Reptil: longitud actual y longitud mxima; Pez: color). Por el hecho de ser subclases de Animal, heredan sus atributos. La relacin que mantienen las subclases con la superclase es del tipo es un: un mamfero es un animal, un reptil es un animal y un pez es un animal. No todas las clases de una jerarqua se utilizan para crear objetos. Por ejemplo, nunca se crean objetos de la clase Animal, sino que se crean objetos de las clases Mamfero, Reptil o Pez. La clase Animal slo se utiliza para recoger los atributos y mtodos que son comunes a las tres subclases. Se dice que estas clases son abstractas o virtuales. Las clases que se utilizan para crear objetos se denominan clases concretas.Herencia mltiple: Cuando una clase hereda de ms de una superclase se tiene herencia mltiple.Interfaces: Algunos lenguajes orientados a objetos no soportan la herencia mltiple.

En lugar de eso permiten que una clase se derive de una sola clase pero permiten que la clase implemente mltiples interfaces. Una interface es una especificacin para una clase sin instrucciones en los mtodos. Cada clase que implemente la interface proporcionar las instrucciones para cada mtodo de la misma. Una interface puede contener atributos y mtodos, o bien slo atributos, o bien slo mtodos.Polimorfismo: En general, las subclases heredan los mtodos de sus superclases y los utilizan como si fueran suyos. Sin embargo, en algunas ocasiones no es posible escribir un mtodo genrico que pueda ser usado por todas las subclases. La clase ObjetoGeometrico posee un mtodo tarea que deber tener distinta implementacin para sus subclases Circulo, Rectngulo y Triangulo. La superclase contendr un prototipo para el mtodo que calcula el rea, indicando slo su interface pblica. Cada subclase redefine el mtodo, aadiendo las instrucciones necesarias para calcular su rea. Ntese que polimorfismo no es lo mismo que sobrecarga: la sobrecarga se aplica a mtodos de la misma clase que tienen el mismo nombre y distintas signaturas, mientras que el polimorfismo se aplica a varias subclases de la misma superclase que tienen mtodos con la misma signatura y con distintas implementaciones.Base de Datos Orientada a ObjetosUna base de datos orientada a objetos es una base de datos donde los elementos son objetos. Estos pueden ser bases de datos multimedia (videos, imgenes y sonidos), donde la herencia nos permita una mejor representacin de la informacin, estas bases de datos tienen una identidad de ser un Todo, y no solo una parte de una gran base, por ejemplo una base de secuencias de ADN.El objetivo de una base de datos orientada a objetos son los mismos que los de las bases de datos tradicionales, pero con la ventaja de representar las modelos de datos con un marco mucho ms eficiente, manteniendo la integridad y relacin entre ellos.La utilizacin de una BDOO simplifica la conceptualizacin ya que la utilizacin de objetos permite representar de una manera ms natural la informacin que se quiere guardar.Para modelar la estructura o vistalgicade la BD, se utiliza elDiagramade clases que permite presentar las clases con sus respectivas relaciones estructurales y de herencia, adems del Diagrama de Objetos cuando no est muy claro y preciso cmo seran las instancias de las clases o para especificar ms el Diagrama de Clases.Para modelar la partedinmica, lainteracciny comportamiento entre los objetos, se empleara el Diagrama de Secuencia para presentar las interacciones entre los objetos organizados en una secuencia temporal y describir como estos objetos colaboran; as

como tambin, el Diagrama de Estado para mostrar los posibles estados en que puede encontrarse un objeto y las transacciones que pueden causar uncambiode estado, luego que ocurre un evento.Tablas de objetos: Tras definir los tipos de objetos, stos pueden utilizarse para definir otros tipos, tablas que almacenen objetos de esos tipos, o para definir el tipo de los atributos de una tabla. Por ejemplo podemos definir una tabla que utiliza un tipo de datos complejo para una de sus columnas. Una tabla de objetos es una clase especial de tabla que almacena un objeto en cada fila.Referencias entre objetos: Los identificadores nicos, permiten que puedan ser referenciados desde los atributos de otros objetos o desde las columnas de tablas. El tipo de datos proporcionado por Oracle para soportar esta facilidad se denomina REF. Un atributo de tipo REF almacena una referencia a un objeto del tipo definido, e implementa una relacin de asociacin entre los dos tipos de objetos. Tipos para colecciones: Los tipos para colecciones se definen para poder implementar relaciones 1:N. Un dato de tipo coleccin est formado por un nmero indefinido de elementos, todos del mismo tipo. As es posible almacenar un conjunto de tuplas en un nico atributo, en forma de array o de tabla anidada. Los tipos para colecciones tambin tienen por defecto unas funciones constructoras de colecciones cuyo nombre coincide con el del tipo. Los argumentos de entrada de estas funciones son el conjunto de elementos que forman la coleccin separados por parntesis.El tipo VARRAY: Un array es un conjunto ordenado de elementos del mismo tipo. Cada elemento tiene asociado un ndice que indica su posicin dentro del array. Un tipo VARRAY se puede utilizar para: - Definir el tipo de datos de una columna de una tabla relacional. - Definir el tipo de datos de un atributo de un tipo de objetos. - Para definir una variable PL/SQL, un parmetro, o el tipo que devuelve una funcin. No se produce ninguna reserva de espacio al declarar un tipo VARRAY. Se almacenar con el resto de columnas de su tabla, si el espacio que requiere lo permite. En caso contrario, se almacenar aparte de la tabla como un BLOB. Es imposible poner condiciones sobre los elementos almacenados dentro de un VARRAY, en las consultas. Esta es la principal limitacin que tiene este tipo de dato. Tablas anidadas: Una tabla anidada es un conjunto de elementos del mismo tipo en el que no existe un orden predefinido. Estas tablas solamente pueden tener una columna que puede ser de un tipo de datos bsico, o de un tipo de objetos definido por el usuario.

Caractersticas de Base de Datos Orientada a ObjetosMandatorias: son las que elSistemadebe 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 dealmacenamientosecundario, 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 d edistribucinydiseode transacciones y versiones.Abiertas:Son los puntos donde el diseador puede hacer un nmero de opciones y estas son elparadigmade 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 undebatefuturo.Ventajas - Desventajas - Aspectos TecnolgicosLa 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. Ya que puedo tener clases y subclases creadas por ejemplo una base de clientes puede tener una subclase de la referencia de este cliente y esta heredara todos sus atributos y caracterstica de la clase original.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 BDOAl considerar la adopcin de la tecnologa orientada a objetos, la inmadurez del mercado de BDOO constituye una posible fuente de problemas. Hay muy pocos manejadores de base de datos en el mercado que soporten este tipo de arquitectura.

Algunos de los pocos OODBMS que existen son: Db4o Informix Bdoviedo3

Quiz esta sea una de las causas por las cuales las OODB an no tengan ese crecimiento que en algn momento tantas expectativas generaron.El segundo problema es la falta de estndares en la industria orientadas a objetosAspectos De La TecnologaLas 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).RendimientoLas BDOO permiten que los objetos hagan referencia directamente a otro 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 esto. Incluso el JOIN optimizado es ms lento que un recorrido de los objetos. 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 sistemas de bases de datos 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.

ANEXOS

Figura 1: Base de Datos Orientada a Objetos.

Figura 2: Caractersticas bsicas de los SGDBOO.

Figura 3: Ejemplo de Una Base de Datos Orientada a Objeto

ODL: ODL es un lenguaje de especificacin para definir tipos de objetos para sistemas complejos compatibles con ODMG. Es el equivalente de DDL (Data Definition Languaje o lenguaje de definicin de datos) de los DBMS tradicionales. Define los atributos y las relaciones entre tipos y especifica la signatura de las operaciones. La sintaxis de ODL extiende el lenguaje de definicin de interfaces (IDL) de la arquitectura CORBA (Common Object Request Broker Architecture). Las declaraciones de atributos son sintcticamente idnticas las declaraciones de miembros de C++. Ejemplo: class Persona (extent personas key dni) { /* Definicin de atributos */ attribute struct Nom_Persona {string nombre pila, string apellido1, string apellido2} nombre; attribute string dni; attribute date fecha nacim; attribute enum GenerofF,Mg sexo; attribute struct Direccion {string calle, string cp, string ciudad} direccion; /* Definicin de operaciones */ float edad(); } class Profesor extends Persona (extent profesores) { /* Definicin de atributos */ attribute string categoria; attribute float salario; attribute string despacho; attributo string telefono;

/* Definicin de relaciones */ relationship Departamento trabaja en inverse Departamento::tiene profesores; relationship Set tutoriza inverse EstudianteGrad::tutor; relationship Set en comite inverse EstudianteGrad::comite; /* Definicin de operaciones */ void aumentar salario(in float aumento); void promocionar(in string nueva categoria); } class Estudiante extends Persona (extent estudiantes) { /* Definicin de atributos */ attribute string titulacion; /* Definicin de relaciones */ relationship set ediciones cursadas inverse Calificacion::estudiante; relationship set matriculado inverse EdicionActual::estudiantes matriculados;/* Definicin de operaciones */ float nota media(); void matricularse(in short num edic) raises(edicion no valida, edicion llena);

void calificar(in short num edic; in float nota)raises(edicion no valida, nota no valida);};class Calificacion (extent calificaciones) {/* Definicin de atributos */attribute float nota;/* Definicin de relaciones */relationship Edicion edicion inverseEdicion::estudiantes;relationship Estudiante estudianteinverse Estudiante::ediciones cursadas;};class EstudianteGrad extends Estudiante(extent estudiantes graduados){* /Definicin de atributos /*/ attribute set titulos;/* Definicin de relaciones */relationship Profesor tutorinverse Profesor::tutoriza;relationship set comite inverseProfesor::en comite;/* Definicin de operaciones */void asignar tutor(in string apellido1; in string apellido2)raises(profesor no valido);

void asignar miembro comite(in string apellido1; in string apellido2)raises(profesor no valido);};class Titulo {/* Definicin de atributos */attribute string escuela;attribute string titulo;attribute string a~no;};class Departamento(extent departamentos key nombre){/* Definicin de atributos */attribute string nombre;attribute string telefono;attribute string despacho;attribute string escuela;attribute Profesor director;/* Definicin de relaciones */relationship settiene profesores inverseProfesor::trabaja en;relationship set ofertainverse Curso::ofertado por;};class Curso

(extent cursos key num curso)/* Definicin de atributos */attribute string nombre;attribute string num curso;attribute string descripcion;/* Definicin de relaciones */relationship set tiene edicionesinverse Edicion::de curso;relationship Departamento ofertado por inverse Departamento::oferta;};class Edicion(extent ediciones) {/* Definicin de atributos */attribute short num edic attribute string a~no;attribute enum SemestrefPrimero,Segundog semestre;/* Definicin de relaciones */relationship set estudiantesinverse Calificacion::edicion;relationship Curso de cursoinverse Curso::tiene ediciones;};class EdicionActual extends Edicion(extent ediciones actuales){

/* Definicin de relaciones */relationship set estudiantes matriculadosinverse Estudiante::matriculado;/* Definicin de operaciones */void matricular estudiante(in string dni)raises(estudiante no valido,edicion llena);};

OQL: Permite realizar consultas de modo eficiente sobre bases de datos orientadas a objetos. Basado en SQL-92. La sintaxis bsica de OQL es una estructura SELECT FROM WHERE como en SQL:SELECT d.nombreFROM d in departamentosWHERE d.escuela=Ingeniera; En las consultas se necesita un punto de entrada que es la extensin de una clase. Adems es necesario utilizar una variable iteradora que vaya tomando valores en los objetos de la coleccin. Estas se puede especificar de estas formas:D in departamentosDepartamentos dDepartamentos as dUna consulta no debe seguir la estructura SELECT obligatoriamente, el nombre de cualquier objeto persistente es una consulta de por s: Departamentos; Si se da nombre a un objeto concreto. Por ejemplo: departamentoinf; al departamento de informatica, es devuelve una referencia a ese objeto individual. Entonces cuando se establece un punto de entrada se pueden utilizar expresiones de caminos para especificar un camino a atributos y objetos relacionados. Empieza con un nombre de objeto persistente o una variable iterador, seguida de ninguno o varios nombres de ralciones o de atributos conectados mediante un punto:

Departamentoinf.director;departamentoinf.director.categoria:departamentoinf.tiene_profesores; Una consulta OQL puede devolver un resultado con una estructura compleja especificada en la misma consulta utilizando struct. Ejemplo que muestra los nombres y apellidos de los estudiantes y lo ttulos que tiene cada uno:Select struct(nombre:struct(ape1: e.nombre.apellido1,ape2 e.nombre.apellido2,nom: e.nombre.nombre_pila),titulos:(Select struct(tit: t.titulo,ao: t.ao,esc: t.escuela)From t in e.titulos)From e in departamentoinf.director.tutoriza;OQL es ortogonal respecto a la especificacin de expresiones de caminos: atributos, relaciones y operaciones pueden ser utilizados en estas expresiones, siempre que el sistema de tipos de OQL no se vea comprometido OQL tiene adems otras caractersticas: - Especificacin de vistas dando nombres a consultas. - Obtencin como resultado de un solo elemento. - Uso de operadores de colecciones: funciones agregados y cuantificadores. - Uso de group by.

ConclusinLa Base de Datos Orientada a Objetos pueden ser bases de multimedia como por ejemplo: imgenes, videos y sonidos, la Base de Datos son los mismos datos tradicionales estas bases tienen las caractersticas de todo lo que es orientado a objetos que son Herencia, polimorfismo, abstraccin y encapsulamiento, si recordamos uno de los objetos como ser Herencia es heredar el comportamiento de otro objeto, el polimorfismo puede adaptarse a diferentes maneras de una solicitud de accin tenemos otro elemento para modelar como ser la estructura o vista lgica de la Base de Datos donde utiliza el diafragma de clases que permite presentar sus respectivas relaciones estructurales y de herencia y cuando no est muy claro y preciso como seran las instancias de las clases.Como opinin general cada objeto est asociado con un conjunto variable que contiene datos del objeto, las variables corresponden a los atributos del modelo E-R; un conjunto de mensajes a los que responde, cada mensaje puede o no tener parmetros y por ultimo un conjunto de mtodos es el cdigo que implementa un mensaje. En cuanto al aspecto de la tecnologa son las bases de datos orientados a objetos permiten que mltiples usuarios compartan objetos complejos y los manipulen en un ambiente seguro y estructurado.

Bibliografa

1) http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf2) http://basededatos2010.wikispaces.com/file/view/BD+O-O+ventajas+y+desventajas.pdf3) https://iessanvicente.com/colaboraciones/bdOO.pdf4)http://m.monografias.com/trabajos87/base-datos-orientada-objetos/base-datos-orientada-objetos.shtml

21