Вы находитесь на странице: 1из 34

Tema 6:

Bases de Datos
Orientadas a Objetos

Profesor: Jorge Escalona


Email:escaljorge@gmail.com

1
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Agenda

1. Conceptos BDOO
Motivacin
Surgimiento
Definicin
Elementos
Objetos Complejos
2. Conceptos POO
3. Diseo de BDOO
4. SGBD Orientados a Objetos (SGBDOO)

2
Tema 06. BDOO. Prof. Jorge Escalona. 2015
BDOO - Motivacin

 En la actualidad, la orientacin a objetos es una nueva forma de


comprender los problemas y modelar el negocio de una empresa,
documentar, disear programas y base de datos.

 El enfoque orientado a objetos ofrece la oportunidad de cumplir


con los requerimientos del negocio sin estar limitado a los tipos de
datos y los lenguajes de consulta disponibles en los gestores de
datos tradicionales.

 Las Bases de datos orientados a objetos se proponen para


satisfacer las necesidades de aplicaciones ms complejas.

 En este tema, se presentan los aspectos ms importantes de las


bases de datos orientado a objetos.

3
Tema 06. BDOO. Prof. Jorge Escalona. 2015
BDOO - Surgimiento

1era Generacin 2da Generacin 3ra Generacin

BD en Red BD Relacional BDOO

4
Tema 06. BDOO. Prof. Jorge Escalona. 2015
BDOO - Definicin

 Una Base de Datos Orientada a Objetos (BDOO) es una


base de datos donde las entidades son las clases, los
elementos de datos son objetos y las relaciones se mantienen
por medio inclusin lgica.

 Teniendo en cuenta este concepto, las base de datos


orientada a objetos estn diseadas para el manejo de datos
de un sistema que ha sido modelada, diseada e implementada
como un conjunto de objetos relacionados entre s.

5
Tema 06. BDOO. Prof. Jorge Escalona. 2015
BDOO - Elementos

 Tipos de datos:
o abstractos: cliente, empleado, producto, etc.
o complejos: estructura de datos, colecciones, objetos
grandes.

 Lenguaje de Definicin de Objetos (ODL), define la interfaz


de los tipos de objetos, no la implementacin.

 Lenguaje de Manipulacin de Objetos (OML), se emplea para


realizar operaciones de creacin, actualizacin y eliminacin de
objetos .

 Lenguaje de Consultas de Objetos (OQL), aunque est basado


en el lenguaje SQL, su semntica no es la misma. Las consultas
se especifican mediante objetos y sus atributos. Del mismo
modo, las consultas devuelven conjuntos de objetos.
6
Tema 06. BDOO. Prof. Jorge Escalona. 2015
BDOO Objetos Complejos

No Estructurados Estructurados

d1: Departamento
nombre: DTI
director:
empleados:

(Character Large ObjectS - CLOBs)


0945: Empleado
nombre: J. Prez 05535: Empleado
nombre: Z. Diaz
05678: Empleado hijos:
nombre: L. Garcia

h1: Hijo
02345: Empleado
(Binary Large Objects BLOBs) nombre: Angela D.
nombre: N. Torres
7
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Agenda

1. Conceptos BDOO
2. Conceptos POO
Clases, Objetos, Instancias
Mtodos y Mensajes
Identidad de Objetos
Herencia, Encapsulacin, Polimorfismo
Persistencia
3. Diseo de BDOO
4. SGBD Orientados a Objetos (SGBDOO)

8
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Clases: abstraccin conceptual que permite describir un


conjunto de objetos que tienen el mismo tipo. Una clase no es
ms que un patrn en el que se basan aquellos objetos que
tienen propiedades similares. Por ejemplo, la clase Persona
donde los atributos que lo componen son nombre, apellido y
edad.

 Instanciacin: mecanismo que permite crear objetos de una


clase determinada. Por ejemplo, si se tiene la clase Persona a
partir de este mecanismo se crea el objeto Juan, Marta, entre
otros.

9
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Objetos: corresponden a todos los elementos que se manipulan


dentro de una BDOO. Un Objeto es una representacin
abstracta del mundo real, el cual est compuesto por un estado
(las propiedades y sus respectivos valores), y un
comportamiento (las operaciones asociadas que permiten
interactuar con otros objetos y consigo mismo). Un Objeto no
es ms que una instancia de una determinada clase, por ejemplo
el objeto Juan el cual se obtiene a travs de la Clase Persona.

 Variable de Instancia: son cada uno de los atributos que


