Base de Datos Orientada a Objetos

  • 21,069 views
Uploaded on

- Conceptos Básicos …

- Conceptos Básicos
- Características Asociadas a POO
- Definicíon
- Estandar ODMG
- ODL
- OQL
- Características de BDOO
- Ventajas
- Desventajas
- Diferencias

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
21,069
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
668
Comments
1
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Edwar Andrés Ruiz Medina @EdwarRuiz324Andrés Felipe Montoya Ríos re.vu/AndresMontoya @montoya118
  • 2. Conceptos básicos Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas. Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos) 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 métodos ó algunos de los métodos. Herencia múltiple. Cuando una clase hereda de mas de una superclase se tiene herencia múltiple. Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
  • 4. HAY VARIOS TIPOS DE MÉTODOS QUE SON COMUNES A LA MAYORÍA DE LAS CLASES: CONSTRUCTORES: Un constructor es un método 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 método que se utiliza para destruir un objeto. No todos los lenguajes orientados a objetos poseen destructores. ACCESORES: Un accesor es un método 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 método que almacena un nuevo valor en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados. SOBRECARGA DE MÉTODOS: Una de las características de las clases es que pueden tener métodos sobrecargados, que son métodos que tienen el mismo nombre pero que necesitan distintos datos para operar. POLIMORFISMO: En general, las subclases heredan los métodos de sus superclases y los utilizan como si fueran suyos. Sin embargo, en algunas ocasiones no es posible escribir un método genérico que pueda ser usado por todas las subclases.
  • 6.  Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.
  • 7. Características asociadas alPOO Abstracción: consiste en captar las características esenciales de un objeto, así como su comportamiento. Ejemplo. ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc.
  • 8.  Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo 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 características y comportamientos, esto es, las variables y métodos. 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 sólo 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 cómo lo hace.
  • 10. Los SGBDOO son creados gracias a la falta de capacidad semántica del modelo relacional con el propósito de atender nuevos tipos de aplicaciones. o Diseño y fabricación en ingeniería o Bases de datos graficas y de imágenes o Bases de datos científicas o Sistemas de información geográficas o Bases de datos multimedia o Accesos uniforme a sistemas de múltiples bases de datos
  • 11.  Otro motivo para la creación 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 híbridos u objeto–relacionales: 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 relación. 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 relación, un SGBD orientado a objetos puro deberá permitir que el diseñador 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 teoría, una base de datos orientada a objetos debe soportar dos tipos de herencia: la relación ―es un‖ y la relación ―extiende‖. La relación ―es un‖, también se conoce como generalización–especialización, crea una jerarquía donde las subclases son tipos específicos de las superclases. Con la relación ―extiende‖, sin embargo, una clase expande su superclase en lugar de estrecharla en un tipo más específico.
  • 17. El modelo estándar ODMGUn grupo de representantes de la industria de las bases de datos formaron el ODMG (ObjectDatabase Management Group) con el propósito de definir estándares para los SGBD orientados a objetos. Este grupo propuso un modelo estándar para la semántica 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 definición de objetos (ODL). Lenguaje de consulta de objetos (OQL). Conexión con los lenguajes C++, Smalltalk y Java.
  • 18. MODELO DE OBJETOS El modelo de objetos ODMG permite que tanto los diseños, como las implementaciones, sean portables entre los sistemas que lo soportan. Dispone de las siguientes primitivas de modelado: Los componentes básicos 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 interés del mundo real. Los objetos tienen algún 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 aplicación que los ha creado. Estos objetos se usan tanto como almacenamiento temporal como para dar apoyo al programa de aplicación que se está ejecutando. Los objetos persistentes son aquellos que se almacenan en la base de datos.
  • 20. Lenguaje de Definición deObjetos (ODL) ODL es un lenguaje de especificación para definir tipos de objetos para sistemas compatibles con ODMG. ODL es el equivalente del DDL (lenguaje de definición 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 métodos que estos poseen. La sintaxis básica de OQL es una estructura SELECT...FROM...WHERE..., como en SQL. Por ejemplo, la siguiente expresión obtiene los nombres de los departamentos de la escuela de ‗Ingeniería‘: 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 más sencillas que por intermedio del lenguaje OQL Basada en patrones: A la consulta se le da un objeto ‗patrón‘, al cual se le dan las mismas características (dar valor a sus atributos) de losobjetos que se están buscando. La consulta devuelve el conjunto de objetos que tienen dichas características.
  • 23.  Basadas en API: A través métodos de clases especiales, se especifican de forma programática las restricciones que deben cumplir los datos a consultar. Consultas nativas: Se crean nuevas clases en las cuales se programan los condicionales que se usarán durante la consulta.
  • 24. REGLAS DE ORO PARA QUE UNA BD SEA OO
  • 25. CARACTERÍSTICAS DE BDOOSe intenta definir un sistema de BDOO y describe las principales características 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 Recuperación.- Cuando se hace una transacción pero no se puede realizar y se regresa al mismo estado.o Facilidad de "Consultas a Modo".- Esto es que se tienen diferentes estándares.
  • 26.  OPCIONAL: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son mandatorias,o Herencia Múltiple: Tienen características de padres diferentes y proporcionan mecanismos para saber de 2 o más opciones cual conviene.o Distribución: Que se puede tener parte de una BD en un servidor y otra parte en otro.o Sistema de Representación: Forma en cómo se presentan los esquemas.
  • 27.  ABIERTAS: Son los puntos donde el diseñador puede hacer un número de opciones y estas son el paradigma de la programación, la representación 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 más expresivo:o El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en un SGBDOO. Mientras que SQL utiliza el acceso asociativo.o El acceso navegacional es más adecuado para gestionar operaciones como los despieces, consultas recursivas, etc. Adecuación 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 ningún modelo de datos que esté universalmente aceptado para los SGBDOO y la mayoría de los modelos carecen una base teórica. Carencia de experiencia.o Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales. Carencia de estándares.o Existe una carencia de estándares 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 estándar aprobado y ODBC es un estándar de facto. Además, el modelo relacional tiene una sólida base teórica y los productos relacionales disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios finales. La optimización de consultas compromete la encapsulación.o La optimización de consultas requiere una compresión de la implementación de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulación. El modelo de objetos aún no tiene una teoría matemática 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 programación. Desarrollo bajo Sistemas Relacionales:o Modelo conceptual de datos — modelo lógico Eficientes para aplicaciones tradicionales de negocios.
  • 33. SGBD Orientados a objetos Gestionan objetos en los cuales están encapsulados los datos y las operaciones que actúan 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 más complejas. Característica clave: poder que dan al diseñador de la base de datos tanto para especificar la estructura de los objetos complejos como las operaciones que se pueden aplicar a estos objetos.