350 likes | 471 Views
Orientada a objetos de bases de datos I ntroducció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. Organización
E N D
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 |
Organización • Michael Grossniklaus politécnico di Milano ETH Zurich Campus Bassini,Room18/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 |
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
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 |
Visión general del curso I.Fundamentos de bases de datos orientadas a objetos1. introducción 2. La persistencia de objetos3.db4o II.Conceptos avanzados de bases de datos orientadas a objetos4.Normas y comercial Sistemas 5. De almacenamiento e indexación6. modelos de la versión III. Los datos objeto semántico de gestión7. OM OM Modelo de datos y Lenguaje Modelo de Datos 8. Diseño e Implementación de OMS Avon9.Context-Aware Data Management September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
Base de datos de diseño September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
Sistemas de gestión de bases de datos September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
Red Relacional Orientado a objetos Objeto relacional Semi Estructurados Xml • Evolución y Historia jerárquica 1970 2000 1980 1990 September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Bases de datos relacionales createtypeAddressType ( streetvarchar(10), cityvarchar(10) ) createrowtypePublicationType ( titlevarchar(50) ) createrowtypeBookType ( isbnvarchar(10) ) underPublicationType createrowtypeAuthorType ( namevarchar(25), bookssetof(BookType), addressAddressType ) createtableBookof typeBookType createtableAuthorof typeAuthorType September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
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-00LMó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 |
Orientada a objetos de bases de datos • 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 September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
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 |
La base de datos orientada a objetos Manifiesto September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
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 |
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étodospú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 |
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 |
Tipos y clases September 19,2008 | Michael Grossniklaus-Deparment of computer Science-grossniklaus@inf.ethz.ch |
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 |
Generalización de herencia • La sustitución de herencia • subtipo tiene más operaciones que supertipoSubtipo • 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 DatabaseSystemManifesto, 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 |
Próxima semana La persistencia de objetos • serialización • Los objetos relacionales Asignaciones y marcos • Los lenguajes de programación persistentes