Objeto – Orientado a base de datos Introducción

35
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

description

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 Politecnico di Milano - PowerPoint PPT Presentation

Transcript of Objeto – Orientado a base de datos Introducción

Page 1: Objeto – Orientado a base de datos Introducción

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

Page 2: Objeto – Orientado a base de datos Introducción

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]

Page 3: Objeto – Orientado a base de datos Introducción

EjerciciosCurso 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!

Page 4: Objeto – Orientado a base de datos Introducción

ExamenConvocatoria

Enero 19th, 2009 – Febrero 13th, 2009Las excepciones se pueden organizar para los estudiantes de intercambio

Examen oral en inglesDuración de 15 minutos5 ECTS

Page 5: Objeto – Orientado a base de datos Introducción

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

Page 6: Objeto – Orientado a base de datos Introducción

Diseño de la Base de datos

Diseño Conceptual

Implementación del diseño

Diseño Físico

Page 7: Objeto – Orientado a base de datos Introducción

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

Page 8: Objeto – Orientado a base de datos Introducción

Historia y Evolución

Page 9: Objeto – Orientado a base de datos Introducció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

Page 10: Objeto – Orientado a base de datos Introducción

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

Page 11: Objeto – Orientado a base de datos Introducción

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

Page 12: Objeto – Orientado a base de datos Introducción

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

Page 13: Objeto – Orientado a base de datos Introducción

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.

Page 14: Objeto – Orientado a base de datos Introducción

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.

Page 15: Objeto – Orientado a base de datos Introducción

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

Page 16: Objeto – Orientado a base de datos Introducción

Bases de datos Objeto-Relacionalcreate 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

Page 17: Objeto – Orientado a base de datos Introducción

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

Page 18: Objeto – Orientado a base de datos Introducción

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

Page 19: Objeto – Orientado a base de datos Introducción

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

Page 20: Objeto – Orientado a base de datos Introducción

La base de datos orientada a objetos Manifiesto

Page 21: Objeto – Orientado a base de datos Introducción

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

Page 22: Objeto – Orientado a base de datos Introducción

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.

Page 23: Objeto – Orientado a base de datos Introducción

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

Page 24: Objeto – Orientado a base de datos Introducción

Tipos y clases

Clases

Tipos

Objeto Valúa

Tiene

Contiene

Tiene

Describe

Page 25: Objeto – Orientado a base de datos Introducción

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()

Page 26: Objeto – Orientado a base de datos Introducción

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

Page 27: Objeto – Orientado a base de datos Introducción

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)

Page 28: Objeto – Orientado a base de datos Introducción

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

Page 29: Objeto – Orientado a base de datos Introducción

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

Page 30: Objeto – Orientado a base de datos Introducción

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

Page 31: Objeto – Orientado a base de datos Introducción

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

Page 32: Objeto – Orientado a base de datos Introducción

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

Page 33: Objeto – Orientado a base de datos Introducción

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

Page 34: Objeto – Orientado a base de datos Introducción

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

Page 35: Objeto – Orientado a base de datos Introducción

Siguiente semanaPersistencia de objetosSerializaciónrelacional de objetos Asignaciones y marcosLenguajes de programación persistentes