Download Orientado a base de datos

Document related concepts

Mapeo objeto wikipedia , lookup

Base de datos wikipedia , lookup

Base de datos objeto wikipedia , lookup

Modelo de base de datos wikipedia , lookup

ObjectDB wikipedia , lookup

Transcript
Objeto – Orientado a base de datos
Introducción
• Descripción del Curso
• Evolución e Historia de los Sistemas de Gestión de Base de Datos
• Requisitos de Sistemas de Gestión orientada a objetos de base de
datos
Organización
Michael Grossniklaus
ETH Zurich
IFW D 46.2
+41 44 632 72 73
[email protected]
Alexandre de Spindler
ETH Zurich
IFW D 47.1
+41 44 632 74 16
[email protected]
Politecnico di Milano
Campus Bassini, Room 18/103
+39 022 399 3474
[email protected]
Ejercicios
Curso estará acompañado de ejercicios
Trabajar con las tecnologías tratadas en el curso
Tutorial sessions every week
Empezando en Octubre 3rd, 2008
IFW A 32.1, 11-12
Alexandre de Spindler
Opcional, pero muy recomendable!
Examen
Convocatoria
Enero 19th, 2009 – Febrero 13th, 2009
Las excepciones se pueden organizar para los estudiantes
de intercambio
Examen oral en ingles
Duración de 15 minutos
5 ECTS
Descripción del Curso
I.
Fundamentos de Base de datos orientados a objetos
1.
2.
3.
II.
Conceptos avanzados de base de datos orientada a objetos
4.
5.
6.
III.
Introduction
Persistencia de objetos
db4o
Normas y Sistemas comerciales
Almacenamiento y indexación
Versión de modelos
Objeto de datos de Gestión Semántica
7.
8.
9.
OM Modelo de Datos y OM Idioma Modelo de Datos
Diseño e implementación de Avon OMS
Sensible al contexto de gestión de datos
Diseño de la Base de datos
Diseño Conceptual
Implementación del diseño
Diseño Físico
Base de datos de Sistemas de
Gestión
Modelados Conceptuales
De acceso a datos y
representación
Capa Interfaz cliente
E/R
SQL, JDBC, ODBC
Datos de la semántica
Operación de la semántica
Capa del modelo de
datos
Modelo Relacional
Persistencia
ACID
Distribución
Capa del
implementacion
RDBMS
Historia y Evolución
Base de datos Jerarquicas
Datos organizados en un árbol
Un padre puede tener muchos hijos
Un hijo puede tener solo unos padres
Documentos descritos por los tipos de
entidad.
1:N (uno a muchos) relaciones
Consulta por navegación por directorios
Ejemplos
Sistema de archivos
LDAP
Registro de Windows y Directorio Activo
Documentos XML y consultas XQuery
Red de Base de datos
Datos organizados en grafica (enrejar)
Un padre puede tener muchos hijos
Un hijo puede tener muchos padres
Diagramas Bachmann
Los tipos de registro definen las propiedade3des
Establecer relaciones de tipo definicidos
Padre-hijo, (doble) Lista enlazada, …
Consultas por graficas de navegación
Ejemplos
CODASYL
Base de Datos Relacional
 Los datos organizados en las tuplas en las
relaciones
Enlace entre tuplas de datos
Claves Primarias y foráneas álgebra relacional
proyecto, seleccione, se unen
Relacionar Formas Normales
Declarar Lenguaje
Datos DEFINIR, Consistencia, consultando y
manipulando
Ejemplos
11g de Oracle, Microsoft SQL Server, IBM DB2
PostgreSQL, MySQL
Base de Datos Relacional
Relacionar Modelos en Muy sencillo
 Conceptos básicos Solo referencias → necesidad de
