base de datos orientada a objetos

Post on 23-Feb-2016

36 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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

top related