1. Descripción del Curso
Evolución e Historia de los Sistemas de Gestión de Base de Datos
Requisitos de Sistemas de Gestión orientada a objetos de base de datos
Bases de Datos Orientada a Objetos
Introducción
2. Organización
Michael Grossniklaus
ETH Zurich Politecnco idi Milano
IFWD 46.2 Campus Bassini, Sala 18/103
+41 44 632 72 73 +39 022 399 3474
grossniklaus@inf.ethz.ch
grossniklaus@elet.polimi.it
Alexandre de Spindler
ETH Zurich
IFW D 47.1
+ 41 44 632 74 16
despindler@inf.ethz.ch
3. Ejercicios
Curso estará acompañado de ejercicios
Trabajar con las tecnologías tratadas en el curso
Tutorial de sesiones todas las semanas
A partir del 03 de octubre 2008
IFW Un 32.1, 12.11
Alexandre de Spindler
Opcional, pero muy recomendable!
4. Examen
Del período de sesiónes
19 De enero de 2009 – el 13 de febrero de 2009
Excepciones pueden organizarse para estudiantes de intercambio
Examen oral en inglés
Duración de 15 minutos
5 ECTS
5. Descripción del curso
I. Conceptos básicos de bases de datos orientada a objetos
1. Introducción
2. Persistencia de Objetos
3 . db4o
II. Conceptos avanzados de bases de datos orientada a objetos.
4. Normas y sistemas comerciales
5. Almacenamiento e indexación
6. Versión Modelos
III. Gestión de datos de objeto semántica
7. Modelo de datos de OM y lenguaje de modelo de datos de OM g
8. Diseño e implementación de OMS Avon
9. Gestión de datos consciente de contexto
6. Diseño de Base de Datos
Diseño conceptual
Aplicación de diseño
Diseño Fisico
7. Sistema de Gestión de Base de
Datos
Modelo
conceptual
Representación y
acceso a datos
Datos de la
semántica
Operación de la
semántica
Persistencia
ACIDO
Distribución
Capa de interfaz de cliente
Datos de la capa de
modelo
Capa de almacenamiento
F/R
SQL, JDBC, ODBC
Modelo Relacional
RDBMS
9. Base de Datos jerárquica
Datos organizados en un árbol
Un padre pude tener muchos hijos
Un niño solo pueden un padre
Documentos descritos por los tipos de entidad
1:N (uno a muchos) las relaciones
Consulta de navegación de directorio
Ejemplos
Sistemas de archivos
LDAP
Registro de Windows yActivacion de Directorio
XML documentos y XQuery
10. Red de Base de Datos
Datos organizan en gráfico (red)
Padre puede tener muchos hijps
Un niño puede tener muchos padres
Diagrama de Bachmann
Tipos de registros definen propiedades
Relaciones de los tipos de conjunto
definidos
padre e hijo, lista enlazada (doble)...
Consulta de navegación gráfica
Ejemplos
CODASYL
11.
Datos organizan como tuplas en relaciones
Vínculo entre tuplas de datos
claves primarias y foraneas
Algebra Relacional
project, select, join
Formas Normales Relacionales
Lenguaje Declarativo
definición de datos, la coherencia, la manipulación y la consulta
Ejemplos
Oracle 11g, Microsoft SQL Server, IBM DB2
PostgreSQL, MySQL
12. Modelo relacional es muy sencillo
Solo referencias basicas → conceptos deben ser simuladas
Sistema de tipo restringido → ningun tipo definido por el usuario
Falta de modelos semánticos
datos complejos, control de versiones, funciones
Poco apoyo para la evolución de datos y el esquema
Discrepancia de impedancia objeto-relacional
Base de Datos Relacionales
13. Objeto-relacional desajuste de impedancia
Desarrollo de aplicaciones orientadas a objetos y
resultados de la gestión de datos relacionales en
choque de dos modelos incompatibles
Código para asignar entre modelos está sobrecarga
considerable, costosa y difícil de mantener
14. Base de Datos Orientada a Objetos
Datos representados como objetos
Objeto de identidad
Atributos y metodos
Referencias, relaciones , asociaciones
Jerarquía de tipo extensible
tipos definidos por el usuario, tipos de datos abstractos
solo o herencia múltiple
enlace de sobrecargas, primordial, final
Lenguaje declarativo para fines especiales
Vinculante para el lenguaje de programación orientado a objetos
15. Base de Datos Objeto-Relacional
Modelo Relacional Extendido
relacionesanadidas
referencias
conjuntos
tipos de fila, tipos abstractos
funciones
Declarativa del idioma extendido
computacionalmente completo
Falta de concordancia fundamental sigue siendo
Mezcla de modelos
16. Base de Datos Objeto-Relacional
create type AddressType (
street varchar(10),
city varchar(10)
)
create row type PublicationType
( titlevarchar(50)
)
create row type BookType
( isbnvarchar(10)
) under PublicationType
create row type AuthorType (
namevarchar(25),
bookssetof(BookType),
address AddressType
)
create table Book of type BookType
create table Author of type AuthorType
17. Bases de Datos nuevas y futuras
XML Base de Datos
Curso 251-0317- 00L
XML y Base de Datos
Prof. Dr. Donald Kossmann, Dr. Peter Fischer
Semestre de Otoño, Wed 13-15
Movil y Bases de Datos personales
Cuso 251-0373-00L
Móviles y sistemas de Información Personal
Prof. Dr. Moira C. Norrie
Semestre de Otoño, Thu 9 - 11
18. Base de DatosOrientada a Objetos
Base de Datos Orientada a Objetos
Sistemas Sistemas
Evitar el desajuste de impedancia objeto-relacional
Proporcionar un modelo de datos uniforme
Combinar características y propiedades de
idiomas y sistemas orientados a objetos
sitema de gestión de Bases de Datos
19. Definición de Bases de Datos Orientada a Objetos
Enfoque diverso sistemas de base de datos orientada a objetos
haciendo orientado a objetos lenguajes de programación persistentes
Administración y almacenamiento de datos de objeto
Muchos intentos para definir las bases de datos orientada a objetos
El manifiesto de la base de datos orientada a objetos
13 funcionesobligatorias
5 caracteristicas opcionales
4 opciones abiertas
Manifiesto después
varios refutaciones del campo relacional
varias propiedades importantes no dirigidas
20. September 19,2008 Michael Grossniklaus – Department of Computer Science – grossniklaus@inf.ethz.ch20
El manifiesto de Base de Datos Orientada a
Objetos
1. Objetos complejos
2. Objetos de entidad
3. Encapsulamiento
4 . Tipos y clases
5. Tipos y jerarquías de clases
6. Reemplazar, sobrecarga y enlace
Sistema Orientada
a Objetos
7. Computacional completo
8. Extensibilidad
9. Persistente
10. Eficiencia
11. Concurrencia Sistema de Gestión
de Base de Datos 12. Fiabilidad
13. Lenguaje de consulta declarativa
21. Objetos complejos
objeto complejo formado desde las más simples por constructores
constructores de objeto complejo de registro, conjunto, bolsa, lista y matriz
constructor de otorgonalidad
La igualdad y la identidad de objeto
cada objeto tiene identificador de objetos único e inmutable (OID)
uso compartido de objetos a través de referencias
dos objetos son iguales si tienen el mismo OID
dos objetos son iguales si tienen el mismo Estado
igualdad superficial y profunda
Objetos
22. Encapsulación
consisteenlaimplementacióndelainterfaz
interfaz define las firmas de métodos públicos
la implementación incluye métodos y datos de objeto
Estado de objeto sólo se modifica a través de métodos públicos
estructura de datos de objeto puede estar expuesto para consultas
declarativas
tipo de registro
Interfa
z pública
establecer
el tipo de
Objetos
23. Tipos de datos
definición de propiedades de objeto
elemento estático describe la estructura de objeto
parte dinámica describe el comportamiento del objeto
separación de interfaz e implementación
utilizado para comprobar la corrección de programas en tiempo de
compilación
Clases de objetos
contenedor de objetos del mismo tipo
pueden añadir y eliminar objetos
para crear y manipular objetos en tiempo de ejecución
Tipos y Clases
25. • Ventajas
• Herencia
herramientademodeladogranenlace
garantizar la complejidad semántica
reutilización de especificación y aplicación
Publicacion
-I-getName()
-I-getAuthors()
Artículo
-I-getPages()
-I-getJournal()
Libro
getISBN()
objetos de subclase pertenecen automáticamente a la
superclase
atributos y métodos heredados de la superclase
subclase puede introducir nuevos atributos y métodos
Migración entre las clases
mover objetos entre los niveles de la jerarquía
especialización de objeto (↓) y generalización (↑)
instancia de la clase frente a miembros de clase
Procedimiento
getConference()
Generalización Jerarquícas
26. Cambio en la herencia
Internet has more operations than supertype
subtipo puede sustituirse donde se espera supertipo
basado en el comportamiento, en lugar de valores
Inclusión de la herencia
cada objeto de subtipo es también objeto de supertipo
based on structure rather than operations
Restricción de la herencia
caso especial de herencia de inserción
subtipo se expresa por la restricción de supertipo
Especializacón de herencia
subtipo objetos contienen información más específica
Generalización Jerarquícas
27. Reemplazar, sobrecarga y tarde vinculante
Method overriding
método se redefine en subtipo
especialización de garantías de métodos
interfaz de método uniforme de conservas
«interface»
Shape
+draw(Graphics g)
Rectangulo
+draw(Graphics g)
Método de sobrecarga
efecto causado por reemplazar el método
puede existir varios versión de un método en paralelo
El enlace
Rectangulo con Relleno
+draw(Graphics g)
versión apropiada de método sobrecargado seleccionado en tiempo de
ejecución
también conocido como envío de método virtual
28. Integridad Computacional y Extensibilidad
• Computacional completo
requisitos para el lenguaje de implementación del método
puede expresar cualquier función computable
pueden realizarse a través de la conexión con el lenguaje existente
Extensibilidad
base de datos tiene un conjunto de tipos predefinidos
los desarrolladores pueden definir nuevos tipos de acuerdo a los
requerimientos
sin distinción de uso entre tipos de sistema y de usuario
29. Durabilidad y Eficiencia
Persistencia
datos tienen que sobrevivir la ejecución del programa
persistenia ortogonal
persistencia implicita
Gestión de almacenamiento secundario
indice de géstion
datos de clustering
almacenamiento temporal de datos
selección de rutas de acceso
optomización de la consulta
30. Recuperación y Control de concurrencia
Concurrencia
Administración de múltiples usuarios interactuar simultáneamente
atomicidad, coherencia, aislamiento y durabilidad
seriabilización de las operaciones
Fiabilidad
resistencia a fallos de hardware, software y usuario
las transacciones pueden comprometidas o anuladas
restaurar el estado anterior de coherente de los datos
Rehacer y deshacer de transacciones
registro de las operaciones
31. Lenguaje de Consulta Declarativa
Lenguaje de alto nivel
expresar de forma concisa consultas no triviales
interfaz basada en texto o gráfica
declarativo
Eficiente ejecución
posibilidad de optimización de la consulta
Aplicación independiente
trabajar en cualquier base de datos posible
no hay necesidad de métodos adicionales de tipos definidos por el usuario
32. Abrir Opciones y características opcionales
Características opcionales
herencia múltiple
comprobación de tipos y la inferencia
distribución
diseño de transacciones, las transacciones largas, transacciones anidadas
versiones
Abrir opciones
paradigma de programación
sistema de representación
sistemas de tipos
uniformidad
33. Más allá del Manifiesto
Base de Datos de utilidades de admnistración
Definición de la vista y datos derivados
Objeto funciones
los objetos tienen funciones además de tipos
funciones pueden ganó y perdió dinámicamente
Bade de Datos de la evolución
esquema y datos tiene que evolucionar correctamente con el tiempo
Restricciones
integridad, semántica y las limitaciones de la evolución
Definición, gestión y aplicación de restricciones
34. Literatura
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier,
and S . Zdonik: The Object-Oriented Database System
Manifesto, In: Building an Object-Oriented Database
System, Morgan Kaufmann 1992
M. Stonebraker, L. A. Rowe, B. Lindsay, J. Gray, M. Carey,
M . Brodie, P. Bernstein, and D . Beech: Third-Generation
Database System Manifesto, In: ACM SIGMOD
RECORD, 19(3), 1990
H. Darwen and C. J. Date: The Third Manifesto, In: ACM
SIGMOD RECORD, 24(1), 1995
35. Próxima Semana
Persistencia de objetos
Serialización
Objeto-relacional asignaciones y marcos
Persistentes lenguajes de programación