simular
sistema restringido de tipo → ningún tipos definidos por
el usuario
La falta de modelado semántico
datos complejos, control de versiones, las funciones
Poco apoyo a los datos y la evolución de esquema
impedancia objeto-relacional desajuste
Impedancia Objeto-Relacional coinciden
•Aplicación orientada a objetos de desarrollo y relaciones de resultados
de gestión de datos en el choque de dos modelos incompatibles.
•El código para asignar entre dos modelos es una sobrecarga considerable
costoso y difícil de mantener.
Bases de datos orientada a objetos
Los datos se representan como objetos
Objeto de identidad
Atributos y métodos
referencias, relaciones, asociaciones
Jerarquía de tipos extensible
tipos definidos por el usuario, tipos abstractos de datos
Herencia simple o múltiple
Sobrecarga, primer orden, el enlace
Lenguaje declarativo para el anuncio de los propósitos especiales
Vinculando el lenguaje de programación orientado a objetos.
Bases de datos Objeto-Relacional
Modelo relacional extendido.
Relaciones anidadas.
Referencias.
Conjuntos.
Tipos de fila, Tipos abstractos.
Funciones.
Declaración del idioma extendido.
Computacionalmente completo.
Falta de concordancias sigue siendo
Fundamental.
Mezcla de modelos
Bases de datos Objeto-Relacional
create type AddressType (
street varchar(10),
city varchar(10)
)
create row type PublicationType (
title varchar(50)
)
create row type BookType (
isbn varchar(10)
) under PublicationType
create row type AuthorType (
name varchar(25),
books setof(BookType),
address AddressType
)
create table Book of type BookType
create table Author of type AuthorType
Bases de datos Objeto-Relacional
Base de datos XML
Curso 251-0317-00L
Base de datos y XML
Prof. Dr. Donald Kossmann, Dr. Peter Fischer
Semestre de otoño, Miércoles 13-15
Base de datos y móviles
Curso 251-0373-00L
Móvil y Sistemas de Información Personal
Prof. Dr. Moira C. Norrie
Semestre de otoño, jueves 9-11
Bases de datos orientada a objetos
Evite desajustes en el objeto relacional
Proporcionar un modelo de datos uniformes
Combina las características y propiedades de
sistemas orientados a objetos y lenguajes
Sistema de Gestión de base de datos
Bases de datos Objeto-Relacional
Diversos enfoque de los sistemas de bases de datos orientadas a
objetos
hacer lenguajes de programación orientados a objetos persistentes
la gestión y almacenamiento de datos de objetos
Muchos intentos de definir las bases de datos orientadas a objetos
El manifiesto de base de datos orientada a objetos
13 funciones obligatorias
5 caracteristicas opcionales
4 opciones abiertas
Manifiesto después
varias refutaciones del campo relacional
varias propiedades importantes no se tratan
La base de datos orientada a objetos
Manifiesto
Objetos
Objetos Compuestos
complejo objeto formado a partir de otras más simples por
constructores
 registro, sistema, la bolsa, la lista de constructores y compleja
variedad de objetos
 ortogonalidad constructor
 objetos de identidad y la igualdad
cada objeto tiene única e inmutable identificador de objeto
(OID)
 intercambio de objetos a través de referencias
dos objetos son idénticos si tienen el mismo OID
dos objetos son iguales si tienen el mismo estado
 Superficiales y profundas igualdad
