Você está na página 1de 11

1.1 Bases de datos orientadas a objetos.

Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de las aplicaciones ms complejas. El enfoque orientado a objetos ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de consulta disponibles en los sistemas de bases de datos tradicionales. Como cualquier Bases de Datos programables, una Base de Datos Orientada a Objetos (BDOO) proporciona un ambiente para el desarrollo de aplicaciones y un depsito persistente listo para su explotacin. Una BDOO almacena y manipula informacin que puede ser digitalizada (presentada) como objetos, adems proporciona un acceso gil y permite una gran capacidad de manipulacin. Los principales conceptos que se utilizan en las Bases de Datos Orientada a Objetos (BDOO) son las siguientes: 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. BDOO Est diseada para simplificar la POO almacena objetos directamente en la base de datos empleando las mismas estructuras que leguajes de programacin. SGBOO Es un sistema de objetos y un sistema de base de datos que almacena objetos permitiendo la concurrencia y recuperacin. Pueden tratar directamente con los objetos sin hacer la traduccin a tablas registros, para los programadores de aplicacin (general o especfica) los objetos se conservan en su forma y tamao pueden compartirse con mltiples usuarios. Niveles de abstraccin Interno.- Como se van a guardar los objetos (disco duro)

Conceptual.- Como guardar la estructura Externo.- Lo que vamos a mostrar al usuario (interfaz) Consideraremos el problema de almacenar un coche en el garaje en un sistema de objetos, el coche es un objeto, el garaje es un objeto y hay una operacin simple que es almacena el coche en el garaje. En el sistema relacional todos los datos se traducen en tablas, entonces el coche debe de ser desarmado, las llantas se colocan en un lugar, los birlos en otro lugar, por la maana antes de salir hay que componer el coche antes de conducir. Aplicaciones de la BDOO

Diseo asistido por computadora CAD Fabricacin asistida por computadora CAM Ingeniera de software asistido por computadora CASE Sistemas de gestin de red Sistemas de informacin de oficina y sistemas multimedia OIS Sistema autoedicin digital Sistemas de informacin geogrfica GIS Sistemas Web interactivos dinmicos

1.1.1 Definicin y conceptos de las BDOO.

Los conceptos asociados a la OO en una BD son: Polimorfismo Abstraccion Herencia Encapsulamiento Metodos Metodos de informacion Identidades objetos y atributos Mensajes Clases Modelo de datos orientado a objetos (OODM) CAM Objeto Entidad Atributo Atributo Asociacin Relacin Mensaje Clase Tipo/entidad Instancia Entidad Propiedades de un sistema gestor orientado a objetos SGDBOO Persistencia.- es una propiedad muy importante en un Sistema operativo moderno al eliminar la dualidad de tratamiento del almacenamiento a corto y a largo plazo,

inclusin de la persistencia dentro del SO. Puede servir como base para un desarrollo ms fcil e integrado de otras herramientas como sistemas de gestin de BDOO. Dependiendo del numero de operaciones debe de estar actualizndose a los objetos, propiedad por la cual puede sobrevivir durante el tiempo que sea requerida, en la persistencia completa todos los objetos son persistentes siempre no es necesario indicar de manera especifica cuales son los objetos persistentes. Concurrencia.- donde los objetos llevan acciones que pueden comportarse como servidores ante la peticin de otros que asumen el papel de clientes, se intenta alcanzar la mxima concurrencia garantizando siempre las correcciones de las operaciones que se efecten y con ello la consistencia en el estado del objeto. Control de acceso.- cada objeto individualmente decide quien puede acceder a el y quien no, adems el acceso se permite en funcin de la clasificacin del objeto y del tipo de sujeto que quiere acceder al mismo. Procesamiento de consultas Ad Hoc.- utilizando el propio lenguaje LPOO para consultar a la BDOO, permite al usuario hacer cuestiones sencillas a la BD, este tipo de consultas tiene como objetivo proporcionar la informacin solicitada por el usuario de una forma correcta y rpida.

1.1.1.1

El modelo de datos orientado a objetos.

