Tutorial de EERR-OO

download report

Transcript Tutorial de EERR-OO

Base de Datos Orientada a Objetos

Antonio Aguilar Galicia Juana Vivas Villanueva Greysi Martínez Arce

Base de Datos Orientada a Objetos

• • •

Introducción

Visión General del Curso Evolución e Historia de los Sistemas de Gestión de Bases de Datos Requisitos de los Sistemas de Gestión de Gestión de Bases de Datos Orientados a Objetos

Organización

Ejercicios

    El curso será acompañado por ejercicios Trabajar con tecnologías tratadas en el curso Sesiones de tutoría por semana  Iniciando en Octubre 3, 2008  IFW A 32.1, 11-12  Alexandre de Spindler ¡Opcional pero si muy recomendable!

Examen

    Período de sesiones de exámenes  Enero 19, 2009 – Febrero 13, 2009  Las excepciones se pueden organizar para los estudiantes de intercambio.

Examen oral en inglés Duración de 15 minutos 5 ECTS

Visión general del curso

I.

Fundamentos de Bases de datos orientados a objetos 1. Introducción 2. La persistencia de objetos 3. db4o II. Conceptos avanzados de bases de datos orientados a objetos 4. Normas y sistemas comerciales 5. Almacenamiento e indexación 6. Modelos de la versión III. Semántica gestionado de objetos de datos 7. Modelo de Datos OM y Leguaje de Modelo de Datos OM 8. Diseño e Implementación de OMS Avon 9. Contexto – Consciente de Gestión de Datos

Diseño de Base de Datos

Diseño Conceptual Diseño de Implementación Diseño Físico

Sistema de Gestión de Base de Datos

Modelo Conceptual de acceso y representación de datos

Capa de Interfaz de Cliente

E/R SQL, JDBC, ODBC Datos de la Semántica Operaciones de Semántica la

Capa de Modelo de Datos

Modelo Relacional Persistencia ACID Distribución

Capa de Almacenamiento

RDBMS

Evolución e Historia

1960 Jerarquía Red 1970 1980 Relacional Orientado a Objetos Objeto Relacional Semi - Estructurado XML 1990 2000

Jerarquía en Bases de Datos

     Datos organizados en árbol  Un padre puede tener muchos hijos  Un hijo puede tener solo un padre Examen oral en inglés Duración de 15 minutos 5 ECTS Ejemplos  Un padre puede tener muchos hijos  Un hijo puede tener solo un padre Autor Libro Bibliografía Artículo Autor Autor

Red De Bases de Datos

      Datos organizados en gráfica (enrejado)  Un padre puede tener muchos hijos  Un hijo puede tener muchos padres Diagramas Bachmann Las propiedades definen los tipos de registro Establecer los tipos de relaciones definidas  Entre padre-hijo, (doble) de la lista encadenada Consulta por el gráfico de navegación Ejemplos  CODASYL Autor Libro Autor Bibliografía Autor Artículo

Bases de Datos Relacional

      Los datos organizados como tuplas en las relaciones Enlace entre los datos de tuplas  Claves primarias y foráneas Algebra relacional  Proyecto, selección, unirse Forma relacional normal Lenguaje declarativo  Definición de datos, consistencia, manipulación y consulta Ejemplos  Oracle 11g, Microsoft SQL Server, IBM DB2  PostgreSQL, MySQL

Bases de Datos Relacional

    El modelo relacional es muy simple  Solo los conceptos básicos → las referencias deben ser simuladas  Sistema de tipo restringido → no definidos por el usuario La falta de modelado semántico  Datos complejos, control de versiones, roles Poco apoyo para los datos y la evolución del esquema Desajuste Objeto-Relacional de impedancia

Diferencia de Objeto – Relacional e Impedancia

Autor Artículo Publicación Libro   Resultado de aplicaciones de desarrollo orientada a objetos y relacional de la gestión de datos en choque de dos modelos incompatibles El código de mapa entre los dos modelos es una sobrecarga considerable, costoso y difícil de mantener

