Академический Документы
Профессиональный Документы
Культура Документы
Sistemas de archivos
(1950s)
BDs Jerrquicas y de
Red (1960s)
BDs Relacionales
(1970-80s)
ODBMS (1990s)
FUNCIONALIDAD/
INTELIGENCIA
BD Distribuidas
Multi BD
BD Federadas
BDweb
BD Mviles
DISTRIBUCIN/
INTEGRACIN
BD Activas
BD Temporales
BD Deductivas
BD Seguras
BD OO
BD OR
RENDIMIENTO
BD
BD Paralelas
BD en Memoria Principal
BD Grid
BD en Tiempo Real
1. Evolucin e Historia
1960
1970
Modelo Relacional
Prototipos SGBDR
Trabajos tericos relacionales
Los tres niveles de la arquitectura (ANSI)
Modelo E/R
Primeros productos relacionales del mercado
1980
1990
2000
ODMG 3.0
SQL:1999
XML
ODMG 1.0
SQL-86
SQL
Modelo E-R
Modelo Relacional
Standard CODASYL
1. Evolucin e Historia
Hierarchical
Network
Relational
Object-Oriented
Object-Relational
Semi-Structured
XML
1960
1970
1980
1990
2000
ver>>>
ver>>>
ndice
Orgenes
OOPLs.
Base de Datos
Orientadas a
Objetos (BDOO)
Orgenes
Base de Datos
Orientadas a
Objetos (BDOO)
BDOO
El concepto de O.O. se vino a relacionar con
las bases de datos a mediados de los 80, el
termino "object-oriented database system"
apareci por primera vez en el ao 1985
1. Evolucin e historia
Primeros sistemas
principio de los 1980s
Won Kim en Microelectronics and Computer Technology
Corporation (MCC) inicia el proyecto ORION. Dos productos
surgen luego ITASCA y Versant.
final de los 1980s 1ros productos comerciales.
Graphael, un sistema basado en Lisp, aparece en Francia, de
l surge luego Matisse.
Servo-Logic comienza a trabajar en GemStone (ahora ServoLogic es GemStone Systems).
Se inicia el desarrollo de O2 (en INRIA Francia). El fundador de
O2 es Francois Bencilhon.
Tom Atwood de Ontologic produce Vbase, luego Ontologic se
convierte en ONTOS, y Vbase es re-escrito para soportar C++.
Tom Atwood funda luego Object Design con ObjectStore
(basado en C++).
Otro producto de aquel tiempo es Objectivity/DB.
1. Evolucin e historia
1. Evolucin e historia
1. Evolucin e historia
Historia reciente
2004 El Advenimiento del cdigo abierto (Open Source)
db4o es liberado como ODBMS de cdigo abierto. Para
Noviembre de 2005, db4o es el primero en soportar Queries
nativos (Native Queries). Posee una librera que trabaja
directamente con objetos y permite realizar consultas usando
lenguajes de programacin (Java/C#). No obstante existen en el
mercado los llamados ORM (Object-Relational Mapping) para
pasar las acciones que se realizan sobre objetos (guardar, leer,
consultar, etc.) a su correspondiente secuencia SQL. Un ORM
de los ms conocidos en el mercado es Hibernate (Hibernate
mapea a los objetos con tablas del mundo relacional).
Otros productos open source son, por ejemplo,
EyeDB, NeoDatis ODB, Ozone, Perst, Zope (ZODB)
1. Evolucin e historia
1. Evolucin e historia
ndice
BDOO: Motivacin
BDOO: Motivacin
1. Por necesidades de los lenguajes de programacin OO
Las BD pueden proporcionar a los OOPLs:
PERSISTENCIA DE OBJETOS (los objetos sobreviven a la ejecucin
del proceso que los cre)
Eficiente almacenamiento y gestin de datos en memoria
secundaria
Independencia de los datos respecto de los programas
Lenguaje de consulta eficiente y de alto nivel (independiente de la
estructura fsica)
Gestin de transacciones que permita: acceso concurrente,
integridad, seguridad y recuperacin ante fallos, Control de
integridad (mediante restricciones, disparadores, etc.)
BDOO: Motivacin
Caractersticas
Inadecuadas
Para
Aplicaciones
Complejas
BDOO: Motivacin
Identificadores
Soporte
nicos
de referencias e interrelaciones
Manipulacin
Jerarquas
de objetos y herencia
Integracin
Modelos
Gestin
de versiones
ndice
Lenguaje de Programacin
Orientado a Objetos
Persistencia
Base de Datos
Orientada a Objetos
Base de Datos
Relacional
Orientacin
a Objetos
Base de Datos
Objeto - Relacional
BDOO
Base de Datos
Orientadas a
Objetos (BDOO)
BDOR:
Base de Datos
Objeto-Relacional
(BDOR)
SQL:2003
Continuidad con la tecnologa
relacional / Conservacin de las
inversiones realizadas
SGBD Revolucionarios
SGBD OO Puros
SGB DE OBJETOS
ODMG 3.0
Ruptura con la anterior tecnologa /
Riguroso apego a los principios de
la OO
Herencia mltiple
Verificacin e inferencia de tipos
Distribucin
Transacciones de diseo
Versiones
Opciones abiertas
Paradigma de programacin
Sistema de representacin (tipos atmicos y constructores)
Sistema de tipos
Uniformidad (todo objetos?)
volver
BDOO
Pros de los OODBMS
Base de Datos
Orientadas a
Objetos (BDOO)
BDOO
Pros de los OODBMS
Base de Datos
Orientadas a
Objetos (BDOO)
BDOO
Contras de los OODBMS
Base de Datos
Orientadas a
Objetos (BDOO)
Presencia en el mercado:
-Adoptado por numerosos SGBDR
Oracle, IBM DB2, Informix, PostgreSQL
etc.
Incorpora caractersticas deseables de OO sin
perder lo bueno de los SGBDR SGBDOR
Estandar SQL:1999, revisado en SQL:2003
Productos y estndares
Objeto-Relacional
Productos:
POSTGRE
Combina capacidades de BD OO y activas con BD
relacionales.
ORACLE
Extiende el modelo relacional del SQL2 con capacidades
de objetos.
Universal Server de Informix, etc.
Productos y estndares
Objetos puros
Productos:
ObjectStore de Object Design
Persistencia de objetos en C++, Java
O2 de O2, Leeluse et al. (1988)
Lenguajes: C++, lenguajes de consulta (O2SQL) y
programacin (O2C) propios. Java
Gemstone de Servi Logic, Meier y Stone (1987)
Persistencia de objetos en Samalltalk. Soporta tambin
C++ y Java
POET de Poet Corporation
Persistencia de objetos C++, Java
Modelo
SQL-92
modelo
relacional
JDBC
modelo
relacional
SQLJ
Parte 1:
modelo
relacional
Parte 2:
modelo de
objetos
SQL:1999
SQL:1999
Modelo de
objetos
SQL:1999
ODMG 3.0
JDO
Modelo de
objetos
Java, C++ y Modelo de
Smalltalk
objetos
enriquecido
Java
con
enriquecido
persistencia
con
transparente persistencia
(superset
transparente
del modelo
OMG).
ODL
Data
Definition
Language
SQL
SQL
SQL
SQL
(Object
Definition
Language) - Java & XML
superset
del IDL del
OMG
Call-level
interface
for SQL
Embedded
SQL
OQL
Embedded
SQL, Dynamic Object Query
SQL, and Call- Language
basado en
level interface
SQL-92
Embedded
Call-level
Data
Manipulation SQL, Dynamic interface
SQL, and Call- for SQL
Language
Embedded
SQL and
Java
Embedded
SQL, Dynamic
SQL, and Calllevel interface
Query
Language
Embedded
SQL, Dynamic
SQL, and Calllevel interface
level interface
and Java
Java, C++,
Smalltalk
JDO Query
Language
(JDOQL)
Java
3.4 Convergencia
Integracin
Programa
relacional
BD relacional
Programa
orientado a
objetos
BDOO
3.4 Convergencia
Necesidad de convergencia
Es hora de que pongamos a nuestros clientes en primer lugar y les
ayudemos a salir del falso dilema que hemos creado. La base de datos
del futuro ser, de hecho, orientada a objetos, pero retendr todas las
ventajas del modelo relacional, Taylor (1992)
Convergencia de estndares
OBJECT MERGER GROUP.- grupo formado por integrantes
del ODMG y del SQL3 cuyo objetivo es lograr la integracin
de los lenguajes de consulta de ambos estndares, a fin
de conseguir el entendimiento entre BD3G y BDOO
Convergencia de productos
UniSQL, permite la coexistencia entre BD relacionales y BD
orientadas a objeto.
ndice
BD
BDOO
OO
SGBDOO = SGBD+ OO
Funcionalidades de un SGBDOO =
Funcionalidades de un SGBD
+
Funcionalidades de la OO
4.1. Funcionalidades
de la OO
Identificador de objeto
Soporte
de objetos complejos
Sistema
de tipos extensible
Encapsulamiento
Herencia
Soportar
un lenguaje completo
Polimorfismo
y sobrecarga
Repaso
de un SGBD
Persistencia
Manipulacin
del esquema
Gestin de memoria secundaria
Control de concurrencia:
Gestin de transacciones
Recuperacin ante fallos
Procesamiento de consultas ad-hoc
Seguridad y control de acceso
Otras:
Soporte de restricciones
Soporte de vistas
Una
Todo
almacenarse a si mismo.
Modelo
Si
4.2.1 Persistencia
4.2.2 Concurrencia
RESTRICCIONES:
Los SGBDOO no soportan restricciones.
Las restricciones soportadas por los SGBD relacionales se
soportan mediante operaciones
VISTAS:
Los SGBDOO no soportan vistas.
Las vistas soportadas por los SGBD relacionales se soportan
mediante operaciones
4.2.5 Otras
En general:
NombreAlumno
Direccin
Hidalgo Juan
M. Zaballa 100 N
Gonzales Irene
Romero Diego
Martinez Anala
Estudia
Alumno#
Curso#
C1
T2
T2
Q9
F3
Para obtener:
"Nombre de alumnos que cursan
Teologa
Ir a curso para encontrar el
curso# corresp. a Teologa (i.e.T2)
Curso
Curso#
Mendoza 536 N
Mitre 213 O
Ig. De la Roza 5410 O
NombreCurso
C1
Computacin
F3
Filosofa
Q9
Quimica
T2
Teologa
Next
Next
Nil
Alumno# =3
NombreAlumno=Sanchez Ins
Alumno# =2
NombreAlumno=Gonzales Irene
Curso
OBJETO
ALUMNO
Para obtener:
"Nombre de alumnos que cursan Teologa
Buscar en ndice de curso para hallar curso# (i.e. T2)
Seguir punteros a Alumno para hallar cada NombreAlumno
Este proceso es llamado navegacin, notar que depende de punteros y que
muchos de ellos debern ser persitentes.