objeto – orientado a base de datos introducción descripción del curso evolución e historia de...
TRANSCRIPT
Objeto – Orientado a base de datosIntroducció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ónMichael GrossniklausETH Zurich Politecnico di MilanoIFW D 46.2 Campus Bassini, Room 18/103+41 44 632 72 73 +39 022 399 [email protected] [email protected]
Alexandre de SpindlerETH ZurichIFW D 47.1+41 44 632 74 [email protected]
Ejercicios
Curso estará acompañado de ejerciciosTrabajar con las tecnologías tratadas en el cursoTutorial sessions every week
Empezando en Octubre 3rd, 2008IFW A 32.1, 11-12Alexandre de Spindler
Opcional, pero muy recomendable!
Examen
ConvocatoriaEnero 19th, 2009 – Febrero 13th, 2009Las excepciones se pueden organizar para los estudiantes de intercambio
Examen oral en inglesDuración de 15 minutos5 ECTS
Descripción del CursoI. Fundamentos de Base de datos orientados a objetos
1. Introduction2. Persistencia de objetos3. db4o
II. Conceptos avanzados de base de datos orientada a objetos4. Normas y Sistemas comerciales5. Almacenamiento y indexación6. Versión de modelos
III. Objeto de datos de Gestión Semántica7. OM Modelo de Datos y OM Idioma Modelo de Datos8. Diseño e implementación de Avon OMS9. 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 E/R De acceso a datos y SQL, JDBC, ODBCrepresentación
Datos de la semántica Modelo Relacional Operación de la semántica
Persistencia RDBMSACIDDistribución
Capa Interfaz cliente
Capa del modelo de datos
Capa del implementacion
Historia y Evolución
Base de datos JerarquicasDatos organizados en un árbol
Un padre puede tener muchos hijosUn hijo puede tener solo unos padres
Documentos descritos por los tipos de entidad.1:N (uno a muchos) relacionesConsulta por navegación por directoriosEjemplos
Sistema de archivosLDAPRegistro de Windows y Directorio ActivoDocumentos XML y consultas XQuery
Red de Base de datosDatos organizados en grafica (enrejar)
Un padre puede tener muchos hijosUn hijo puede tener muchos padres
Diagramas BachmannLos tipos de registro definen las propiedade3desEstablecer relaciones de tipo definicidos
Padre-hijo, (doble) Lista enlazada, …Consultas por graficas de navegaciónEjemplos
CODASYL
Base de Datos Relacional Los datos organizados en las tuplas en las relacionesEnlace entre tuplas de datos
Claves Primarias y foráneas álgebra relacionalproyecto, seleccione, se unen
Relacionar Formas NormalesDeclarar Lenguaje
Datos DEFINIR, Consistencia, consultando y manipulando
Ejemplos11g de Oracle, Microsoft SQL Server, IBM DB2PostgreSQL, MySQL
Base de Datos RelacionalRelacionar Modelos en Muy sencillo
Conceptos básicos Solo referencias → necesidad de simularsistema restringido de tipo → ningún tipos definidos por el usuario
La falta de modelado semánticodatos complejos, control de versiones, las funciones
Poco apoyo a los datos y la evolución de esquemaimpedancia 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 objetosLos datos se representan como objetos
Objeto de identidadAtributos y métodosreferencias, relaciones, asociaciones
Jerarquía de tipos extensibletipos definidos por el usuario, tipos abstractos de datosHerencia simple o múltipleSobrecarga, primer orden, el enlace
Lenguaje declarativo para el anuncio de los propósitos especialesVinculando el lenguaje de programación orientado a objetos.
Bases de datos Objeto-RelacionalModelo relacional extendido.
Relaciones anidadas.Referencias.Conjuntos.Tipos de fila, Tipos abstractos.Funciones.
Declaración del idioma extendido.Computacionalmente completo.
Falta de concordancias sigue siendoFundamental.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 PublicationTypecreate row type AuthorType (name varchar(25),books setof(BookType),address AddressType)create table Book of type BookTypecreate table Author of type AuthorType
Bases de datos Objeto-RelacionalBase de datos XML
Curso 251-0317-00LBase de datos y XMLProf. Dr. Donald Kossmann, Dr. Peter FischerSemestre de otoño, Miércoles 13-15
Base de datos y móvilesCurso 251-0373-00LMóvil y Sistemas de Información PersonalProf. Dr. Moira C. NorrieSemestre de otoño, jueves 9-11
Bases de datos orientada a objetos
Evite desajustes en el objeto relacionalProporcionar un modelo de datos uniformesCombina las características y propiedades de
sistemas orientados a objetos y lenguajesSistema de Gestión de base de datos
Bases de datos Objeto-RelacionalDiversos enfoque de los sistemas de bases de datos orientadas a objetos
hacer lenguajes de programación orientados a objetos persistentesla gestión y almacenamiento de datos de objetos
Muchos intentos de definir las bases de datos orientadas a objetosEl manifiesto de base de datos orientada a objetos
13 funciones obligatorias 5 caracteristicas opcionales4 opciones abiertas
Manifiesto despuésvarias refutaciones del campo relacionalvarias propiedades importantes no se tratan
La base de datos orientada a objetos Manifiesto
ObjetosObjetos 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 igualdadcada objeto tiene única e inmutable identificador de objeto (OID) intercambio de objetos a través de referenciasdos objetos son idénticos si tienen el mismo OIDdos objetos son iguales si tienen el mismo estado Superficiales y profundas igualdad
ObjetosEncapsulación
objeto consiste en la interfaz y la implementacióninterfaz define las firmas de métodos públicosaplicación incluye datos de objetos y métodosEstado objeto sólo se modifica a través de métodos públicosobjeto de estructura de datos pueden estar expuestos para las consultas declarativas.
Tipos y clasesTipos de datos
Definicion de las propiedades del objetoparte describe la estructura estática objetoparte describe el comportamiento dinámico de objetosseparación de la interfaz y la implementaciónutiliza para comprobar la corrección de los programas en tiempo de compilación
objetos de clasescontenedor de objetos del mismo tipoobjetos se pueden agregar y quitarutiliza para crear y manipular objetos en tiempo de ejecución
Tipos y clases
Clases
Tipos
Objeto Valúa
Tiene
Contiene
Tiene
Describe
Generalización JerárquicaVentajas
potente herramienta de modeladocomplejidad semántica de garantíareutilización de definición y aplicación
InstanciaLos objetos de la subclase pertenecen automáticamente a la superclaselos atributos y los métodos se heredan de la superclasesubclase puede introducir nuevos atributos y los métodos
La migración entre clasesobjetos se mueven entre los niveles de jerarquíapor objeto la especialización (↓) y la generalización (↑)nstancia de clase frente a miembro de la clase
Publicación
+getName()+getAuthors()
Articulo
+getPages()+getJ ourmal()
Libro
+getISBN()
Procesando
+getConference()
Generalización de JerarquíasCambio en la herencia
subtipo tiene más operaciones que supertiposubtipo puede ser sustituido en el supertipo se esperabasados en el comportamiento en lugar de valores
Inclusión herenciatodos los objetos de subtipo también es objeto del supertipobasado en la estructura en lugar de las operaciones
Restricción de la herenciacaso especial de la herencia de la inclusiónsubtipo se expresa por restricción en supertipo
Especialización de la herenciasubtipo objetos contienen información más específica
De primer orden, sobrecarga y el enlaceMétodo imperiosa
método se redefine en el subtipogarantiza la especialización de los métodos deconserva la interfaz método uniforme
Método de sobrecargaefecto causado por el método primordialversión diversos de un método puede existir en paralelo
El enlacela versión apropiada del método sobrecargado seleccionada en tiempo de ejecuciónTambién conocido como método virtual envío
Shape<<Interface>>
+graw(Graphics g)
Rectangle
+graw(Graphics g)
FiledRectangle
+graw(Graphics g)
Integridad de cómputo y extensibilidadcomputacional completo
requisito de la lengua implementación del métodocualquier función computable puede ser expresadapuede realizarse a través de la conexión con las lenguas
extensibilidadbase de datos tiene un conjunto de tipos predefinidosdesarrolladores pueden definir nuevos tipos de acuerdo a los requisitosno distingue entre tipos de uso del sistema y de usuario
Durabilidad y EficienciaPersistencia
datos tiene que sobrevivir a la ejecución del programapersistencia ortogonalimplícita la persistencia
la gestión del almacenamiento secundarioadministración de índicesagrupación de datosalmacenamiento temporal de datosruta de acceso de selecciónoptimización de consultas
Concurrencia Control y RecuperaciónConcurrencia
la gestión de múltiples usuarios al mismo tiempo interactuandoatomicidad, coherencia, aislamiento y durabilidadserialisability de las operaciones
Fiabilidadresiliencia a las fallas del usuario, el software y hardwaretransacciones se pueden cometer o abortadorestaurar el estado anterior coherente de los datosrehacer y deshacer de las transaccionesel registro de las operaciones
Lenguaje de consulta declarativaLenguaje de alto nivel
expresar consultas no triviales de manera concisabasado en texto o la interfaz gráfica dedeclarativa
Eficiente ejecuciónposibilidad de que la optimización de consultas
Aplicación independientetrabajar en cualquier base de datos posiblesin necesidad de métodos adicionales de los tipos definidos por el usuario
Características opcionales y opciones abiertasOpcional características
múltiples herenciacomprobación de tipos y la inferenciaDistribuciónoperaciones de diseño, las operaciones de largo, las transacciones anidadasversiones
Abrir opcionesparadigma de programaciónsistema de representaciónsistema de tiposuniformidad
Más allá del Manifiesto
base de datos de utilidades de administraciónDefinición de vista y los datos derivadosObjeto funciones
objetos tienen funciones, además de los tiposfunciones se puede ganar y perdió de forma dinámica
La evolución de la base de datosesquema y los datos tiene que evolucionar con gracia en el tiempo
Limitacionesrestricciones de integridad, semántico y la evolucióndefinición, gestión y ejecución de las restricciones
LiteratureM. 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 1992M. 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), 1990H. Darwen and C. J. Date: The Third Manifesto, In: ACM SIGMOD RECORD, 24(1), 1995
Siguiente semanaPersistencia de objetosSerializaciónrelacional de objetos Asignaciones y marcosLenguajes de programación persistentes