28
BASES DE DATOS BASES DE DATOS ORIENTADA A OBJETOS ORIENTADA A OBJETOS GRUPO:2 GRUPO:2

BASES DE DATOS ORIENTADA A OBJETOS TEMA1.ppt

Embed Size (px)

Citation preview

Page 1: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

BASES DE DATOS BASES DE DATOS ORIENTADA A OBJETOSORIENTADA A OBJETOS

GRUPO:2GRUPO:2

Page 2: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

Clase:Clase: definiciones de las definiciones de las propiedades y comportamiento propiedades y comportamiento de un tipo de objeto concreto. de un tipo de objeto concreto. La instanciación es la lectura La instanciación es la lectura de estas definiciones y la de estas definiciones y la creación de un objeto a partir creación de un objeto a partir de ellas.de ellas.

Page 3: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.- Entidad provista de un conjunto de Entidad provista de un conjunto de

propiedades o atributos (datos) y de propiedades o atributos (datos) y de comportamiento o funcionalidad comportamiento o funcionalidad (métodos) los mismo a que (métodos) los mismo a que consecuentemente reaccionan a eventos. consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del Se corresponde con los objetos reales del mundo que nos rodea, o a objetos mundo que nos rodea, o a objetos internos del sistema (del programa). Es internos del sistema (del programa). Es una instancia a una clase.una instancia a una clase.

Page 4: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

Herencia SimpleHerencia Simple: Una clase implanta : Una clase implanta el tipo de objeto. Una Subclase hereda el tipo de objeto. Una Subclase hereda propiedades de su clase padre, una propiedades de su clase padre, una subclase puede heredar la estructura y subclase puede heredar la estructura y los métodos o algunos de los métodos.los métodos o algunos de los métodos.

Herencia Múltiple. Cuando una Herencia Múltiple. Cuando una clase hereda de mas de una clase hereda de mas de una superclase se tiene herencia superclase se tiene herencia múltiple.múltiple.

Page 5: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.- MétodoMé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.

Page 6: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

Constructores : Constructores : Un constructor es un Un constructor es un método que tiene el mismo nombre método que tiene el mismo nombre que la clase. Se ejecuta cuando se crea que la clase. Se ejecuta cuando se crea un objeto de una clase. Por lo tanto, un un objeto de una clase. Por lo tanto, un constructor contiene instrucciones para constructor contiene instrucciones para inicializar las variables de un objeto.inicializar las variables de un objeto.

Destructores:Destructores: Un destructor es un Un destructor es un método que se utiliza para destruir un método que se utiliza para destruir un objeto.objeto.

Page 7: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

No todos los lenguajes orientados a objetos poseen destructores.

ACCESORES: 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.

Page 8: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

MUTADORES: MUTADORES: Un matador es un método que almacena un nuevo valor en un atributo.

SOBRECARGA DE METODOS: SOBRECARGA DE METODOS: Una de Una de las características de las clases es que las características de las clases es que pueden tener métodos sobrecargados, pueden tener métodos sobrecargados, que son métodos que tienen el mismo que son métodos que tienen el mismo nombre pero que necesitan distintos nombre pero que necesitan distintos datos para operar.datos para operar.

Page 9: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

POLIMORFISMO: 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.

Page 10: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Conceptos Básicos.-Conceptos Básicos.-