BASE DE DATOS ORIENTADA A OBJETOS

A finales de los 18s empezaron las primeras bases de datos orientadas a objetos, es inteligente soporta el paradigma orientado objetos almacenando datos y mtodos. Est diseada para ser eficaz, desde el punto de vista fsico para almacenar objetos complejos. Evita el acceso de datos esto es mediante mtodos almacenados en ellas es ms segura que permite tener acceso alos datos debido que para poder entrar se tiene que acceder por los mtodos que haya utilizado el programador. 54

CARACTERISTICAS DE UN SMBD Persistencia (conservacin de datos) Concurrencia (muchos usuarios) Recuperacin (mantener en estado la Base de Datos) Gestin de almacn

Facilidad de consulta

CARACTERISTICAS DE O.O. Abstraccin (denota caractersticas esenciales) Encapsulamiento (oculta secretos del objeto) Clases o tipos (mismo comportamiento) Modularidad (abstracciones con cierta relacin) Jerarqua (orden de abstraccin )

DISEO DE B.D.O.O rea de ventas Ejemplo Venta de ropa: Objeto: Ropa Herencia: Modelo de la Ropa Instancia: Los datos que se encuentran en la nota de remisin que se crea cuando se vende la ropa Clase: Marca de la ropa, a que marca reconocida pertenece Polimorfismo: Tipo de venta, Tipo de Nota, Tipo de pago Abstraccin: Los datos necesarios para crear la nota de remisin de la venta de ropa Encapsulamiento: La talla, en algunas ocasiones no se especifica ya que se clasifica en Chica, Mediana, Grande y por lo cual no se sabe que numeracin es UNA TONTERIA!!!!!!!!!!!!!!

1.1.2 El estndar ODMG.

MODELO ODGM Object DataBase Management Group El modelo ODGM permite que como tanto los diseos como las implementaciones sean portables entre los sistemas que soportan.

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 intereses del mundo real. Los objetos tienen algn tipo de identificador nico. Un literal es un valor especfico como amparo. Los literales no tienen identificadores un literal puede ser una estructura o un conjunto de valores relacionados que se guardan bajo un solo nombre.

ODL (Lenguaje de definicin de datos) Es el lenguaje de definicin de datos en SGDDO (sistema de gestin de base de datos orientado a objetos) es empleado para facilitar la portabilidad de los esquemas de las bases de datos. Intenta definir tipos de datos que pueden implementarse en diversos lenguajes de programacin.

OML (Lenguaje de manipulacin de datos) El lenguaje de programacin es empleado para la elaboracin de programas que permitan crear, modificar y eliminar datos que constituyen una base de datos.

OQL (lenguaje de consulta de datos) Es una serie de comandos que tiene una sintaxis aplicada a SQL para realizar consultas a una base de datos.

1.1.3 Encapsulamiento, herencia y polimorfismo en BDOO.

Encapsulamiento

El encapsulamiento se centra en la implementacin que da lugar alcomportamiento observable de un objeto. El encapsulamiento se consigue amenudo mediante la ocultacin de informacin, es decir, se basa en ocultar todoslos secretos de un objeto que no contribuyen a sus caractersticas esenciales. Elencapsulamiento proporciona, por tanto, barreras explcitas entre abstraccionesdiferentes. Existen dos visiones diferentes del encapsulamiento [ATK89], laprimera y original que es la del lenguaje de programacin; y la segunda que es laadaptacin de esa visin para la base de datos.

Desde el punto de vista de las bases de datos, esto se traduce en el hecho de que unobjeto abarca operaciones y datos, pero con una diferencia. En las bases de datosno est claro si la parte estructural es parte de la interfaz (depende del sistema),mientras que en los lenguajes de programacin la estructura de datos esclaramente parte de la implementacin y no de la interfaz.Como se puede observar, el encapsulamiento proporciona una forma lgica deindependencia de los datos, ya que se puede cambiar la implementacin de un tiposin cambiar ninguno de los programas que usan ese tipo.

Herencia

Las clases o tipos heredan de sus ancestros.

