base de datos orientada a objetos
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Base de Datos Orientada a Objetos
Antonio Aguilar Galicia Juana Vivas VillanuevaGreysi Martínez Arce
Base de Datos Orientada a ObjetosIntroducció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 cursoI. Fundamentos de Bases de datos orientados a objetos
1. Introducción2. La persistencia de objetos3. db4o
II. Conceptos avanzados de bases de datos orientados a objetos4. Normas y sistemas comerciales5. Almacenamiento e indexación6. Modelos de la versión
III. Semántica gestionado de objetos de datos7. Modelo de Datos OM y Leguaje de Modelo de Datos OM8. Diseño e Implementación de OMS Avon9. Contexto – Consciente de Gestión de Datos
Diseño Conceptual
Diseño de Implementación
Diseño Físico
Diseño de Base de Datos
Sistema de Gestión de Base de Datos
Capa de Interfaz de Cliente
Capa de Modelo de Datos
Capa de Almacenamiento
E/RSQL, JDBC, ODBC
Modelo Relacional
RDBMS
Modelo Conceptual de acceso y representación de datos
Datos de la SemánticaOperaciones de la Semántica
PersistenciaACIDDistribución
Evolución e Historia
Mod
elo
de D
atos
Rel
acio
nal
Está
ndar
CO
DASY
L
SQL
Mod
elo
Enti
dad
- Rel
ació
n
SQL
- 86
ODM
G 1
.0M
odel
o de
dat
os O
M
SQL
:199
9XM
L
ODM
G 3
.0
Jerarquía
Red
RelacionalOrientado a Objetos
Objeto RelacionalSemi - Estructurado
XML
1960 1970 1980 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
Bibliografía
Libro Artículo
Autor Autor Autor
Red De Bases de Datos
Autor Autor Autor
Bibliografía
Libro Artículo
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
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
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
Autor Publicación
Artículo Libro
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 Publicación
autor publicación
partición
Artículo Libro
publicación 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 XMLCurso 251-0317-00LXML y Bases de datosProf. Dr. Donald Kossmann, Dr. Peter FischerSemestre de otoño, Miércoles 13-15
Bases de datos móviles y personalesCurso 251-0373-00LSistemas de información personal y móvilesProf. Dr. Moira C. NorrieSemestre 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
1. Objetos complejos2. Objeto de identidad 3. Encapsulación 4. Tipos y clases 5. Tipos y clases de herencia6. Anulación, sobrecarga y enlace7. Integridad Computacional 8. Extensibilidad9. Eficiencia10. Concurrencia 11. Confiabilidad 12. Sistemas de gestión 13. Lenguaje de consulta declarativa
Sistema Gestor de base de datos
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 Tipo
Objeto tiene Valor
contiene describe
Jerarquías de GeneralizaciónPublicación
Artículo Libro
Proceder
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
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 SemanaLa Persistencia en Objetos
• Serialización• Objeto-Relacional Asignaciones y Marcos• Lenguajes de programación Persistentes