Sunteți pe pagina 1din 31

Cristina Huerta Aguilar Departamento Informtica ASI 2008/2009 2 curso C6.

Sistemas gestores de bases de datos

Se utilizan en aplicaciones ms complejas donde no llegan las bases de datos tradicionales Son adecuados cuando se necesita un buen rendimiento en la manipulacin de datos complejos La informacin se representa mediante objetos como los utilizados en la programacin orientada a objetos Cuando se integran las caractersticas de una base de datos con las de un lenguaje de programacin orientado a objetos resulta un sistema gestor de base de

Base de datos: datos(tuplas) y relaciones que forman una interfaz de usuario que se define por si sola Los datos son representados mediante objetos, las entidades de aplicacin son clases y las relaciones mediante inclusin lgica

Mensaje: Intercambio de solicitudes entre objetos independientemente de su implementacin Variable: Estado del objeto Mtodo: Implementacin del mensaje

Cada objeto est asociado con: Conjunto de variables que contienen los datos de un objeto. Las variables corresponden a los atributos del modelo E-R Conjunto de mensajes a los que responde, un mensaje puede o no tener parmetros o tener uno o varios Conjunto de mtodos, cada uno de los cuales es el cdigo que implementa un mensaje. El mtodo devuelve un valor

CLASES DE OBJETOS
class empleado { / / Variables string nombre; string direccin; date fecha de alta; int sueldo; / / Mensajes int sueldo-anual (); string obtenerNombre (); string obtenerDireccion (); int definirDireccion (string nueva-dir); int antigedad(); };

Las bases de datos orientadas a objetos (BDOO) se disean para trabajar con lenguajes de programacin como Java, C#, C++ y Visual basic.Net Al crear un sistema de BD Orientado a Objetos se deben tener en cuenta unas caractersticas que estn divididas en tres grupos:

Mandatorias Opcionales Abiertas

Son aquellas obligatorias Son las que debe cumplir el sistema al tener un sistema de BDOO Objetos complejos, Identidad de objetos, Encapsulacin, Tipos o clases, Sobrepaso con unin retardada, Extensibilidad, Completacin Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperacin y Facilidad de Query

Criterios que debe satisfacer un sistema de BDOO:


Debe tener un BDMS Debe ser un sistema OO

El primer punto consiste en:


Persistencia Manejador de almacenamiento secundario Concurrencia Recuperacin Facilidad de Query

El

segundo punto consiste en:

Objetos Complejos Identidad del Objeto Encapsulacin Tipos Clases Sobrepaso con combinacin retrasada Extensibilidad Completacin Computacional

Extensibilidad: proporciona tipos de datos bsicos Concurrencia: permite que ms de 1 usuario tenga acceso a la BD a la vez Recuperacin: vuelta al estado anterior al realizar una transaccin que no se ha finalizado

No son obligatorias y se ponen para hacer que el sistema sea mejor Herencia mltiple, chequeo de tipos e inferencia de distribucin y diseo de transacciones y versiones Herencia mltiple: obtiene caractersticas de padres diferentes y proporciona mecanismos de que opcin conviene ms

Son aquellas en las que el diseador puede poner de su parte y que estn relacionadas con la programacin Paradigma de la programacin, Representacin o tipo del sistema y su uniformidad

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.

Un sistema de BDOO provee una identidad nica a cada objeto independiente almacenado en la base de datos La estructura orientada a objetos impone automticamente las restricciones relacionales: dominio, llave de integridad de identidad, identidad referencial Propiedades OID Es generado por el sistema

Propiedades OID (continuacin) Su valor no es visible para el usuario externo, sino usado por el sistema para identificar el objeto y crear y manejar las referencias entre objetos Es inmutable as preserva la identidad Es preferible que solo se use una vez, aunque se elimine el objeto de la BD La inmutabilidad y el preservar la identidad implican que el OID no dependa de atributo alguno del objeto