Ventajas de la herencia

Ayuda al modelado porque proporciona una descripcin concisa y precisa delmundo. Ayuda a compartir especificaciones e implementaciones en las aplicaciones.

Tipos de herencia a destacar en los sistemas de gestin de bases de datos

Herencia de sustitucin: en cualquier lugar donde podamos tener un objeto de tipo podemos sustituirlo por un objeto de tipo t si t hereda de t'. Herencia de restriccin: es un subcaso de la herencia de inclusin. Un tipo tes un subtipo de si est formado por todos los objetos de t que satisfacenuna restriccin dada. Herencia d especializacin: un tipo t es un subtipo de t' , si los objetos de tipo t son objetos de tipo t' que contienen informacion mas especfica.

Polimorfismo

Existen casos en los que se desea tener el mismo nombre para diferentes operaciones. Supongamos la operacin dibuja que toma un objeto como entrada y lo dibuja en pantalla. Dependiendo del tipo de objeto (cuadrado, estrella, flecha,...) debemos emplear diferentes mecanismos de visualizacin. Es decir, necesitamos visualizar un conjunto cuyos miembros no se conocen en tiempo de compilacin.

En una aplicacin que emplee el sistema convencional, habr tantas operaciones como figuras a representar: dibuja cuadrado, dibuja estrella, dibuja flecha etc. En un sistema orientado a objetos se definir la operacin en una clase ms general. As dibuja tendr un nico nombre y podr emplearse indiferentemente sobre cualquier figura.

Para proporcionar esta nueva funcionalidad, el sistema no puede asociar los nombres de las operaciones con los mtodos correspondientes en tiempo de compilacin; se har en tiempo de ejecucin. Esto es lo que se conoce como ligadura tarda y dificulta o imposibilita el chequeo de tipo.

Encapsulamiento El encapsulamiento se centra en la implementacin que da lugar alcomportamiento observable de un objeto. El encapsulamiento se consigue amenudo mediante la ocultacin de informacin, es decir, se basa en ocultar todoslos secretos de un objeto que no contribuyen a sus caractersticas esenciales. Elencapsulamiento proporciona, por tanto, barreras explcitas entre abstraccionesdiferentes. Existen dos visiones diferentes del encapsulamiento [ATK89], laprimera y original que es la del lenguaje de programacin; y la segunda que es laadaptacin de esa visin para la base de datos. Desde el punto de vista de las bases de datos, esto se traduce en el hecho de que unobjeto abarca operaciones y datos, pero con una diferencia. En las bases de datosno est claro si la parte estructural es parte de la interfaz (depende del sistema),mientras que en los lenguajes de programacin la estructura de datos esclaramente parte de la implementacin y no de la interfaz.Como se puede observar, el encapsulamiento proporciona una forma lgica deindependencia de los datos, ya que se puede cambiar la implementacin de un tiposin cambiar ninguno de los programas que usan ese tipo. Herencia

Las clases o tipos heredan de sus ancestros. Ventajas de la herencia


Ayuda al modelado porque proporciona una descripcin concisa y precisa delmundo. Ayuda a compartir especificaciones e implementaciones en las aplicaciones.

Tipos de herencia a destacar en los sistemas de gestin de bases de datos


Herencia de sustitucin: en cualquier lugar donde podamos tener un objeto de tipo podemos sustituirlo por un objeto de tipo t si t hereda de t'. Herencia de restriccin: es un subcaso de la herencia de inclusin. Un tipo tes un subtipo de si est formado por todos los objetos de t que satisfacenuna restriccin dada. Herencia d especializacin: un tipo t es un subtipo de t' , si los objetos de tipo t son objetos de tipo t' que contienen informacion mas especfica.

