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