caracterizan el estado de un objeto. Por ejemplo, si se tiene el
atributo edad, la variable de instancia ser el valor que tenga
asignado, para este caso 27.

10
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Identidad de un Objeto: se implementa a travs de un


identificador nico, OID (Object Identifier), generado por el
sistema. El valor de un OID no es visible para el usuario
externo, el sistema lo emplea internamente para identificar
cada objeto de manera nica, as como tambin, crear y
manejar referencias entre objetos.

El concepto de identidad hace que sea necesario distinguir:


o Igualdad de identidad: dos objetos son iguales si tienen
el mismo OID. En este caso se suele decir que son el mismo
objeto. Equivale en Java a operador ==.

o Igualdad de valor: dos objetos son iguales si los valores


de sus atributos son iguales. Equivale en Java al mtodo
equals() de la clase Object.
11
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Mtodo: es un procedimiento algortmico a travs del cual se


realiza una determinada operacin sobre el comportamiento de
un objeto, un mtodo se caracteriza por tener su nombre, sus
parmetros formales y su valor de retorno (si es el caso).Los
mtodos de los objetos pueden ser de tres tipos:
o Observadores: devuelven informacin acerca del estado de
un objeto (Getters);
o Modificadores: cambian un objeto de un estado vlido a
otro (Setters);
o Constructores: permiten la creacin de objetos (new).

 Mensajes: refieren a las seales que enva un objeto a otro


para que ejecute una determinada operacin, no es ms que el
medio de comunicacin entre los objetos.

12
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Herencia: mecanismo mediante el cual una clase puede ser


definida sobre la base de la definicin de otra clase. Por este
mecanismo, la subclase hereda los atributos que definen la
estructura de la superclase y los mtodos que caracterizan su
comportamiento. Adems, la subclase puede aadir nuevos
atributos y mtodos para completar su definicin.

13
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

Herencia simple:
una clase hereda de
una nica superclase.

Herencia mltiple:
una clase hereda de
ms de una
superclase.

14
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Polimorfismo: mecanismo que permite definir e invocar


funciones que comparten la misma interfaz pero tienen una
implementacin diferente. Por ejemplo, si se tiene el mtodo
CalcularArea() depende del objeto que lo implemente se
ejecutar, porque calcular el rea de un cuadrado no es igual a
calcular el rea de un crculo.

 Encapsulamiento: mecanismo que permite ocultar la


implementacin de un mtodo, dejando visible la
especificacin. Puede tener niveles de visibilidad: privada,
pblico y protegida.

15
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Conceptos POO

 Persistencia: capacidad del programador para que sus datos se


conserven al finalizar la ejecucin de un proceso, de forma que
se puedan reutilizar en otros procesos.

 Objeto persistente: es un objeto que sobrevive a la ejecucin


del proceso que lo cre.

 Objeto transitorio: es un objeto que deja de existir cuando el


proceso que lo cre termina su ejecucin.

16
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Agenda

1. Conceptos BDOO
2. Conceptos POO
3. Diseo de BDOO
Proceso de Diseo de BDOO
Diseo Conceptual
Diseo Lgico
Diseo Fsico
4. SGBD Orientados a Objetos (SGBDOO)

17
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Diseo de BDOO

 A diferencia del proceso de diseo de BD Relacionales, no hay


un modelo de referencia con un fundamento formal para
realizar el diseo conceptual y lgico de una BDOO aunque se
han intentado algunas propuestas como ODMG ODL que no
han logrado el nivel de estandarizacin necesario.

 Utilizando los estndares del entorno de POO, se puede


adoptar el Lenguaje UML (Unified Modeling Language) como
herramienta para realizar el modelo conceptual y el modelo
lgico de una BDOO, representando simblicamente el
conjunto de datos persistentes relacionados entre s.

18
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Diseo de BDOO

 De esta forma, siguiendo algunos aportes metodolgicos de


desarrollo de sistemas orientados a objetos (Larman, 1999;
Booch, 1994; Booch, 1999), podemos seguir las siguientes fases
en el proceso de diseo de una bdoo:

 Diseo Conceptual: A partir de los requerimientos de bd


(normalmente Casos de Uso en desarrollos OO), se genera un
Diagrama de Clases de Alto Nivel, considerando la semntica
propia del dominio del problema (entidades de datos y su
relaciones). En esta fase se pueden generar tambin
Diagramas de Estados donde se representen cambios en
valores de atributos en las entidades del dominio del problema.