Polimorfismo Existen casos en los que se desea tener el mismo nombre para diferentes operaciones. Supongamos la operacin dibuja que toma un objeto como entrada y lo dibuja en pantalla. Dependiendo del tipo de objeto (cuadrado, estrella, flecha,...) debemos emplear diferentes mecanismos de visualizacin. Es decir, necesitamos visualizar un conjunto cuyos miembros no se conocen en tiempo de compilacin. En una aplicacin que emplee el sistema convencional, habr tantas operaciones como figuras a representar: dibuja cuadrado, dibuja estrella, dibuja flecha etc. En un sistema orientado a objetos se definir la operacin en una clase ms general. As dibuja tendr un nico nombre y podr emplearse indiferentemente sobre cualquier figura. Para proporcionar esta nueva funcionalidad, el sistema no puede asociar los nombres de las operaciones con los mtodos correspondientes en tiempo de compilacin; se har en tiempo de ejecucin. Esto es lo que se conoce como ligadura tarda y dificulta o imposibilita el chequeo de tipo.

1.1.5 Persistencia, Concurrencia y recuperacin en BDOO.

Una base de datos orientada a objetos es una base de datos que incorpora todos losconceptos importantes del paradigma de objetos :

Persistencia

Es la capacidad que tiene el programador para que sus datos se conserven al finalizar la ejecucin de un proceso, de forma que se puedan reutilizar en otros procesos.

Esta se refiere a la capacidad de manipular directamente los datos almacenados en una base de datos usando un lenguaje de programacin orientado a objetos. Esto contrasta con una base de datos utilizada por SQL o una interfaz utilizada por ODBC o JDBC. Utilizando un objeto de base de datos significa que se puede tener un mayor rendimiento y se aminora la escritura de cdigo.

Con la persistencia la manipulacin de objetos se realiza directamente por el lenguaje de programacin de la misma manera que en la memoria, sin persistencia de objetos. Esto se logra mediante el uso inteligente de almacenamiento en cach.

Concurrencia

Se relaciona con la existencia de muchos usuarios interactuando concurrentemente en el sistema. Este debe controlar la interaccin entre las transacciones concurrentes para evitar que se destruya la consistencia de la base de datos.

Los SMBDOO deben poder ser accesibles por mltiples usuarios. Cuando una aplicacin est accesando a una seccin de la base de datos, otras aplicaciones deben poder acceder a otras secciones de la base de datos. La concurrencia permite a los usuarios cooperar y colaborar en una aplicacin.

Los mecanismos de control de concurrencia son necesarios para reforzar las propiedades de las transacciones (ACID). Los modos bsicos de control de concurrencia son:

Modo Pesimista

El modo pesimista obliga a una transaccin a esperar a que se resuelva el conflicto que pueda o ponga en riesgo la concurrencia para dejarle continuar cuando el conflicto haya sido resuelto.

Modo Optimista

El modo optimista deje correr la transaccin como si no ocurriera ningn conflicto y resuelve este al final del commit, generalmente se emplea usando estampas de tiempo y copias de los elementos de la transaccin.

Modo Mixto

El modo mixto combina diferentes controles de concurrencia a diferentes objetos y tipos de datas en una misma transaccin.

Modo Semi-optimista

El modo semi-optimista es una variante del modo mixto que no detiene a la transaccin hasta que esta termina.

Recuperacin

Proporcionar como mnimo el mismo nivel de recuperacin que los sistemas de bases de datos actuales. De forma que, tanto en caso de fallo de hardware como de fallo de software, el sistema pueda retroceder hasta un estado coherente de los datos.

En bases de datos orientadas a objetos, los usuarios pueden definir operacionessobre los datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se especifica en dos partes. La interfaz (o signatura) de unaoperacin incluye el nombre de la operacin y los tipos de datos de susargumentos (o parmetros). La implementacin (o mtodo) de la operacin seespecifica separadamente y puede modificarse sin afectar la interfaz.

Con recuperacin nos referimos al proceso de aplicacin de consistencia despus de que una transaccin ha abortado como resultado de fallas de hardware o problemas de comunicacin. Las fallas del sistemas, tanto de hardware como de software no deben repercutir en estados de inconsistencia de la base datos. La recuperacin es la tcnica que asegura que eso no ocurra. La recuperacin puede ser total o parcial dependiendo de las circunstancias, de la recuperabilidad.

Você também pode gostar