Post on 24-Jan-2016
Orientada a objetos de bases de datosIntroducción
• Visión global del curso.
• Evolución e Historia de los Sistemas de Gestión de bases de datos.
• Requisitos de sistemas orientados a objetos de base de datos de gestión.
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 1
Organización Michael Grossniklaus politécnico di Milano
ETH Zurich Campus Bassini,Room 18/103
IFW D 46.2 +39 022 399 347
+41 44 632 72 73 grossniklaus@elet.polimi.it
grossniklaus@inf.ethz.ch
Alexandre de Spindler
ETH Zurich
IFW D 47.1
+41 44 632 74 16
despindler@inf.ethz.ch
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |2
Ejercicios Curso estará acompañado por los ejercicios el trabajo con las tecnologías tratadas en el curso sesiones tutoriales por semana
A partir del 3rd, 2008 IFW Un 32,1, 11-12 Alexandre de Spindler
opcional, pero sí muy recomendable
September 19,2008 Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch 3
Examen el examen de sesión
Enero 19th, 2009 – Febrero 13th, 2009 Las excepciones se pueden organizar para los
estudiantes de intercambio Examen oral en Inglés duración de 15 minutos 5 ECTS
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 4
Visión general del cursoI. Fundamentos de bases de datos orientadas a objetos 1. introducción 2. La persistencia de objetos 3. db4o
II. Conceptos avanzados de bases de datos orientadas a objetos 4. Normas y comercial Sistemas 5. De almacenamiento e indexación 6. modelos de la versión
III. Los datos objeto semántico de gestión 7. OM OM Modelo de datos y Lenguaje Modelo de Datos 8. Diseño e Implementación de OMS Avon 9. Context-Aware Data Management
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |5
Base de datos de diseño
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 6
Sistemas de gestión de bases de datos
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 7
• Evolución y Historia
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 8
Red
Orientado a objetos Relacional
Semi EstructuradosObjeto relacional
Xml
jerárquica
2000199019801970
Bases de datos jerárquicas
Los datos organizados en un árbol un padre puede tener muchos hijos un niño sólo puede tener uno de los padres
Los registros describen los tipos de entidad 1: N (uno a muchos) las relaciones Consulta por el recorrido de navegación Ejemplos
El sistema de archivo LDAP Windows Registro y Active Directory documentos XML y Xquery
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 9
Bases de datos de red
Los datos organizados en el gráfico (red) un padre puede tener muchos hijos un niño puede tener muchos padres
Bachmann diagramas tipos de discos definir las propiedades Establecer los tipos de relaciones se define
entre padres e hijos, (doble) lista enlazada, ...
Consulta por el gráfico de navegación Ejemplos
CODASYL
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 10
Bases de Datos Relacionales
Los datos organizados en las tuplas en las relaciones Enlace entre los datos de tuplas
claves primarias y foráneas El álgebra relacional
proyecto, seleccione, se unen formas normales de relación lenguaje declarativo
definición de datos, la consistencia, la manipulación y la consulta Ejemplos
Oracle 11g, Microsoft SQL Server, IBM DB2 PostgreSQL, MySQL 19 de septiembre 2008 Michael Grossniklaus - Departamento de Ciencias de la Computación
-
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 11
Bases de Datos Relacionales Modelo relacional es muy simple
sólo los conceptos básicos → referencias deben ser simuladas sistema de tipo restringido → no definidos por el usuario
La falta de modelado semántico datos complejos, control de versiones, los roles
poco apoyo para los datos y la evolución del esquema objeto-relacional de impedancia desajuste
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 12
Objeto-Relacional Impedancia No coinciden
Orientada a objetos de desarrollo de aplicaciones y relacional
resultados de la gestión de datos en choque de dos incompatibles
modelos Código de mapa entre los modelos es una sobrecarga considerable,
costoso y difícil de mantener el 19 de septiembre 2008 Michael Grossniklaus
Departamento de Informática Scie
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 13
Orientada a objetos de bases de datos
Los datos representados como objetos objeto de identidad atributos y métodos
Referencias, relaciones, asociaciones jerarquía de tipos extensible definidos por el usuario, los tipos de datos abstractos herencia simple o múltiple
sobrecarga, la anulación, el enlace lenguaje declarativo para ad-hoc con fines vinculante para lenguaje de programación orientado a objetos
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 14
Bases de datos relacionales modelo relacional extendido
relaciones anidadas referencias conjuntos tipos de filas, tipos abstractos Funciones
lenguaje declarativo extendido computacionalmente completo
desajuste de impedancia sigue siendo fundamental la mezcla de modelos
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 15
Bases de datos relacionales
create type AddressType (
street varchar(10),
city varchar(10)
)
create row type PublicationType (
title varchar(50)
)
create row type BookType (
isbn varchar(10)
) under PublicationType
create row type AuthorType (
name varchar(25),
books setof(BookType),
address AddressType
)
create table Book of type BookType
create table Author of type AuthorType
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 16
Bases de datos emergentes y futuras bases de datos XML
Curso 251-0317-00L XML y bases de datos Prof. Dr. Donald Kossmann, el Dr. Peter Fischer Semestre de otoño, miércoles 13-15
bases de datos móviles y personales Curso 251-0373-00L Móviles y personales Sistemas de Información Prof. Dr. Moira C. Norrie Semestre de otoño, jueves 09.11
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 17
Orientada a objetos de bases de datos
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 18
Evite el objeto-relacional diferencia de impedancia Proporcionar un modelo uniforme de datos Combina las características y propiedades de
sistemas orientados a objetos y lenguajes base de datos de los sistemas de gestión
La definición orientada a objetos de bases de datos
diverso enfoque de los sistemas de bases de datos orientadas a objetos hacer lenguajes orientados a objetos de programaciónpersistentes gestión y almacenamiento de datos de objetos
muchos intentos de definir las bases de datos orientadas a objetos El manifiesto de base de datos orientada a objetos
13 funciones obligatorias 5 características opcionales 4 opciones abiertas
manifiesto las consecuencias refutaciones varios del campo relacional varias propiedades importantes no se tratan
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 19
La base de datos orientada a objetos Manifiesto
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 20
Objetos Los objetos complejos
complejao objeto formado a partir de otras más simples por los constructores
registro, conjunto, la bolsa, de la lista y el conjunto deconstructores de objetos complejos
constructor de ortogonalidad objeto de identidad y la igualdad
cada objeto tiene única e inmutable identificador de objeto (OID) el intercambio de objetos a través de referencias dos objetos son idénticos si tienen el mismo OID dos objetos son iguales si tienen el mismo estado igualdad superficial y profundo
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 21
Objetos Encapsulación
objeto consiste en la interfaz y la implementación interfaz define las firmas de los métodos públicos aplicación incluye datos de los objetos y métodos estado de objeto sólo se modifica a través de métodos públicos objeto de la estructura de datos pueden estar expuestos para las consultas declarativas
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 22
Tipos y Clases
Los Tipos de Datos definition de las Propiedades del Objeto la Parte Estática sí describir a La Estructura del Objeto instancia de parte SE DESCRIBE EL COMPORTAMIENTODinámico de
Objetos Separación de la Interfaz y la Implementacion banking párrafo comprobar la correccion de los Programas enTiempo
de Compilación
Las Clases de Objetos contenedor Para Los Objetos del Mismo Tipo Los Objetos sí pueden buscas? Serie clave Utilizada párr CREAR y manipular Objetos en Tiempo de ejecución resuelve
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 23
Tipos y clases
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 24
Jerarquías de Generalización Ventajas
herramienta de modelado de gran alcance garantía de la complejidad semántica reutilización de especificación y aplicación
Herencia subclase automáticamente a superclase atributos y los métodos se heredan de la superclase subclase puede introducir nuevos atributos y los métodos
La migración entre las clases mover objetos entre los niveles de jerarquía objeto de especialización (↓) y generalización (↑) instancia de clase frente al miembro de la clase
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 25
Generalización de herencia
La sustitución de herencia subtipo tiene más operaciones que supertipo
Subtipo puede estar sustituido en donde se espera supertipo basada en el comportamiento en lugar de valores
La inclusión de herencia todos los objetos de subtipo es también objeto de supertipo basado en la estructura en lugar de las operaciones
restricción de la herencia caso especial de la herencia de su inclusión subtipo se expresa por la fuerza de supertipo
Especialización herencia subtipo objetos contienen información más específica
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 26
Anulación, sobrecarga y enlace en tiempo
el reemplazo de métodos método se redefine en el subtipo garantiza la especialización de los métodos de conserva la interfaz método uniforme
La sobrecarga de métodos efecto causado por el reemplazo de métodos versión varios de un método pueden existir en paralelo
el enlace la versión apropiada del método sobrecargado seleccionada en tiempo de
ejecución también conocido como método virtual despacho
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 27
Integridad computacional y extensibilidad
integridad Computacional requisito de que el lenguaje de implementación del método cualquier función computable puede ser expresada se puede realizar a través de conexión con el lenguaje actual
extensibilidad base de datos tiene un conjunto de tipos predefinidos los desarrolladores pueden definir nuevos tipos de acuerdo a los
requerimientos ninguna distinción entre el uso del sistema y los tipos de usuarios
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 28
La durabilidad y la eficiencia
La persistencia de datos tiene que sobrevivir a la ejecución del programa persistencia ortogonal persistencia implícita
gestión de almacenamiento secundario índice de gestión la agrupación de datos datos de búfer acceso de selección de ruta la optimización de consultas
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 29
Control de concurrencia y recuperación
concurrencia gestión de múltiples usuarios al mismo tiempo que interactúan atomicidad, coherencia, aislamiento y durabilidad serialisability de operaciones
La fiabilidad capacidad de recuperación ante fallos del usuario, de software y hardware las transacciones se pueden confirmar o abortado restaurar el estado anterior coherente de los datos rehacer y deshacer de las transacciones registro de las operaciones
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 30
Lenguaje de consulta declarativa
lenguaje de alto nivel expresas no triviales preguntas de forma concisa interfaz basada en texto o gráficos Declarativa
correcta ejecución de los posibilidad de que la optimización de consultas
aplicación independiente trabajar en cualquier base de datos es posible sin necesidad de métodos adicionales de los tipos definidos por el usuario
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 31
Características opcionales y opciones abiertas
características opcionales herencia múltiple la comprobación de tipos y la inferencia distribución operaciones de diseño, las transacciones de largo, las transacciones anidadas Versiones
opciones abiertas paradigma de programación representación del sistema sistema de tipos la uniformidad
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 32
Más allá del Manifiesto
base de datos de administración de empresas de servicios públicos Ver definición y los datos derivados
papeles de objetos objetos tienen papeles, además de los tipos papeles se puede ganar y perder de forma dinámica
base de datos de la evolución esquema y los datos tiene que evolucionar con gracia en el tiempo
restricciones la integridad, la semántica y la evolución de las restricciones definición, gestión y observancia de las limitaciones
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 33
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
September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch | 34
Próxima semana La persistencia de objetos serialización Los objetos relacionales Asignaciones y marcos Los lenguajes de programación persistentes
35