19
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Diseo de BDOO

 Diseo Lgico: En esta fase se refinan los diagramas de clases


del modelo conceptual para incorporar detalles propios de
diseo a nivel de relaciones entre las clases, tipos de atributos
(enumeraciones), implementaciones de interfaces y otras
caractersticas que se necesiten especificar para la definicin
final de las clases del sistema.

 Como producto de esta fase se tendr el modelo lgico de


objetos con las siguientes partes:
 Estructura Esttica: Diagramas de Clases Refinados y
Diagramas de Objetos (opcionales).
 Estructura Dinmica: Diagramas de Secuencia y
Diagramas de Estado.

20
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Diseo de BDOO

Modelo Lgico de Objetos:


Estructura Comportamiento
(Parte Esttica) (Parte Dinmica)

Diagrama de Clases: Diagrama de Secuencia:


permite presentar las clases presenta las interacciones
con sus respectivas entre los objetos organizados
relaciones estructurales y en una secuencia temporal y su
de herencia. colaboracin entre s.

Diagrama de Objetos: Diagrama de Estado: muestra


aporta mayor detalle a las los posibles estados en que
instancias de las clases en puede encontrarse un objeto y
caso de ser requerido. las transacciones que pueden
causar un cambio de estado.
21
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Diseo de BDOO

 Diseo Fsico: En esta fase se procede a implementar las


clases del modelo lgico en el lenguaje de definicin de objetos
(ODL) del SGBDOO: normalmente un Lenguaje de
Programacin Orientado a Objetos (C++, C#, Java, Smalltalk,
etc).

 Para realizar esta actividad, se puede apoyarse en el uso de


herramientas CASEs que generan el cdigo fuente a partir de
los Diagramas de Clases.

 El producto final ser el Modelo de Objetos Fsico


implementado en el SGBDOO seleccionado.

22
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Diseo de BDOO

FASES PRODUCTOS

Dominio del Recoleccin y Anlisis Requerimientos


Probelma de Requerimientos de BD

Diagrama de Clases de Alto Nivel


Modelo Conceptual Estudiante Curso
Diseo Conceptual - Id - Id
UML - Nombre
+ Edad()
* * -Nombre
-Nivel

Diagrama de Clases Refinado


Modelo Lgico Estudiante Edicion Curso
Diseo Lgico - Id - Nombre
UML
- Nombre
- fecNac
1 * -curso
-estudiante
* 1 -Area
-Fecha Ini
-nota

class Estudiante ( class Edicion ( class Curso (


int id; Curso curso; int id;
Modelo Fsico String Nombre; Estudiante est; String Nombre;
Diseo Fsico Date fechaNac;); iint nota; int nivel
SGBDOO - ODL public int getEdad(); public int getNota(); public void ofertar();
} } }

23
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Agenda

1. Conceptos BDOO
2. Conceptos POO
3. Diseo de BDOO
4. SGBD Orientados a Objetos (SGBDOO)
Definicin
Enfoques de Implementacin
Caractersticas
Productos
Ventajas/Desventajas

24
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Definicin

 Un Sistema de Gestin de Base de Datos Orientado a


Objetos (SGBDOO) es la integracin de la tecnologa de
objetos con las capacidades de las BD, almacena objetos
incorporando y empleando todas las ventajas de la OO, lo
que refiere a que se pueden tratar directamente los
objetos sin tener que hacer la traduccin a tablas o
registros.

 En los SGBDOO los objetos se conservan y pueden ser


gestionados aunque su tamao sea muy grande, compartidos
entre mltiples usuarios, adems de mantener tanto su
integridad como sus relaciones.

25
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO Enfoques de Implementacin

SGBDR Extendidos SGBD Revolucionarios


SGBDR Evolutivos SGBD Puros
3ra Generacin Sistemas de Gestin
Objeto-Relacional Basados en Objetos

Informix, PostgreSQL, ObjectStore, Versant, O2,


Sybase, Oracle, etc. Db4O, GemStone, etc.

SQL99/2003 ODMG 3.0


Continuidad con la teora relacional Ruptura con la tecnologa anterior
Conservacin de las inversiones realizadas Rigurosa adaptacin a los principios OO
26
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO Enfoques de Implementacin

 Manifiesto de Atkinson (1989): enfoque purista que sostiene


que los SMBDOO deben soportar una modelo de objetos puros y
no basarse en extensiones semnticas de modelos clsicos como
el relacional.

 Manifiesto de Stonebraker (1990): SMBD Relacionales-