En las BDOO los estados de objetos complejos se pueden construir a partir de otros objetos mediante constructores Estos objetos se representan mediante un identificador, un constructor y un estado o valor Constructores bsicos Constructores de tomos Constructores de tuplas Constructores de conjuntos

Tanto la estructura de los objetos como las operaciones que se pueden aplicar a ellos se incluyen en las definiciones de clases de los objetos

Los lenguajes de POO se utilizan para trabajar con la base de datos Hay lenguajes en los que se puedan integrar estos conceptos: Extender un lenguaje para tratamiento de datos como SQL aadiendo tipos complejos y POO creando sistemas relacionales orientados a objetos, se llaman sistemas relacionales orientados a objetos

Coger un lenguaje de programacin orientado a objetos extendindolo para que trabaje con BD, se llaman lenguajes de programacin persistentes A la hora de elegir que opcin usar, tener en cuenta que los lenguajes de programacin persistentes son muy potentes y es fcil cometer errores que daen a las BD. La optimizacin de alto nivel y la reduccin de E/S de disco es difcil

Hay clases generales (superclases) que definen las caractersticas comunes a un determinado grupo Las clases especficas (subclases) especifican cualidades caractersticas de un determinado grupo Las subclases heredan los mtodos y atributos de las superclases, de miembros mas altos de la jerarqua

Ejemplo:

Class persona { string nombre; string direccin; }; Class cliente persona { int inters-prestamo; }; Class empleado persona{ date fecha de alta; int sueldo; };

Los objetos son complejos ya que necesitan un espacio sustancial para almacenarse a parte de no tener los valores tpicos de un SGBD Soluciones: Utilizar tcnicas de almacenamiento intermedio para obtener porciones del objeto antes que el programa de aplicacin necesite tener acceso a ellas Crear bibliotecas de tipos de datos y operaciones

Un objeto se puede comportar de formas diferentes segn a que subclase pertenezca Ejemplo:

OBJETO_GEOMETRICO: Forma, Area, PuntoCentral RECTANGULO subtype_of OBJETO_GEOMETRICO (Forma= rectngulo): Ancho, Altura TRIANGULO subtype_of OBJETO_GEOMETRICO (Forma= tringulo): Lado1, Lado2, Angulo CIRCULO subtype_of OBJETO_GEOMETRICO(Forma=crculo): Radio

Hay aplicaciones de BD que necesitan varias versiones del mismo objeto Generalmente hay que modificar mdulos de diseo e implementacin Si el sistema est operativo habr que crear otro modulo igual al que queremos modificar y modificar la rplica Se crea un grafo de versiones con todas las rplicas del mdulo en la que hemos hecho cambios Un SGBDOO debe controlar y almacenar las versiones del objeto

El diseador puede especificar la estructura de objetos y determinar sus operaciones Flexibilidad y manejo de tipos complejos Manipula datos complejos de forma rpida Tienen ms rapidez de pasar de un objeto a otro que las BDR. El JOIN es ms lento que los punteros de los objetos El agrupamiento es ms eficiente, lo que reduce el tiempo de recuperacin de datos de disco ya que solo necesita una

Inmadurez en el mercado Falta de estndares en la programacin OO, lo que supone un riesgo para los usuarios a parte de un coste alto y necesidad de un tiempo de pruebas considerable No hay agrupamiento fsico de objetos

Bases de Datos. Modelos, Lenguajes, Diseos James L. Johnson. Sistemas de Bases de Datos Elmasri /Nawathe. Fundamentos de Bases de Datos Henry Korth/Abraham Silverschatz/Sudargham.

Cules son las principales caractersticas de una BDOO? Que creis que saldr mas rentable una BDOO o una relacional? Que ventajas les encontris a las BDOO?Y a las relacionales? Que caractersticas encontris que superan a las de las BD relacionales? Para que casos reales creis que son mejores las BDOO?

Cuando diseis una base de datos en que cosas os fijis antes de disearla? Que BD creis que es ms fcil de mantener para 1 aplicacin de la vida cotidiana?

S-ar putea să vă placă și