Bases de Datos Orientado a Objetos

    Los Datos representados como objetos  Identidad de objeto   Atributos y Métodos Referencias, relaciones, asociaciones Jerarquía de tipo extensible  Tipos definidos por el usuario, los tipos de datos abstractos  Herencia simple o múltiple  Sobrecarga, anulación, enlace Lenguaje declarativo con fines para ad hoc Encuadernación para el lenguaje de programación orientado a objetos Autor autor publicación Publicación partición publicación Artículo libro Libro

Bases de datos Objeto - Relacional

    Modelo Relacional Extendido  Relaciones anidadas  Referencias  Conjuntos  Tipos de filas, tipos abstractos  Funciones Lenguaje declarativo extendido  Computacionalmente completo La falta de concordancia sigue siendo fundamental La mezcla de modelos

Bases de datos Objeto - Relacional

Bases de datos emergentes y futuras

 Bases de datos XML Curso 251-0317-00L

XML y Bases de datos

Prof. Dr. Donald Kossmann, Dr. Peter Fischer

Semestre de otoño, Miércoles 13-15  Bases de datos móviles y personales Curso 251-0373-00L

Sistemas de información personal y móviles

Prof. Dr. Moira C. Norrie

Semestre de otoño, Jueves 9-11

Bases de Datos Orientados a Objetos

   El objeto-relacional las diferencias de impedancia Proporciona un modelo uniforme de datos Combina las características y propiedades de:  Sistemas y lenguajes orientados a objetos  sistema gestor de base de datos

Definición de Base de Datos Orientada a Objetos

    Diversos enfoques en Sistemas de Base de Datos Orientados a Objetos   Haciendo lenguajes de programación orientada a objetos persistentes Gestión y almacenamiento de datos de objetos Varios intentos de definir base de datos orientados a objetos Manifestación de la base de datos orientada a objetos   13 Características obligatorias 5 C aracterísticas opcionales  4 Opciones abiertas Manifiesto de secuelas   Varias objeciones desde el campo relacional Varias propiedades importantes que no se tratan

Manifestación de la base de datos orientada a objetos

Sistema Orientado a Objetos Sistema Gestor de base de datos 1.

2.

3.

4.

5.

6.

7.

8.

9.

Objetos complejos Objeto de identidad Encapsulación Tipos y clases Tipos y clases de herencia Anulación, sobrecarga y enlace Integridad Computacional Extensibilidad Eficiencia 10.

Concurrencia 11.

12.

Confiabilidad Sistemas de gestión 13.

Lenguaje de consulta declarativa

Objetos

  Objetos complejos  Objeto complejo formado a partir de otras simples y por los constructores  Registrar, configurar, capturar y constructores de la matriz de objetos complejos  Constructor perpendicular Objeto de identidad e igualdad      Cada objeto tiene identificador de objeto único e inmutable (OID) El intercambio de objetos a través de referencias Dos objetos son iguales si tiene el mismo OID Dos objetos son iguales si tiene el mismo estado Igualdad superficial y profunda

Objetos

     Encapsulación  Objeto consistente en la interfaz y la implementación Interfaz define la asignación de los métodos públicos La aplicación incluye datos de objetos y métodos Estados de objetos solo se modifican a través de métodos públicos Objeto de estructura de datos pueden estar expuestos para las consultas declarativas Interfaz publica Tipo de registro Tipo de configuración

 

Tipos y Clases

Tipos de datos  Definición de las propiedades del objeto  Parte estática se describe la estructura del objeto  Se describe el comportamiento dinámico de objetos  Separación de la interfaz y la implementación  Utilizado para comprobar la corrección de los programas en tiempo de compilación Clases de Objetos  Contenedor para los objetos del mismo tipo  Los objeto se pueden agregar y quitar  Se utiliza para crear y manipular objetos en tiempo de ejecución

Tipos y Clases

Clase contiene Objeto tiene tiene Tipo describe Valor

