Está en la página 1de 11

Base de datos orientada a objetos

Saltar a: navegacin, bsqueda


Este artculo o seccin necesita referencias que aparezcan en una publicacin
acreditada, como revistas especializadas, monografas, prensa diaria o pginas de
Internet fidedignas.
Puedes aadirlas as o avisar al autor principal del artculo en su pgina de discusin pegando:
{{subst:Aviso referencias|Base de datos orientada a objetos}} ~~~~

En una base de datos orientada a objetos, la informacin se representa mediante objetos


como los presentes en la programacin orientada a objetos. Cuando se integra las
caractersticas de una base de datos con las de un lenguaje de programacin orientado a
objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS,
object database management system). Un ODBMS hace que los objetos de la base de datos
aparezcan como objetos de un lenguaje de programacin en uno o ms lenguajes de
programacin a los que d soporte. Un ODBMS extiende los lenguajes con datos
persistentes de forma transparente, control de concurrencia, recuperacin de datos,
consultas asociativas y otras capacidades.
Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con
lenguajes de programacin orientados a objetos como Java, C#, Visual Basic.NET y C++.
Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programacin.
Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un buen
rendimiento en la manipulacin de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo ms bajos y el mejor rendimiento
cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integracin
transparente con el programa escrito en un lenguaje de programacin orientado a objetos, al
almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los
costes de desarrollo y mantenimiento.

Historia
Los orgenes del trmino orientados a objetos (abreviado OO) se remontan a los lenguajes
de programacin orientadas a objetos. Los lenguajes de programacin OO tienen sus races
en el lenguaje SIMULA 67, propuesto a finales de la dcada de 1960. En Simula, el
concepto de clase agrupa la estructura de datos interna de un objeto en una declaracin de
clase, es decir, introduce en el lenguaje Algol los conceptos de objeto y de clase. Como
Algol, Simula es un lenguaje fuertemente tipado para entornos compilados. Sin embargo, el
primer lenguaje que populariz la aproximacin a objetos fue Smalltalk (1976); este puede
considerarse una sntesis de aos del lenguaje Lisp, que ofrece una gran flexibilidad gracias
a la interpretacin, y de Simula, aadiendo el concepto de metaclase. Smalltalk ha podido
responder a las necesidades de flexibilidad presentadas por el desarrollo de entornos de

programacin grficos, favoreciendo la rpida creacin de prototipos de interfaces de


usuarios amigables. Fue utilizado con xito en la primera estacin grfica de Xerox.
Con la llegada de las estaciones de trabajo en los aos 80, han crecido numerosos lenguajes
orientados a objetos inspirados en Simula o Smalltalk. Entre los lenguajes compilados, los
ms celebres son C++, Objective C y Eiffel, debido a la compatibilidad del lenguaje o del
cdigo producido con el lenguaje de programacin C. La mayor parte de los lenguajes
interpretados son extensiones del Lisp; por ejemplo, Loops y CLOS. Es interesante notar
que la mayor parte de los lenguajes populares existentes se encuentran en curso de
ampliacin para convertirse en orientados a objetos, incluyendo al Cobol y Ada (ms
exactamente Ada 9X, que aporta la herencia).
En aos recientes, han aparecido muchos prototipos experimentales y sistemas de bases de
datos comerciales orientados a objetos. Entre los primeros se encuentran los sistemas
ORION, OpenOODB, IRIS, ODE y el proyecto ENCORE/ObServer. Y entre los
sistemas disponibles en el mercado estn: GEMSTONE/OPAL de ServicLogic, ONTOS
de Ontologic, Objectivity de Objectivity Inc., Versant de Versant Technologies,
ObjecStore de Object Design y O2 de O2 Technology. Esta es solo una lista parcial de los
prototipos experimentales y de los sistemas de bases de datos comerciales orientados a
objetos. Desafortunadamente, es an demasiado pronto para saber cules sistemas se
instalarn como lderes en este campo.
Las bases de datos orientados a objetos han adoptado muchos de los objetos creados para
los lenguajes de programacin orientados a objetos

Base de Datos Orientada a Objetos Presentation


Transcript

1. Edwar Andrs Ruiz Medina @EdwarRuiz324Andrs Felipe Montoya Ros