Extendidos (tercera generacin) que sean capaces de soportar
los conceptos de orientacin al objeto. Es la postura que
propugnan los principales proveedores de productos
relacionales.

 Manifiesto de Darwen y Date (1995): reinterpretan el modelo


relacional bajo la visin orientada al objeto.

27
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Caractersticas

 Orientacin a Objetos: soporte a las caractersticas


principales de la programacin orientada a objetos
(encapsulamiento, polimorfismo, herencia, etc).

 Persistencia: ofrecen mecanismos transparentes de


persistencia manejando los mecanismos de denominacin
(asignacin de OID) y alcanzabilidad (navegacin a travs e
objetos).

28
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Caractersticas

 Extensibilidad: el conjunto de tipos predefinidos que aporta


el SGBDOO son extensibles mediante mecanismos que
permiten definir tipos nuevos. No hay distincin en cuanto al
uso de los tipos definidos por el sistema y los extendidos.

 Gestin de almacenamiento: la gestin del almacenamiento


secundario es soportada por un conjunto de mecanismos que
no son visibles al usuario, tales como gestin de ndices,
agrupacin de datos, seleccin del camino de acceso,
optimizacin de consultas, etc. Estos mecanismos garantizan la
independencia entre los niveles lgicos y fsicos del sistema.

29
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Caractersticas

 Concurrencia: el SMBDOO gestiona el acceso de mltiples


usuarios a la vez, soportando la nocin de atomicidad de una
secuencia de operaciones y la comparticin controlada.

 Recuperacin: el sistema debe 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.

30
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Productos

 Versant / Versant FastObjetcs


Un SMBDOO comercial que permite almacenar los objetos
que han sido creados usando tecnologa de C++ o de Java
directamente en una BDOO.

 Db4O
Base de Objetos de cdigo abierto, nativa a Java y .NET;
100% orientada a objetos, sin mapeo objeto-relacional.
Diseada para uso embebido, distribuida bajo licencia GPL.

 ObjectDB
SGBDOO 100% Java. No posee API porpietaria:
implementacin de persistencia a a travs de las API
estndares de Java (JPA 2 / JDO 2). Soporta tanto modo
Cliente-Servidor como el modo Embebido.
31
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Productos

 Object Store.
Es SGBDOO comercial, especializado en bases de datos
creadas para aplicaciones que usan tcnicas de programacin
OO. Es innovadora en el uso del lenguaje C++ para acceder en
forma trasparente a la base de datos.

 GemStone
Es un framework de aplicaciones propietario para base de
datos de objetos desarrollado en Smalltalk. Ofrece un
framework para Java.

32
Tema 06. BDOO. Prof. Jorge Escalona. 2015
SGBDOO - Ventajas/Desventajas

Ventajas Desventajas

 Modelado ms sencillo y  Tiempo de aprendizaje requerido.


orientado a la extensibilidad.
 Ausencia de protocolos de
 Manejo de objetos complejos. comunicacin estndar entre
SGBDRs y SGBDOOs.
 Versionado de objetos.
 Falta de estandarizacin en
 Reutilizacin de clases: lenguajes de consulta.
rapidez en desarrollo de
aplicaciones.  Falta de estandarizacin en
modelado conceptual y lgico.
 Simplificacin del proceso de
conceptualizacin.  Dificultad en la gestin de
transacciones, debido a gran
 Mejor integracin con LOO. cantidad de datos complejos
incluidos en una BDOO
33
Tema 06. BDOO. Prof. Jorge Escalona. 2015
Referencias

 Elmasri, R. y Navathe, S. (2007) Fundamentos de Sistemas de Bases de


Datos, Adisson Wesley. 5ta. Edicin.

 Hernndez, Y. y Silva, A. (2009) Fundamentacin Terica de las Bases de


Datos Orientadas a Objetos, Centro de Investigacin en Sistemas de
Informacin (CISI), UCV.

 La Red, D. (2011) Bases de Datos Orientadas a Objetos, Departamento de


Informtica, UNNE Argentina.

 Lpez, D. (2013) Base de Datos: Enfoque Orientado A Objetos. CIBERTEC

 Booch, G., Rumbaugh, J. y Jacobson, I. (1999) El Lenguaje Unificado de


Modelado UML, Adisson Wesley.

 ODMG http://www.odmg.org

 UML http://www.uml.org

34
Tema 06. BDOO. Prof. Jorge Escalona. 2015

Вам также может понравиться