Objetos
Encapsulación
objeto consiste en la interfaz y la implementación
interfaz define las firmas de métodos públicos
aplicación incluye datos de objetos y métodos
Estado objeto sólo se modifica a través de métodos públicos
objeto de estructura de datos pueden estar expuestos para
las consultas declarativas.
Tipos y clases
Tipos de datos
Definicion de las propiedades del objeto
parte describe la estructura estática objeto
parte describe el comportamiento dinámico de objetos
separación de la interfaz y la implementación
utiliza para comprobar la corrección de los programas en tiempo de
compilación
objetos de clases
contenedor de objetos del mismo tipo
objetos se pueden agregar y quitar
utiliza para crear y manipular objetos en tiempo de ejecución
Tipos y clases
Tipos
Clases
Tiene
Contiene
Describe
Objeto
Valúa
Tiene
Generalización Jerárquica
Publicación
+getName()
+getAuthors()
Ventajas
potente herramienta de modelado
complejidad semántica de garantía
reutilización de definición y aplicación
Articulo
+getPages()
+getJourmal()
Instancia
Los objetos de la subclase pertenecen automáticamente a la
superclase
los atributos y los métodos se heredan de la superclase
subclase puede introducir nuevos atributos y los métodos
La migración entre clases
objetos se mueven entre los niveles de jerarquía
por objeto la especialización (↓) y la generalización (↑)
nstancia de clase frente a miembro de la clase
Libro
+getISBN()
Procesando
+getConference()
Generalización de Jerarquías
Cambio en la herencia
subtipo tiene más operaciones que supertipo
subtipo puede ser sustituido en el supertipo se espera
basados en el comportamiento en lugar de valores
Inclusión herencia
todos los objetos de subtipo también es objeto del supertipo
basado en la estructura en lugar de las operaciones
Restricción de la herencia
caso especial de la herencia de la inclusión
subtipo se expresa por restricción en supertipo
Especialización de la herencia
subtipo objetos contienen información más específica
De primer orden, sobrecarga y el enlace
Método imperiosa
método se redefine en el subtipo
garantiza la especialización de los métodos de
conserva la interfaz método uniforme
Método de sobrecarga
<<Interface>>
Shape
+graw(Graphics g)
Rectangle
+graw(Graphics g)
FiledRectangle
+graw(Graphics g)
efecto causado por el método primordial
versión diversos de un método puede existir en paralelo
El enlace
la versión apropiada del método sobrecargado seleccionada
en tiempo de ejecución
También conocido como método virtual envío
Integridad de cómputo y extensibilidad
computacional completo
requisito de la lengua implementación del método
cualquier función computable puede ser expresada
puede realizarse a través de la conexión con las lenguas
extensibilidad
base de datos tiene un conjunto de tipos predefinidos
desarrolladores pueden definir nuevos tipos de acuerdo
a los requisitos
no distingue entre tipos de uso del sistema y de usuario
Durabilidad y Eficiencia
Persistencia
datos tiene que sobrevivir a la ejecución del programa
persistencia ortogonal
implícita la persistencia
la gestión del almacenamiento secundario
administración de índices
agrupación de datos
almacenamiento temporal de datos
ruta de acceso de selección
optimización de consultas
Concurrencia Control y Recuperación
Concurrencia
la gestión de múltiples usuarios al mismo tiempo
interactuando
atomicidad, coherencia, aislamiento y durabilidad
serialisability de las operaciones
Fiabilidad
resiliencia a las fallas del usuario, el software y hardware
transacciones se pueden cometer o abortado
restaurar el estado anterior coherente de los datos
rehacer y deshacer de las transacciones
el registro de las operaciones
Lenguaje de consulta declarativa
Lenguaje de alto nivel
expresar consultas no triviales de manera concisa
basado en texto o la interfaz gráfica de
declarativa
Eficiente ejecución
posibilidad de que la optimización de consultas
Aplicación independiente
trabajar en cualquier base de datos posible
sin necesidad de métodos adicionales de los tipos
definidos por el usuario
Características opcionales y opciones
abiertas
Opcional características
múltiples herencia
comprobación de tipos y la inferencia
Distribución
operaciones de diseño, las operaciones de largo, las transacciones
anidadas
versiones
 Abrir opciones
paradigma de programación
sistema de representación
sistema de tipos
uniformidad
Más allá del Manifiesto
base de datos de utilidades de administración
Definición de vista y los datos derivados
Objeto funciones
objetos tienen funciones, además de los tipos
funciones se puede ganar y perdió de forma dinámica
La evolución de la base de datos
esquema y los datos tiene que evolucionar con gracia en el
tiempo
Limitaciones
restricciones de integridad, semántico y la evolución
definición, gestión y ejecución de las restricciones
Literature
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D.
Maier, and S. Zdonik: The Object-Oriented Database
System Manifesto, In: Building an Object-Oriented
Database System, Morgan Kaufmann 1992
M. Stonebraker, L. A. Rowe, B. Lindsay, J. Gray, M.
Carey, M. Brodie, P. Bernstein, and D. Beech: ThirdGeneration Database System Manifesto, In: ACM
SIGMOD RECORD, 19(3), 1990
H. Darwen and C. J. Date: The Third Manifesto, In:
ACM SIGMOD RECORD, 24(1), 1995
Siguiente semana
Persistencia de objetos
Serialización
relacional de objetos Asignaciones y marcos
Lenguajes de programación persistentes