Tutorial de EERR-OO

Report
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
Datos de la Semántica
Operaciones
de
la
Semántica
Capa de Modelo de Datos
Persistencia
ACID
Distribución
E/R
SQL, JDBC, ODBC
Modelo Relacional
RDBMS
Capa de Almacenamiento
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
Autor
Autor
Red De Bases de Datos
 Datos organizados en gráfica
(enrejado)


Bibliografía
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
Libro
Artículo
 Ejemplos

CODASYL
Autor
Autor
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 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
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-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 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
 Ventajas
 Herramienta de modelado de gran alcance
 Garantizar la complejidad semántica
 Reutilización de especificación e implementación
Publicació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
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

similar documents