re.vu/AndresMontoya @montoya118

2. Conceptos bsicos Clase: definiciones de las propiedades y comportamiento de


un tipo de objeto concreto. La instanciacin es la lectura de estas definiciones y la
creacin de un objeto a partir de ellas. Objeto: entidad provista de un conjunto de
propiedades o atributos (datos) y de comportamiento o funcionalidad (mtodos) los
mismos que consecuentemente reaccionan a eventos. Se corresponde con los
objetos reales del mundo que nos rodea, o a objetos internos del sistema (del
programa). Es una instancia a una clase.

3. Herencia simple: 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 mas de una superclase se tiene herencia mltiple. Mtodo: Algoritmo asociado
a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la
recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el

objeto puede hacer. Un mtodo puede producir un cambio en las propiedades del
objeto, o la generacin de un "evento" con un nuevo mensaje para otro objeto del
sistema.

4. 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.

5. 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. SOBRECARGA DE MTODOS: Una de las caractersticas de las
clases es que pueden tener mtodos sobrecargados, que son mtodos que tienen el
mismo nombre pero que necesitan distintos datos para operar. 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.

6. Evento: Es un suceso en el sistema (tal como una interaccin del usuario con
la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. Tambin se puede definir como
evento, a la reaccin que puede desencadenar un objeto, es decir la accin que
genera.

7. Caractersticas asociadas alPOO Abstraccin: consiste en captar las


caractersticas esenciales de un objeto, as como su comportamiento. Ejemplo. Qu
caractersticas semejantes tienen todos los automviles? Todos tendrn una marca,
un modelo, nmero de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su
comportamiento todos los automviles podrn acelerar, frenar, retroceder, etc.

8. Ocultamiento: Es la capacidad de ocultar los detalles internos del


comportamiento de una Clase y exponer slo los detalles que sean necesarios para
el resto del sistema. El ocultamiento permite 2 cosas: restringir y controlar el uso de
la Clase.

9. Encapsulamiento: Consiste en unir en la Clase las caractersticas y


comportamientos, esto es, las variables y mtodos. Es tener todo esto es una sola
entidad. La utilidad del encapsulamiento va por la facilidad para manejar la
complejidad, ya que tendremos a las Clases como cajas negras donde slo se conoce

el comportamiento pero no los detalles internos, y esto es conveniente porque nos


interesar ser conocer qu hace la Clase pero no ser necesario saber cmo lo hace.

10. Los SGBDOO son creados gracias a la falta de capacidad semntica del modelo
relacional con el propsito de atender nuevos tipos de aplicaciones. o Diseo y
fabricacin en ingeniera o Bases de datos graficas y de imgenes o Bases de datos
cientficas o Sistemas de informacin geogrficas o Bases de datos multimedia o
Accesos uniforme a sistemas de mltiples bases de datos

11. Otro motivo para la creacin de las bases de datos orientadas a objetos es el
creciente uso de los lenguajes orientados a objetos para el desarrollo de
aplicaciones.

12. Los objetos han entrado en el mundo de las bases de datos de formas: SGBD
orientados a objetos puros: son SGBD basados completamente en el modelo
orientado a objetos. SGBD hbridos u objetorelacionales: son SGBD
relacionales que permiten almacenar objetos en sus relaciones (tablas).

13. Relaciones Las bases de datos relacionales representan las relaciones


mediante las claves ajenas. las bases de datos orientadas a objetos implementan
sus relaciones incluyendo en cada objeto los identificadores de los objetos con los
que se relaciona. Un identificador de objeto es un atributo interno que posee cada
objeto. Ni los programadores, ni los usuarios que realizan consultas de forma
interactiva, ven o manipulan estos identificadores directamente. Los identificadores
de los objetos los asigna el SGBD y es el nico que los utiliza.

14. Integridad de las relaciones Para que las relaciones funcionen en una base de
datos orientada a objetos pura, los identificadores de los objetos deben
corresponderse en ambos extremos de la relacin. La clase Aparejador tiene un
atributo de tipo conjunto llamado supervisa. Del mismo modo, la clase Obra tiene
un atributo llamado es supervisada. Para garantizar la integridad de esta relacin, un
SGBD orientado a objetos puro deber permitir que el diseador de la base de datos
pueda especificar donde debe aparecer el identificador del objeto inverso

15. Ejemplo de relaciones relationship set<Obra> supervisa inverse Obra::es


supervisada en la clase Aparejador y: relationshipAparejador es supervisada
inverse Aparejador::supervisa

16. HERENCIA EN BDOOEn teora, una base de datos orientada a objetos debe
soportar dos tipos de herencia: la relacin es un y la relacin extiende. La
relacin es un, tambin se conoce como generalizacinespecializacin, crea una
jerarqua donde las subclases son tipos especficos de las superclases. Con la
relacin extiende, sin embargo, una clase expande su superclase en lugar de
estrecharla en un tipo ms especfico.

17. El modelo estndar ODMGUn grupo de representantes de la industria de las


bases de datos formaron el ODMG (ObjectDatabase Management Group) con el
propsito de definir estndares para los SGBD orientados a objetos. Este grupo
propuso un modelo estndar para la semntica de los objetos de una base de
datos.Los principales componentes de la arquitectura ODMG para un SGBD
orientado a objetos son los siguientes: Modelo de objetos. Lenguaje de
definicin de objetos (ODL). Lenguaje de consulta de objetos (OQL).
Conexin con los lenguajes C++, Smalltalk y Java.

18. MODELO DE OBJETOS El modelo de objetos ODMG permite que tanto los
diseos, como las implementaciones, sean portables entre los sistemas que lo
soportan. Dispone de las siguientes primitivas de modelado: Los componentes
bsicos de una base de datos orientada a objetos son los objetos y los literales: Un
objeto es una instancia auto contenida de una entidad de inters del mundo real. Los
objetos tienen algn tipo de identificador nico. Un literal es un valor especifico,
como Amparo o 36. Los literales no tienen identificadores.

19. Los objetos pueden ser transitorios o persistentes. Los objetos transitorios
existen mientras vive el programa de aplicacin que los ha creado. Estos objetos se
usan tanto como almacenamiento temporal como para dar apoyo al programa de
aplicacin que se est ejecutando. Los objetos persistentes son aquellos que se
almacenan en la base de datos.

20. Lenguaje de Definicin deObjetos (ODL) ODL es un lenguaje de


especificacin para definir tipos de objetos para sistemas compatibles con ODMG.
ODL es el equivalente del DDL (lenguaje de definicin de datos) de los SGBD
tradicionales. Define los atributos y las relaciones entre tipos, y especifica la
signatura de las operaciones.

21. Lenguaje de Consulta de Objetos(OQL) OQL es un lenguaje declarativo del


tipo de SQL que permite realizar consultas de modo eficiente sobre bases de datos
orientadas a objetos. OQL no posee primitivas para modificar el estado de los
objetos ya que las modificaciones se pueden realizar mediante los mtodos que
estos poseen. La sintaxis bsica de OQL es una estructura
SELECT...FROM...WHERE..., como en SQL. Por ejemplo, la siguiente
expresin obtiene los nombres de los departamentos de la escuela de Ingeniera:
SELECT D. Nombre FROM d in departamentos WHERE D. Escuela = `Ingenieria;

22. Existen otras maneras de realizar consultas en las bases de datos orientadas a
objetos que pueden llegar a resultar ms sencillas que por intermedio del lenguaje
OQL Basada en patrones: A la consulta se le da un objeto patrn, al cual se le
dan las mismas caractersticas (dar valor a sus atributos) de losobjetos que se estn
buscando. La consulta devuelve el conjunto de objetos que tienen dichas
caractersticas.

23. Basadas en API: A travs mtodos de clases especiales, se especifican de


forma programtica las restricciones que deben cumplir los datos a consultar.
Consultas nativas: Se crean nuevas clases en las cuales se programan los
condicionales que se usarn durante la consulta.

24. REGLAS DE ORO PARA QUE UNA BD SEA OO

25. CARACTERSTICAS DE BDOOSe 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 BDOOo
Extensibilidad.- Proporciona los tipos de datos como: Caracter, booleano, String,
etc.o Concurrencia.- Permite que varios usuarios tengan acceso a una BD al mismo
tiempo.o Recuperacin.- Cuando se hace una transaccin pero no se puede realizar
y se regresa al mismo estado.o Facilidad de "Consultas a Modo".- Esto es que se
tienen diferentes estndares.

26. OPCIONAL: Son las que pueden ser aadidas para hacer el sistema mejor
pero que no son mandatorias,o Herencia Mltiple: Tienen caractersticas de padres
diferentes y proporcionan mecanismos para saber de 2 o ms opciones cual
conviene.o Distribucin: Que se puede tener parte de una BD en un servidor y otra
parte en otro.o Sistema de Representacin: Forma en cmo se presentan los
esquemas.

27. 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.

28. Ventajas de los SGBDOO Mayor capacidad de modelado:o Un objeto permite


encapsular tanto un estado como un comportamiento.o Un objeto puede almacenar
todas las relaciones que tenga con otros objetos.o Los objetos pueden agruparse
para formar objetos complejos (herencia). Aplicabilidad:o Se pueden construir
nuevos tipos de datos a partir de los ya existenteso Agrupar propiedades comunes de
diversas clases e incluirlas en una superclase, lo que reduce la redundancia.o
Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y
un menor tiempo de desarrollo.

29. Lenguaje de consulta ms expresivo:o El acceso navegacional desde un


objeto al siguiente es la forma ms comn de acceso a datos en un SGBDOO.
Mientras que SQL utiliza el acceso asociativo.o El acceso navegacional es ms
adecuado para gestionar operaciones como los despieces, consultas recursivas,
etc. Adecuacin a las aplicaciones avanzadas de base de datos.o Hay muchas
reas en las que los SGBD tradicionales no han tenido excesivo xito como el CAD,
CASE, OIS, sistemas multimedia, etc. en los que las capacidades de modelado de
los SGBDOO han hecho que esos sistemas s resulten efectivos para este tipo de

aplicaciones. Mayores prestaciones.o Los SGBDOO proporcionan mejoras


significativas de rendimiento con respecto a los SGBD relacionales.

30. DESVENTAJAS DE LOS SGBDOO Carencia de un modelo de datos


universal.o No hay ningn modelo de datos que est universalmente aceptado para
los SGBDOO y la mayora de los modelos carecen una base terica. Carencia de
experiencia.o Todava no se dispone del nivel de experiencia del que se dispone
para los sistemas tradicionales. Carencia de estndares.o Existe una carencia de
estndares general para los SGBDOO.

31. Competencia. Con respecto a los SGBDR y los SGBDOR.o Estos productos
tienen una experiencia de uso considerable. SQL es un estndar aprobado y ODBC
es un estndar de facto. Adems, el modelo relacional tiene una slida base terica y
los productos relacionales disponen de muchas herramientas de soporte que sirven
tanto para desarrolladores como para usuarios finales. La optimizacin de
consultas compromete la encapsulacin.o La optimizacin de consultas requiere una
compresin de la implementacin de los objetos, para poder acceder a la base de
datos de manera eficiente. Sin embargo, esto compromete el concepto de
encapsulacin. El modelo de objetos an no tiene una teora matemtica
coherente que le sirva de base.

32. DIFERENCIA ENTRE EL MODELODE OBJETOS Y EL


MODELORELACIONALSGBD Relacionales Los datos residen en la base de
datos y los procesos se encuentran en las aplicaciones desarrolladas mediante el
lenguaje de datos asociado al SGBD(SQL) inmerso en un lenguaje de
programacin. Desarrollo bajo Sistemas Relacionales:o Modelo conceptual de
datos modelo lgico Eficientes para aplicaciones tradicionales de negocios.

33. SGBD Orientados a objetos Gestionan objetos en los cuales estn


encapsulados los datos y las operaciones que actan sobre ellos. Desarrollo bajo
SGBDOO: un nico modelo subyacente, implementado en el SGBBOO, al que
pueden acceder directamente las aplicaciones. Intentan satisfacer necesidades de
aplicaciones ms complejas. Caracterstica clave: poder que dan al diseador de
la base de datos tanto para especificar la estructura de los objetos complejos como
las

operaciones que se pueden aplicar a estos objetos.

También podría gustarte