Evento: Evento: Es un suceso en el sistema(tal como una interacción del usuario con la maquina, 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.

Page 11: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Características Asociadas a la Características Asociadas a la POO.POO. AbstracciónAbstracción.- .- Consiste en captar las

características esenciales de un objeto, así como su comportamiento.

Ejemplo. Que características semejantes tienen todos los

automóviles?. Todos tendrán una marca, un modelo, numero de

chasis, peso, llantas, puertas , ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc.

Page 12: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Características Asociadas a la Características Asociadas a la POO.POO.

Ocultamiento: Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer solo los detalles que sean necesarios para el resto del sistema.

El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase.

Page 13: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Características Asociadas a la Características Asociadas a la POO.POO.

Encapsulamiento: 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 La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a para manejar la complejidad, ya que tendremos a las clases como cajas negras donde solo se conoce las clases como cajas negras donde solo se conoce el comportamiento pero no los detalles internos, y el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesara será esto es conveniente porque nos interesara será conocer que hace la clase pero no será necesario conocer que hace la clase pero no será necesario saber como lo hace.saber como lo hace.

Page 14: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Los SGBDOO.Los SGBDOO. Los SGBDOO Los SGBDOO son creados gracias a la falta de son creados gracias a la falta de

capacidad semántica del modelo relacional con el capacidad semántica del modelo relacional con el propósito de atender nuevos tipos de aplicaciones.propósito de atender nuevos tipos de aplicaciones.– Diseño y Fabricación en Ingeniería.Diseño y Fabricación en Ingeniería.– Bases de datos graficas y de imágenes.Bases de datos graficas y de imágenes.– Bases de Datos Científicas.Bases de Datos Científicas.– Sistemas de Información Geográfica.Sistemas de Información Geográfica.– Bases de Datos Multimedia.Bases de Datos Multimedia.– Accesos Uniforme a Sistemas de Múltiples Bases Accesos Uniforme a Sistemas de Múltiples Bases

de Datos.de Datos.

Page 15: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Los SGBDOO.Los SGBDOO.

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

Page 16: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Los SGBDOO.Los SGBDOO. Los objetos han encontrado en el mundo Los objetos han encontrado en el mundo

de las bases de datos de formas:de las bases de datos de formas: SGBD orientados a objetos puros: son SGBD orientados a objetos puros: son

SGBD basados completamente en el SGBD basados completamente en el modelo orientado a objetos.modelo orientado a objetos.

SGBD híbridos u objeto-relacionales: son SGBD híbridos u objeto-relacionales: son SGBD relacionales que permiten SGBD relacionales que permiten almacenar objetos en sus relaciones almacenar objetos en sus relaciones (tablas).(tablas).

Page 17: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Relaciones.-Relaciones.- Las Bases de Datos Relacionales representan las Las Bases de Datos Relacionales representan las

relaciones mediante las claves ajenas.relaciones mediante las claves ajenas. Las Bases de datos orientadas a objetos Las Bases de datos orientadas a objetos

implementan sus relaciones incluyendo en cada implementan sus relaciones incluyendo en cada objeto los identificadores de los objetos con los que objeto los identificadores de los objetos con los que se relaciona. Un identificador de objeto. Ni los se relaciona. Un identificador de objeto. Ni los programadores, ni los usuarios que realizan programadores, ni los usuarios que realizan consultas de forma interactiva, ven o manipulan consultas de forma interactiva, ven o manipulan estos identificadores directamente. Los estos identificadores directamente. Los identificadores de los objetos los asigna el SGBD y es identificadores de los objetos los asigna el SGBD y es el único que los utiliza.el único que los utiliza.

Page 18: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Integridad de las Integridad de las Relaciones.-Relaciones.-

Para que las relaciones funcionen en una base de Para que las relaciones funcionen en una base de datos orientada a objetos pura, los identificadores de datos orientada a objetos pura, los identificadores de los objetos deben corresponderse en ambos extremos los objetos deben corresponderse en ambos extremos de la relación.de la relación.

La clase Aparejador tiene un atributo de tipo conjunto La clase Aparejador tiene un atributo de tipo conjunto llamado supervisa. Del mismo modo, la clase Obra llamado supervisa. Del mismo modo, la clase Obra tiene un atributo llamado es supervisada. Para tiene un atributo llamado es supervisada. Para garantizar la integridad de esta relación, un SGBD garantizar la integridad de esta relación, un SGBD orientado a objetos puro deberá permitir que el orientado a objetos puro deberá permitir que el diseñador de la base de datos pueda especificar donde diseñador de la base de datos pueda especificar donde debe aparecer el identificador del objeto inverso.debe aparecer el identificador del objeto inverso.

Page 19: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Ejemplo de Relaciones.-Ejemplo de Relaciones.-

Relationship set<Obra> supervisaRelationship set<Obra> supervisa Inverse Obra :: es supervisadaInverse Obra :: es supervisada En la clase Aparejador y:En la clase Aparejador y: relationshipAparejador es supervisadarelationshipAparejador es supervisada Inverse Aparejador::supervisaInverse Aparejador::supervisa

Page 20: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

HERENCIA EN BDOO.HERENCIA EN BDOO.

En teoría, una base de datos orientada a En teoría, una base de datos orientada a objetos debe soportar dos tipos de herencia: objetos debe soportar dos tipos de herencia: la relación “es un” y la relación “extiende”.la relación “es un” y la relación “extiende”.

La Relación “es un” también se conoce La Relación “es un” también se conoce como generalización - especialización, crea como generalización - especialización, crea una jerarquía donde las subclases son tipos una jerarquía donde las subclases son tipos específicos de las superclases.específicos de las superclases.

Con la relación ”extiende”, sin embargo, una Con la relación ”extiende”, sin embargo, una clase expande su superclase en lugar de clase expande su superclase en lugar de estrecharla en un tipo mas especifico.estrecharla en un tipo mas especifico.

Page 21: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Modelo de ObjetosModelo de Objetos

El modelo de objetos ODMG permite El modelo de objetos ODMG permite que tanto los diseños, como las que tanto los diseños, como las implementaciones, sean portables implementaciones, sean portables entre los sistemas que lo soportan. entre los sistemas que lo soportan. Dispone de las siguientes primitivas Dispone de las siguientes primitivas de modelado.de modelado.

Los componentes básicos de una base Los componentes básicos de una base de datos orientada a objetos son los de datos orientada a objetos son los objetos y los literales:objetos y los literales:

Page 22: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Modelo de ObjetoModelo de Objeto

Un objeto es una instancia auto Un objeto es una instancia auto contenida de una entidad de contenida de una entidad de interés del mundo real. Los objetos interés del mundo real. Los objetos tienen algún tipo de identificador tienen algún tipo de identificador único.único.

Un literal es un valor especifico, Un literal es un valor especifico, como “Amparo “ o 36. Los literales como “Amparo “ o 36. Los literales no tienen identificadores.no tienen identificadores.

Page 23: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Modelo de ObjetoModelo de Objeto Los objetos pueden ser transitorios o Los objetos pueden ser transitorios o

persistentes.persistentes.– Los objetos transitorios existen mientras vive Los objetos transitorios existen mientras vive

el programa de aplicación que los ha creado.el programa de aplicación que los ha creado.– Estos objetos se usan tanto como Estos objetos se usan tanto como

almacenamiento temporal como para dar almacenamiento temporal como para dar apoyo al programa de aplicación que se esta apoyo al programa de aplicación que se esta ejecutando.ejecutando.

– Los objetos persistentes son aquellos que se Los objetos persistentes son aquellos que se almacenan en la base de datos.almacenan en la base de datos.

Page 24: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Lenguaje de Definición de Lenguaje de Definición de Objetos (ODL)Objetos (ODL)

ODL es un lenguaje de especificacion ODL es un lenguaje de especificacion para definir tipos de objetos para para definir tipos de objetos para sistemas compatibles con ODMG. ODL sistemas compatibles con ODMG. ODL es el equivalente del DDL(lenguaje de es el equivalente del DDL(lenguaje de definición de datos) de los SGBD definición de datos) de los SGBD tradicionales.tradicionales.

Define los atributos y las relaciones Define los atributos y las relaciones entre tipos, y especifica la signatura entre tipos, y especifica la signatura de las operaciones.de las operaciones.

Page 25: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Lenguaje de Definición de Lenguaje de Definición de Objetos (ODL)Objetos (ODL)

Page 26: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Lenguaje de Definición de Lenguaje de Definición de Objetos (ODL)Objetos (ODL)

Page 27: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Lenguaje de Definición de Lenguaje de Definición de Objetos (ODL)Objetos (ODL)

Page 28: BASES DE DATOS ORIENTADA  A OBJETOS TEMA1.ppt

Lenguaje de Consulta de Lenguaje de Consulta de Objetos (OQL)Objetos (OQL)

OQL es un lenguaje declarativo del tipo de OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas de modo SQL que permite realizar consultas de modo eficiente sobre bases de datos orientadas a eficiente sobre bases de datos orientadas a objetos.objetos.

OQL no posee primitivas para modificar el OQL no posee primitivas para modificar el estado de los objetos ya que las estado de los objetos ya que las modificaciones se pueden realizar mediante modificaciones se pueden realizar mediante los métodos que estos poseen.los métodos que estos poseen.

La sintaxis básica de OQL es una estructura La sintaxis básica de OQL es una estructura SELECT…FROM….WHERE.., como en SQL.SELECT…FROM….WHERE.., como en SQL.