Base de Datos Orientada a Objetos Antonio Aguilar
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 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. db 4 o 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 Datos de la Semántica Operaciones de la Semántica Capa de Modelo de Datos Persistencia ACID Distribución Capa de Almacenamiento E/R SQL, JDBC, ODBC Modelo Relacional RDBMS
1960 1970 1980 1990 ODMG 3. 0 SQL : 1999 XML ODMG 1. 0 Modelo de datos OM SQL - 86 Modelo Entidad - Relación SQL Estándar CODASYL Modelo de Datos Relacional Evolución e Historia Jerarquía Red Relacional Orientado a Objetos Objeto Relacional Semi - Estructurado XML 2000
Jerarquía en Bases de Datos § Datos organizados en árbol Bibliografía § 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 Artículo Libro § Ejemplos § Un padre puede tener muchos hijos § Un hijo puede tener solo un padre 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 § Bibliografía CODASYL Libro Autor Artículo Autor
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 11 g, Microsoft SQL Server, IBM DB 2 § Postgre. SQL, My. SQL
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 Publicación Autor Artículo 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 -00 L 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 -00 L 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 Caracterí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. Objetos complejos 2. Objeto de identidad 3. Encapsulación 4. Tipos y clases 5. Tipos y clases de herencia 6. Anulación, sobrecarga y enlace 7. Integridad Computacional 8. Extensibilidad 9. Eficiencia 10. Concurrencia 11. Confiabilidad 12. 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 tiene describe contiene Objeto Tipo tiene Valor
Jerarquías de Generalización Publicación § Ventajas § Herramienta de modelado de gran alcance § Garantizar la complejidad semántica § Reutilización de especificación e implementación Artículo Libro § 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 § 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 Proceder
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 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
- Slides: 36