¿Como funcionan las
Bases de Datos
Orientadas a Objetos?
Historia
Modelo Orientado por Procesos
(Almacen. en discos)
SAA(ISAM,VSAM)
SABD (Codasyl,LDD,LM)
I.- Conceptos Fundamentales
Objeto
Clase ó Tipo de objeto
Mensaje ó Solicitud
Métodos
Instancia
Herencia
Objeto complejo
OBJETOS
(Personas)
EMPRESA
EMPLEADO
GERENTE
Juan Pérez
Ivan Contreras
Ma.Sánchez
CLASE
INSTANCIA
Ejemplo:
Ejem. De Herencia
(Gp:) A
(Gp:) B
(Gp:) C
(Gp:) D
(Gp:) A
(Gp:) E
(Gp:) G
(Gp:) F
CLASE
HERENCIA
SUBCLASE
Un Sistema de BDOO debe satisfacer 2 criterios:
* Debe tener un BDMS
* Debe ser un sistema OO
El Primero se traduce en 5 características:
* Persistencia – ( Conservación de Datos.)
* Concurrencia- (Muchos usuarios)
* Recuperación- (Mantener Edo.de BD)
* Gestión de Almacen. Secundario
* Facilidad de Consultas
El Segundo se traduce en 8 características:
* Abstracción (Denota características esenciales)
* Encapsulación (Ocultar secretos del objeto)
* Tipos ó Clases (Mismo comportamiento)
* Modularidad (Abstracciones con cierta relación
Minimizan dependencias/Módulos)
* Jerarquía (Ordenación de abstracciones)
* Generacidad (Sirve de modelo para otras clases)
* Concurrencia
* Persistencia
II.- Bases de datos orientadas a objetos
(BDOO)
Que es OO?
Porque OO?
BDOO
– Finales de 80s
– BD Inteligente
– Soporta OO
– Eficaz(Almacen. Obj.Complejos)
– Evita el Acceso a Datos
– Es más Segura
Modelo Conceptual
Unificado
– Mismo Mod. Conceptual
– Mejora la comunicación
entre:
Usuarios, Analistas
y Programadores
(Gp:) Análisis
Diagramas de
Relación entre las
Entidades
Descomposición
Funcional
Diagramas de
Dependencia entre
procesos
(Gp:) Diseño
(Gp:) Diagramas
De flujo de
Datos
Tablas de
Estructura
Diagramas
De acción
(Gp:) Programación
(Gp:) COBOL
PL/1
FORTRAN
C
(Gp:) Tablas
SQL++
El desarrollo tradicional tiene cuatro modelos conceptuales.
(Gp:) ANÁLISIS
(Gp:) DISEÑO
(Gp:) PROGRAMACIÓN
(Gp:) BDOO
(Gp:) Modelo de objeto
Declaración de objeto
Manejo del objeto
La Tecnología orientada a objetos utiliza un modelo consistente
Arquitectura BDOO
-Smalltalk,C++
-LMD,LDD-Leng.OO
Desarrollo con BDOO
Por Ejemplo:
Clase de CILINDRO{Altura Flotante();
Radio Flotante();Volumen Flotante();Area de
Superficie Flotante();};
La Implantación se lleva acabo en el mismo lenguaje,
escribiendo funciones correspondientes a las solicitudes OO:
CILINDRO::ALTURA(){RETORNA CILINDRO-ALTURA}
CILINDRO::VOLUMEN(){RETORNAPI*RADIO() *ALTURA();}
El comportamiento de CILINDRO podría incluir información relativa a sus dimensiones,volumen área superficial:
Tres enfoques de construcción de BDOO
Primero:
* Utilización de código Complejo.
* Técnicas OO medios para diseño
sencillo de sist.complejos.
* Componentes ya probados.
Segundo:
* Considera BDOO extensión de BDR
* La Bd debe proporcionar-Acceso
Aleatorio y por partes a Gdes.Objetos.
Tercero:
* Enfoque-Arquitectura de BD
* Produce-Nueva Arq. Optimizada OO
* Versant,Objetivity,Itasca
* BDOO no de Relación más Rápidas
* Esenciales-Aplicaciones como: CAD
La Arquitectura de Versant esta designada al soporte Cliente/Servidor con acercamiento en la computación
distribuida; cualquier aplicación Cliente el Servidor la
procesa, usa las EDT y las máquinas que pueden
cooperar en una BD distribuida de Versant.
Ejemplo:
Las BD pueden estar levantadas como un
sistema m-Cliente/n-Servidor.
Un servidor en el medio ambiente de Versant
es una máquina que está corriendo los proce-
-sos del servidor,esta soporta accesos concu-
-rrentes por usuarios múltiples de una ó más
BD.Un Cliente es un proceso de aplicación
este tiene acceso a espacios de trabajo de BD
persistentes privadas y también puede accesar
a BD sobre servidores concurrentes con otras
aplicaciones de Cliente.
(Gp:) BD PRIVADA
(Gp:) APLICACIÓN
CLIENTE
(Gp:) OBJECT
CHEKOUT
(Gp:) SERVIDOR
(Gp:) SERVIDOR
(Gp:) GRUPODE
BASES DE DATOS
(Gp:) GRUPO DE BASES DE DATOS
(Gp:) GRUPO DE BD
(Gp:) GRUPO DE BD
Ventajas:
Flexibilidad
Manejo de Datos Complejos.
BDOO-Ajusta al espacio necesario
y elimina espacio desperdiciado.
Manipulación de Obj. Complejos
en forma rápida y ágil.
Desventajas:
La inmadurez del mercado BDOO
Falta de Estándares en OO
Rendimiento:
Las BDOO es más rápida y
eficiente.
III.- Ejemplo OO
Sistema de Gestión de Bases de Datos
orientadas a objetos
Objetivo
Características
BDOviedo3
Programación Modular
SGBD en Oviedo3
Sistema Operativo OO
(SO4)
BDOviedo3 aplica estándar
(Los lenguajes de BD-ODMG 2.0)
SGBD
SGBDOO
CARBAYONIA(microprocesador)
S.O.(CARBAYON)
(Gp:) Programa Principal
data
(Gp:) Modulo 1
data+data1
(Gp:) Procedim1
(Gp:) Modulo2
data+data2
(Gp:) Procedim2
(Gp:) Procedim3
El Programa principal coordina las llamadas a procedimientos
en módulos separados y pasa los datos apropiados en forma
de parámetros.
Ejem: Programación Modular
(Gp:) HERRAMIENTAS VISUALES
(Gp:) SGBDOO
(Gp:) SISTEMA OPERATIVO OO
(Gp:) MÁQUINA ABSTRACTA
Situación del SGBDOO en Oviedo3
Idea Inicial.-que este totalmente integrado con las
características de la máquina abstracta y del sistema
operativo de la misma aprovechando al máximo las
posibilidades que ofrecen.
Prototipo I
Consistirá:
*Diseño(ODL,OML,
OQL)
*Leng.Programación
(C++)
*Traducción (ODL,OML-C++)
de manera que se pueda Compilar
-BDE(motor de BD)
*OQL-Interprete-Respuestas en forma interactiva.
Prototipo II
Consistirá:
* Leng.Programación
(CARBAYON-
-El código objeto se genera
al compilar el programa)
* Traductores e Interprete (ODL,OML,
OQL-generar código objeto)
* El motor será el Des.por S.O.
* Los objetos se almacenarán como tales
Prototipo III
Consistirá:
* Una ampliación del anterior
* Herramientas visuales (Definir el esquemas
de la BD,manipular ó consultar los datos
almacenados en ella).