Jerarquías de Generalización

   Ventajas  Herramienta de modelado de gran alcance  Garantizar la complejidad semántica  Reutilización de especificación e implementación Herencia  Objetos de la subclase pertenecen automáticamente a superclase  Atributos y métodos se heredan de la superclase  Subclase puede introducir nuevos atributos y métodos Artículo Publicación Libro Proceder La migración entre las clases  Mover objetos entre los niveles de jerarquía  La especialización del objeto (↓) y generalización (↑)  Instancia de clase frente al miembro de la clase

Jerarquías de Generalización

    La sustitución de herencia  Subtipo tiene más operaciones que supertipo  Subtipo puede estar sustituido en donde se espera supertipo  Basada en el comportamiento en lugar de valores La inclusión de herencia   Todos los objetos de subtipo es también objeto de supertipo Basado en la estructura en lugar de operaciones Restricción de la herencia  La inclusión caso especial de la herencia  Subtipo se expresa por la fuerza de supertipo Especialización de herencia  Objetos subtipo contiene información más específica

Anulación, sobrecarga y enlace de tiempo

   El reemplazo de métodos  El método es redefinido en el subtipo  Garantiza la especialización de los métodos  El método conserva la interfaz uniforme La sobrecarga de métodos  Efecto causado por el reemplazo de métodos  Varias versiones de un método pueden existir en paralelo El enlace  El método sobrecargado selecciona la versión adecuada en tiempo de ejecución  También conocido como método de envío virtual Forma Rectángulo Rectángulo relleno

Integridad computacional y

  Integridad computacional  Requisito del lenguaje de implementación del método  Cualquier función computable puede ser expresada  Se puede realizar a través de conexión con el lenguaje actual Extensibilidad  Las bases de datos tienen un conjunto de tipos predefinidos  Los desarrolladores pueden definir nuevos tipos de acuerdo a los requerimientos  Sin distinción de uso entre el sistema y los tipos de usuario

La durabilidad y eficiencia

  Persistencia  Los datos tienen que sobrevivir a la ejecución del programa  La persistencia ortogonal  La persistencia implícita La gestión del almacenamiento secundario  Índice de almacenamiento  La agrupación de datos  Almacenamiento temporal de datos  Selección de la ruta de acceso  Optimización de consultas

Control de concurrencia y recuperación

  Concurrencia  La gestión de múltiples usuarios al mismo tiempo que interactúan  Atomicidad, coherencia, aislamiento y durabilidad  Serialisabilidad de operaciones confiabilidad  Capacidad de recuperación ante fallos del usuario, de software y hardware  Las transacciones se pueden confirmar o abortar  Restaurar el estado anterior coherente de los datos  Rehacer y deshacer las transacciones  Registro de las operaciones

Lenguaje de consulta declarativa

   Lenguaje de alto nivel  Expresa preguntas no-triviales de forma concisa  Interfaz basada en texto o gráficos  Declarativo Ejecución eficiente  Posibilidad para la optimización de consultas Aplicación independiente   Trabajar en cualquier base de datos es posible Sin necesidad de métodos adicionales de los tipos definidos por el usuario

Características opcionales y opciones abiertas

  Características opcionales  Herencia múltiple  La comprobación de tipos y la inferencia  Distribución  Diseño de transacciones, las transacciones de largo, las transacciones anidadas  Versiones Opciones abiertas   Paradigma de programación Representación del sistema   Tipo de sistema Uniformidad

Más allá del Manifiesto

     Base de datos de administración de empresas de servicios públicos Ver datos de definición y derivados Los roles de objeto  Los objetos tienen funciones, además de los tipos  Los papeles se pueden ganar y perder de forma dinámica La evolución de las bases de datos  Datos y esquemas que tienen que evolucionar en el tiempo Restricciones   La integridad, la semántica y la evolución de las restricciones Definición, gestión y ejecución de las restricciones

Literatura

La Siguiente Semana

La Persistencia en Objetos

• • • Serialización Objeto-Relacional Asignaciones y Marcos Lenguajes de programación Persistentes