350 likes | 517 Vues
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. B ases de D atos O rientada a Objetos Introducción. Organización Michael Grossniklaus
E N D
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
Organización • Michael Grossniklaus • ETH Zurich Politecncoidi Milano • IFW D 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
Ejercicios • El curos estará acompañado de ejercicios • Se trabajara con las tecnologías tratadas en el curso • Sesiones tutoriales todas las semanas • A partir del 03 de octubre 2008 • IFW Un 32.1, 12.11 • Alexandre de Spindler • Opcional, pero muy recomendable!
Examen • Del períodode sesiones • 19 De enero de 2009 – el 13 de febrero de 2009 • Excepciones pueden organizarse para estudiantes de intercambio • Examenoral en inglés • Duraciónde 15 minutos • 5 ECTS
Descripcióndel curso I.Conceptos básicos de bases de datosorientada 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
Diseño de Base de Datos Diseño conceptual Aplicación de diseño Diseño Fisico
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
Historia y Evolución ODMG 3.0 ODMG 1.0 OM Modelode Datos CODASYL Estándar SQL-86 SQL SQL:1999 XML Jerárquica Relacionales Red Object Oriented Objeto-Relacional Semi-estructurados XML 1960 1970 1980 1990 2000 Modode datos ModeloEntidad-Relación
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 • Registrode Windows y Activaciónde Directorio • XML documentos y XQuery
Red de Base de Datos • Datos organizan en gráfico (red) • Padre puede tener muchos hijos • 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
Datos organizan como tuplas en relaciones • Vínculo entre tuplas de datos • claves primarias y foráneas • 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
Modelo relacional es muy sencillo • Solo referencias básicas→ conceptos deben ser simuladas • Sistema de tipo restringido → ningún 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
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.
Base de DatosOrientada a Objetos • Datos representados como objetos • Objeto de identidad • Atributos y métodos • 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
Base de Datos Objeto-Relacional • Modelo Relacional Extendido • relaciones añadidas • referencias • conjuntos • tipos de fila, tipos abstractos • funciones • Declarativa del idioma extendido • computacionalmente completo • Falta de concordancia fundamental sigue siendo • Mezcla de modelos
Base de DatosObjeto-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
Bases de Datos nuevas y futuras • XML Base de Datos • Curso251-0317- 00L • XML y Base de Datos • Prof. Dr. Donald Kossmann, Dr. Peter Fischer • Semestre de Otoño, Wed 13-15 • Móvil y Bases de Datos personales • Cuso251-0373-00L • Móviles y sistemas de Información Personal • Prof. Dr. Moira C. Norrie • Semestre de Otoño, Thu 9 - 11
Base de Datos Orientada a Objetos Base de DatosOrientada a Objetos SistemasSistemas • 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 • Sistema de gestión de Bases de Datos
Definiciónde Bases de DatosOrientada a Objetos • Enfoque diverso sistemas de base de datosorientada 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 datosorientadaa objetos • El manifiesto de la base de datos orientada a objetos • 13 funciones obligatorias • 5 características opcionales • 4 opciones abiertas • Manifiesto después • varios refutaciones del campo relacional • varias propiedades importantes no dirigidas
September 19, 2008 Michael Grossniklaus – Department of Computer Science – grossniklaus@inf.ethz.ch20 El manifiesto de Base de Datos Orientada a Objetos Objetos complejos Objetos de entidad Encapsulamiento Tipos y clases Tipos y jerarquías de clases Reemplazar, sobrecarga y enlace Sistema Orientada a Objetos Computacional completo Extensibilidad Persistente Eficiencia Concurrencia Fiabilidad Lenguaje de consulta declarativa Sistema de Gestión
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 • igualdadsuperficial y profunda Objetos
Encapsulación • Consiste en la implementación de la interfaz • 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 Interfaz pública Establecer el tipo Objetos
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
Clase Tipo describe contiene Objetos Valor Tipos y Clases tiene tiene
Ventajas • Herencia • Poderosa herramienta de modelado • Garantizar la complejidad semántica • Reutilización de especificación y aplicación Publicación -I-getName() -I-getAuthors() Artículo -I-getPages() -I-getJournal() Libro getISBN() Generalización Jerárquicas
Cambio en la herencia • Subtipostienen mas operacionesque los supertipos • 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 • Especialización de herencia • subtipo objetos contienen información más específica Generalización Jerárquicas
versión apropiada de método sobrecargado seleccionado en tiempo de ejecución • también conocido como envío de método virtual
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
Durabilidad y Eficiencia • Persistencia • datos tienen que sobrevivir la ejecución del programa • persistencia ortogonal • persistencia implícita • Gestión de almacenamiento secundario • índicede gestión • datosde clustering • almacenamiento temporal de datos • selección de rutas de acceso • optimización de la consulta
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
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
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
Más allá del Manifiesto • Base de Datos de utilidades de administració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
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
PróximaSemana • Persistencia de objetos • Serialización • Objeto-relacional asignaciones y marcos • Persistentes lenguajes de programación