390 likes | 611 Views
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 • 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!
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
Descripción del curso I.Conceptosbásicos de bases de datos orientada a objetos 1 .Introducción 2.Persistencia de Objetos 3 .db4o II. Conceptosavanzados de bases de datos orientada a objetos. 4.Normas y sistemascomerciales 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ánticaOperació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 Modelo de 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 relacionales Modo de datos Modelo de la cadera Entidadrelacion
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 Activacion de Directorio • XML documentos y XQuery
Red de Base de Datos • Datos organizan en gráfico (red) • Padre puedetenermuchoshijps • Un niñopuedetenermuchos padres • Diagrama de Bachmann • Tipos de registrosdefinenpropiedades • Relaciones de los tipos de conjunto definidos • padre e hijo, lista enlazada (doble)... • Consulta de navegacióngráfica • Ejemplos • CODASYL
Datos organizan como tuplas en relaciones • Vínculo entre tuplas de datos • claves primarias y foraneas • Algebra Relacional • project, select, join • FormasNormalesRelacionales • LenguajeDeclarativo • 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 referenciasbasicas→ conceptosdebensersimuladas • Sistema de tiporestringido→ ninguntipodefinidopor el usuario • Falta de modelossemánticos • datos complejos, control de versiones, funciones • Poco apoyo para la evolución de datos y el esquema • Discrepancia de impedanciaobjeto-relacional Base de Datos Relacionales
Objeto-relacionaldesajuste de impedancia • Desarrollo de aplicaciones orientadas a objetos y • resultados de la gestión de datos relacionales en • choque de dos modelos incompatibles • Códigoparaasignar entre modelosestásobrecargaconsiderable, costosa y difícil de mantener
Base de Datos Orientada a Objetos • Datos representadoscomoobjetos • 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 herenciamú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 • ModeloRelacionalExtendido • relacionesanadidas • referencias • conjuntos • tipos de fila, tipos abstractos • funciones • Declarativa del idiomaextendido • computacionalmentecompleto • Falta de concordancia fundamental siguesiendo • Mezcla de modelos
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
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 • Movil 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 Datos Orientada a Objetos SistemasSistemas • Evitar el desajuste de impedanciaobjeto-relacional • Proporcionar un modelo de datos uniforme • Combinarcaracterísticas y propiedades de • idiomas y sistemas orientados a objetos • sitema de gestión de Bases de Datos
Definición de Bases de Datos Orientada a Objetos • Enfoquediversosistemas de base de datos orientada a objetos • haciendo orientado a objetos lenguajes de programación persistentes • Administración y almacenamiento de datos de objeto • Muchosintentosparadefinirlas bases de datos orientada a objetos • El manifiesto de la base de datos orientada a objetos • 13 funcionesobligatorias • 5 caracteristicasopcionales • 4 opcionesabiertas • Manifiestodespués • varios refutaciones del campo relacional • variaspropiedadesimportantes no dirigidas
September 19, 2008 Michael Grossniklaus – Department of Computer Science – grossniklaus@inf.ethz.ch20 El manifiesto de Base de Datos Orientada a Objetos Objetoscomplejos Objetos de entidad Encapsulamiento 4.Tipos y clases 5.Tipos y jerarquías de clases 6. Reemplazar, sobrecarga y enlace SistemaOrientada a Objetos Computacionalcompleto 8. Extensibilidad 9. Persistente 10. Eficiencia 11. Concurrencia Sistema de Gestión
Objetoscomplejos • objeto complejo formado desde las más simples por constructores • constructores de objetocomplejo de registro, conjunto, bolsa, lista y matriz • constructor de otorgonalidad • La igualdad y la identidad de objeto • cadaobjetotieneidentificador de objetosúnico e inmutable (OID) • usocompartido 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
Encapsulación • consiste en la implementación de la interfaz • interfaz define lasfirmas de métodospúblicos • la implementación incluye métodos y datos de objeto • Estado de objetosólo se modifica a través de métodospúblicos • estructura de datos de objeto puede estar expuesto para consultas declarativas tipo de registro Interfazpública establecer el tipo de 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 a Tipo describe a contiene Objetos Valor
Ventajas • Herencia • herramienta de modelado gran enlace • garantizar la complejidadsemántica • reutilización de especificación y aplicación Publicacion -I-getName() -I-getAuthors() Artículo -I-getPages() -I-getJournal() Libro getISBN() GeneralizaciónJerarquícas
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ónde herencia • subtipo objetos contienen información más específica GeneralizaciónJerarquícas
versión apropiada de método sobrecargado seleccionado en tiempo de ejecución • también conocido como envío de método virtual
IntegridadComputacional y Extensibilidad • Computacionalcompleto • 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 • persisteniaortogonal • persistenciaimplicita • Gestión de almacenamientosecundario • indice de géstion • datos de clustering • almacenamiento temporal de datos • selección de rutas de acceso • optomizació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 lasoperaciones • 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 lasoperaciones
Lenguaje de ConsultaDeclarativa • Lenguaje de alto nivel • expresar de forma concisaconsultas no triviales • interfaz basada en texto o gráfica • declarativo • Eficienteejecución • posibilidad de optimización de la consulta • Aplicaciónindependiente • 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ísticasopcionales • herenciamúltiple • comprobación de tipos y la inferencia • distribución • diseño de transacciones, las transacciones largas, transacciones anidadas • versiones • Abriropciones • paradigma de programación • sistema de representación • sistemas de tipos • uniformidad
Másallá del Manifiesto • Base de Datos de utilidades de admnistración • Definición de la vista y datos derivados • Objetofunciones • 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-relacionalasignaciones y marcos • Persistentes lenguajes de programación