Download Orientado a base de datos
Document related concepts
Transcript
Objeto – Orientado a base de datos Introducción • 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 Organización Michael Grossniklaus ETH Zurich IFW D 46.2 +41 44 632 72 73 grossniklaus@inf.ethz.ch Alexandre de Spindler ETH Zurich IFW D 47.1 +41 44 632 74 16 despindler@inf.ethz.ch Politecnico di Milano Campus Bassini, Room 18/103 +39 022 399 3474 grossniklaus@elet.polimi.it Ejercicios Curso estará acompañado de ejercicios Trabajar con las tecnologías tratadas en el curso Tutorial sessions every week Empezando en Octubre 3rd, 2008 IFW A 32.1, 11-12 Alexandre de Spindler Opcional, pero muy recomendable! Examen Convocatoria Enero 19th, 2009 – Febrero 13th, 2009 Las excepciones se pueden organizar para los estudiantes de intercambio Examen oral en ingles Duración de 15 minutos 5 ECTS Descripción del Curso I. Fundamentos de Base de datos orientados a objetos 1. 2. 3. II. Conceptos avanzados de base de datos orientada a objetos 4. 5. 6. III. Introduction Persistencia de objetos db4o Normas y Sistemas comerciales Almacenamiento y indexación Versión de modelos Objeto de datos de Gestión Semántica 7. 8. 9. OM Modelo de Datos y OM Idioma Modelo de Datos Diseño e implementación de Avon OMS Sensible al contexto de gestión de datos Diseño de la Base de datos Diseño Conceptual Implementación del diseño Diseño Físico Base de datos de Sistemas de Gestión Modelados Conceptuales De acceso a datos y representación Capa Interfaz cliente E/R SQL, JDBC, ODBC Datos de la semántica Operación de la semántica Capa del modelo de datos Modelo Relacional Persistencia ACID Distribución Capa del implementacion RDBMS Historia y Evolución Base de datos Jerarquicas Datos organizados en un árbol Un padre puede tener muchos hijos Un hijo puede tener solo unos padres Documentos descritos por los tipos de entidad. 1:N (uno a muchos) relaciones Consulta por navegación por directorios Ejemplos Sistema de archivos LDAP Registro de Windows y Directorio Activo Documentos XML y consultas XQuery Red de Base de datos Datos organizados en grafica (enrejar) Un padre puede tener muchos hijos Un hijo puede tener muchos padres Diagramas Bachmann Los tipos de registro definen las propiedade3des Establecer relaciones de tipo definicidos Padre-hijo, (doble) Lista enlazada, … Consultas por graficas de navegación Ejemplos CODASYL Base de Datos Relacional Los datos organizados en las tuplas en las relaciones Enlace entre tuplas de datos Claves Primarias y foráneas álgebra relacional proyecto, seleccione, se unen Relacionar Formas Normales Declarar Lenguaje Datos DEFINIR, Consistencia, consultando y manipulando Ejemplos 11g de Oracle, Microsoft SQL Server, IBM DB2 PostgreSQL, MySQL Base de Datos Relacional Relacionar Modelos en Muy sencillo Conceptos básicos Solo referencias → necesidad de simular sistema restringido de tipo → ningún tipos definidos por el usuario La falta de modelado semántico datos complejos, control de versiones, las funciones Poco apoyo a los datos y la evolución de esquema impedancia objeto-relacional desajuste Impedancia Objeto-Relacional coinciden •Aplicación orientada a objetos de desarrollo y relaciones de resultados de gestión de datos en el choque de dos modelos incompatibles. •El código para asignar entre dos modelos es una sobrecarga considerable costoso y difícil de mantener. Bases de datos orientada a objetos Los datos se representan como objetos Objeto de identidad Atributos y métodos referencias, relaciones, asociaciones Jerarquía de tipos extensible tipos definidos por el usuario, tipos abstractos de datos Herencia simple o múltiple Sobrecarga, primer orden, el enlace Lenguaje declarativo para el anuncio de los propósitos especiales Vinculando el lenguaje de programación orientado a objetos. Bases de datos Objeto-Relacional Modelo relacional extendido. Relaciones anidadas. Referencias. Conjuntos. Tipos de fila, Tipos abstractos. Funciones. Declaración del idioma extendido. Computacionalmente completo. Falta de concordancias sigue siendo Fundamental. Mezcla de modelos Bases de datos Objeto-Relacional 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 Bases de datos Objeto-Relacional Base de datos XML Curso 251-0317-00L Base de datos y XML Prof. Dr. Donald Kossmann, Dr. Peter Fischer Semestre de otoño, Miércoles 13-15 Base de datos y móviles Curso 251-0373-00L Móvil y Sistemas de Información Personal Prof. Dr. Moira C. Norrie Semestre de otoño, jueves 9-11 Bases de datos orientada a objetos Evite desajustes en el objeto relacional Proporcionar un modelo de datos uniformes Combina las características y propiedades de sistemas orientados a objetos y lenguajes Sistema de Gestión de base de datos Bases de datos Objeto-Relacional Diversos enfoque de los sistemas de bases de datos orientadas a objetos hacer lenguajes de programación orientados a objetos persistentes la 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 caracteristicas opcionales 4 opciones abiertas Manifiesto después varias refutaciones del campo relacional varias propiedades importantes no se tratan La base de datos orientada a objetos Manifiesto Objetos Objetos Compuestos complejo objeto formado a partir de otras más simples por constructores registro, sistema, la bolsa, la lista de constructores y compleja variedad de objetos ortogonalidad constructor objetos de identidad y la igualdad cada objeto tiene única e inmutable identificador de objeto (OID) 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 Superficiales y profundas igualdad Objetos Encapsulación objeto consiste en la interfaz y la implementación interfaz define las firmas de métodos públicos aplicación incluye datos de objetos y métodos Estado objeto sólo se modifica a través de métodos públicos objeto de estructura de datos pueden estar expuestos para las consultas declarativas. Tipos y clases Tipos de datos Definicion de las propiedades del objeto parte describe la estructura estática objeto parte describe el comportamiento dinámico de objetos separación de la interfaz y la implementación utiliza para comprobar la corrección de los programas en tiempo de compilación objetos de clases contenedor de objetos del mismo tipo objetos se pueden agregar y quitar utiliza para crear y manipular objetos en tiempo de ejecución Tipos y clases Tipos Clases Tiene Contiene Describe Objeto Valúa Tiene Generalización Jerárquica Publicación +getName() +getAuthors() Ventajas potente herramienta de modelado complejidad semántica de garantía reutilización de definición y aplicación Articulo +getPages() +getJourmal() Instancia Los objetos de la subclase pertenecen automáticamente a la superclase los atributos y los métodos se heredan de la superclase subclase puede introducir nuevos atributos y los métodos La migración entre clases objetos se mueven entre los niveles de jerarquía por objeto la especialización (↓) y la generalización (↑) nstancia de clase frente a miembro de la clase Libro +getISBN() Procesando +getConference() Generalización de Jerarquías Cambio en la herencia subtipo tiene más operaciones que supertipo subtipo puede ser sustituido en el supertipo se espera basados en el comportamiento en lugar de valores Inclusión herencia todos los objetos de subtipo también es objeto del supertipo basado en la estructura en lugar de las operaciones Restricción de la herencia caso especial de la herencia de la inclusión subtipo se expresa por restricción en supertipo Especialización de la herencia subtipo objetos contienen información más específica De primer orden, sobrecarga y el enlace Método imperiosa método se redefine en el subtipo garantiza la especialización de los métodos de conserva la interfaz método uniforme Método de sobrecarga <<Interface>> Shape +graw(Graphics g) Rectangle +graw(Graphics g) FiledRectangle +graw(Graphics g) efecto causado por el método primordial versión diversos de un método puede 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 envío Integridad de cómputo y extensibilidad computacional completo requisito de la lengua implementación del método cualquier función computable puede ser expresada puede realizarse a través de la conexión con las lenguas extensibilidad base de datos tiene un conjunto de tipos predefinidos desarrolladores pueden definir nuevos tipos de acuerdo a los requisitos no distingue entre tipos de uso del sistema y de usuario Durabilidad y Eficiencia Persistencia datos tiene que sobrevivir a la ejecución del programa persistencia ortogonal implícita la persistencia la gestión del almacenamiento secundario administración de índices agrupación de datos almacenamiento temporal de datos ruta de acceso de selección optimización de consultas Concurrencia Control y Recuperación Concurrencia la gestión de múltiples usuarios al mismo tiempo interactuando atomicidad, coherencia, aislamiento y durabilidad serialisability de las operaciones Fiabilidad resiliencia a las fallas del usuario, el software y hardware transacciones se pueden cometer o abortado restaurar el estado anterior coherente de los datos rehacer y deshacer de las transacciones el registro de las operaciones Lenguaje de consulta declarativa Lenguaje de alto nivel expresar consultas no triviales de manera concisa basado en texto o la interfaz gráfica de declarativa Eficiente ejecución posibilidad de que la optimización de consultas Aplicación independiente trabajar en cualquier base de datos posible sin necesidad de métodos adicionales de los tipos definidos por el usuario Características opcionales y opciones abiertas Opcional características múltiples herencia comprobación de tipos y la inferencia Distribución operaciones de diseño, las operaciones de largo, las transacciones anidadas versiones Abrir opciones paradigma de programación sistema de representación sistema de tipos uniformidad Más allá del Manifiesto base de datos de utilidades de administración Definición de vista y los datos derivados Objeto funciones objetos tienen funciones, además de los tipos funciones se puede ganar y perdió de forma dinámica La evolución de la base de datos esquema y los datos tiene que evolucionar con gracia en el tiempo Limitaciones restricciones de integridad, semántico y la evolución definición, gestión y ejecución de las restricciones Literature 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: ThirdGeneration 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 Siguiente semana Persistencia de objetos Serialización relacional de objetos Asignaciones y marcos Lenguajes de programación persistentes