35
· 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 Bases de Datos Orientada a

Base de datos-objeto-relacional

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Base de datos-objeto-relacional

·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

Bases de Datos Orientada a ObjetosIntroducción

Page 2: Base de datos-objeto-relacional

Organización

·Michael Grossniklaus ETH Zurich Politecnco idi Milano IFW D 46.2 Campus Bassini, Sala 18/103 +41 44 632 72 73 + 3 9 0 2 2 3 9 9 3 4 7 4 [email protected] [email protected]

·Alexandre de Spindler E T H Z u r i c h IFW D 47.1 + 41 44 632 74 16 [email protected]

Page 3: Base de datos-objeto-relacional

Ejercicios ·Curso estará acompañado de ejercicios·Trabajar con las tecnologías tratadas en el curso·Tutorial de sesiones todas las semanas

·A partir del 03 de octubre 2008·IFW Un 32.1, 12.11·Alexandre de Spindler

·Opcional, pero muy recomendable!

Page 4: Base de datos-objeto-relacional

Examen

·Del período de sesiónes ·19 De enero de 2009 – el 13 de febrero de 2009·Excepciones pueden organizarse para estudiantes de intercambio

·Examen oral en inglés·Duración de 15 minutos·5 ECTS

Page 5: Base de datos-objeto-relacional

Descripción del curso

I. Conceptos básicos de bases de datos orientada a objetos 1 . Introducción 2. Persistencia de Objetos 3 . db4o

II. Conceptos avanzados de bases de datos orientada a objetos. 4. Normas y sistemas comerciales 5. Almacenamiento e indexación 6. Versión Modelos

III. Gestión de datos de objeto semántica 7. Modelo de datos de OM y lenguaje de modelo de datos de OM g 8. Diseño e implementación de OMS Avon 9. Gestión de datos consciente de contexto

Page 6: Base de datos-objeto-relacional

Diseño de Base de Datos

Diseño conceptual

Aplicación de diseño

Diseño Fisico

Page 7: Base de datos-objeto-relacional

Sistema de Gestión de Base de Datos

Modelo conceptual Representación y acceso a datos

Datos de la semánticaOperación de la semántica

PersistenciaACIDODistribución

Capa de interfaz de cliente

Datos de la capa de modelo

Capa de almacenamiento

F/R SQL, JDBC, ODBC

Modelo Relacional

RDBMS

Page 8: Base de datos-objeto-relacional

Historia y Evolución

OD

MG

3.0

OD

MG

1.0

OM

Modelo de D

atos

CO

DA

SY

L Están

dar

SQ

L-86

SQ

L

SQ

L:199

9 XM

L

Jerárquica

Relacionales

Red

- Object Oriented

Objeto-Relacional

Semi-estructurados

XML

1960 1970 1980 1990 2000

relacionales

Modo de datos

Modelo de la

cadera

Entidad relacion

Page 9: Base de datos-objeto-relacional

Base de Datos jerárquica

·Datos organizados en un árbol·Un padre pude tener muchos hijos·Un niño solo pueden un padre

·Documentos descritos por los tipos de entidad

·1:N (uno a muchos) las relaciones·Consulta de navegación de directorio·Ejemplos

·Sistemas de archivos·LDAP ·Registro de Windows y Activacion de Directorio·XML documentos y XQuery

Page 10: Base de datos-objeto-relacional

Red de Base de Datos

·Datos organizan en gráfico (red)·Padre puede tener muchos hijps·Un niño puede tener muchos padres

·Diagrama de Bachmann·Tipos de registros definen

propiedades·Relaciones de los tipos de conjunto

definidos ·padre e hijo, lista enlazada (doble)...

·Consulta de navegación gráfica ·Ejemplos

·CODASYL

Page 11: Base de datos-objeto-relacional

·Datos organizan como tuplas en relaciones

·Vínculo entre tuplas de datos ·claves primarias y foraneas

·Algebra Relacional ·project, select, join

·Formas Normales Relacionales·Lenguaje Declarativo·definición de datos, la coherencia, la manipulación y la consulta

·Ejemplos ·Oracle 11g, Microsoft SQL Server, IBM DB2 ·PostgreSQL, MySQL

Page 12: Base de datos-objeto-relacional

·Modelo relacional es muy sencillo ·Solo referencias basicas → conceptos deben ser simuladas·Sistema de tipo restringido → ningun tipo definido por el usuario

·Falta de modelos semánticos·datos complejos, control de versiones, funciones

·Poco apoyo para la evolución de datos y el esquema·Discrepancia de impedancia objeto-relacional

Base de Datos Relacionales

Page 13: Base de datos-objeto-relacional

Objeto-relacional desajuste de impedancia

·Desarrollo de aplicaciones orientadas a objetos y resultados de la gestión de datos relacionales en choque de dos modelos incompatibles

·Código para asignar entre modelos está sobrecarga considerable, costosa y difícil de mantener

Page 14: Base de datos-objeto-relacional

Base de Datos Orientada a Objetos

·Datos representados como objetos·Objeto de identidad·Atributos y metodos·Referencias, relaciones , asociaciones

·Jerarquía de tipo extensible·tipos definidos por el usuario, tipos de datos abstractos·solo o herencia múltiple·enlace de sobrecargas, primordial, final

·Lenguaje declarativo para fines especiales·Vinculante para el lenguaje de programación orientado a

objetos

Page 15: Base de datos-objeto-relacional

Base de Datos Objeto-Relacional

·Modelo Relacional Extendido

·relaciones anadidas·referencias ·conjuntos·tipos de fila, tipos abstractos·funciones

·Declarativa del idioma extendido·computacionalmente completo

·Falta de concordancia fundamental sigue siendo·Mezcla de modelos

Page 16: Base de datos-objeto-relacional

Base 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

Page 17: Base de datos-objeto-relacional

Bases de Datos nuevas y futuras

·XML Base de DatosCurso 251-0317- 00L XML y Base de DatosProf. Dr. Donald Kossmann, Dr. Peter Fischer Semestre de Otoño, Wed 13-15

·Movil y Bases de Datos personalesCuso 251-0373-00L Móviles y sistemas de Información PersonalProf. Dr. Moira C. Norrie Semestre de Otoño, Thu 9 - 11

Page 18: Base de datos-objeto-relacional

Base de DatosOrientada a Objetos

Base de Datos Orientada a Objetos

Sistemas Sistemas

·Evitar el desajuste de impedancia objeto-relacional·Proporcionar un modelo de datos uniforme·Combinar características y propiedades de

·idiomas y sistemas orientados a objetos·sitema de gestión de Bases de Datos

Page 19: Base de datos-objeto-relacional

Definición de Bases de Datos Orientada a Objetos

·Enfoque diverso sistemas de base de datos orientada a objetos

·haciendo orientado a objetos lenguajes de programación persistentes·Administración y almacenamiento de datos de objeto

·Muchos intentos para definir las bases de datos orientada a objetos ·El manifiesto de la base de datos orientada a objetos

·13 funciones obligatorias·5 caracteristicas opcionales ·4 opciones abiertas

·Manifiesto después ·varios refutaciones del campo relacional·varias propiedades importantes no dirigidas

Page 20: Base de datos-objeto-relacional

September 19, 2008 Michael Grossniklaus – Department of Computer Science – [email protected] 20

El manifiesto de Base de Datos Orientada a Objetos

1.Objetos complejos2.Objetos de entidad 3.Encapsulamiento

4 . Tipos y clases 5. Tipos y jerarquías de clases 6. Reemplazar, sobrecarga y enlace

Sistema Orientada a Objetos

7.Computacional completo 8. Extensibilidad9. Persistente 10. Eficiencia 11. Concurrencia Sistema de Gestión

de Base de Datos 12. Fiabilidad13. Lenguaje de consulta declarativa

Page 21: Base de datos-objeto-relacional

·Objetos complejos·objeto complejo formado desde las más simples por constructores·constructores de objeto complejo de registro, conjunto, bolsa, lista y

matriz·constructor de otorgonalidad

·La igualdad y la identidad de objeto·cada objeto tiene identificador de objetos único e inmutable (OID) ·uso compartido de objetos a través de referencias·dos objetos son iguales si tienen el mismo OID·dos objetos son iguales si tienen el mismo Estado·igualdad superficial y profunda

Objetos

Page 22: Base de datos-objeto-relacional

·Encapsulación·consiste en la implementación de la interfaz ·interfaz define las firmas de métodos públicos·la implementación incluye métodos y datos de objeto ·Estado de objeto sólo se modifica a través de métodos públicos·estructura de datos de objeto puede estar expuesto para consultas

declarativas

tipo de registro Interfaz pública

establecer el tipo deO

bjetos

Page 23: Base de datos-objeto-relacional

·Tipos de datos ·definición de propiedades de objeto·elemento estático describe la estructura de objeto·parte dinámica describe el comportamiento del objeto ·separación de interfaz e implementación·utilizado para comprobar la corrección de programas en tiempo de

compilación

·Clases de objetos ·contenedor de objetos del mismo tipo·pueden añadir y eliminar objetos·para crear y manipular objetos en tiempo de ejecución

Tipos y Clases

Page 24: Base de datos-objeto-relacional

Tipo

Clase a

describe

a

contiene

Objetos

Valor

Page 25: Base de datos-objeto-relacional

• Ventajas

• Herencia

·herramienta de modelado gran enlace·garantizar la complejidad semántica ·reutilización de especificación y aplicación

Publicacion

-I-getName() -I-getAuthors()

Artículo

-I-getPages() -I-getJournal()

Libro

getISBN()

·objetos de subclase pertenecen automáticamente a la superclase

·atributos y métodos heredados de la superclase ·subclase puede introducir nuevos atributos y métodos

·Migración entre las clases ·mover objetos entre los niveles de la jerarquía·especialización de objeto (↓) y generalización (↑)·instancia de la clase frente a miembros de clase

Procedimiento

getConference()

Generalización Jerarquícas

Page 26: Base de datos-objeto-relacional

·Cambio en la herencia ·Internet has more operations than supertype·subtipo puede sustituirse donde se espera supertipo·basado en el comportamiento, en lugar de valores

·Inclusión de la herencia ·cada objeto de subtipo es también objeto de supertipo ·based on structure rather than operations

·Restricción de la herencia·caso especial de herencia de inserción·subtipo se expresa por la restricción de supertipo

·Especializacón de herencia ·subtipo objetos contienen información más específica

Generalización Jerarquícas

Page 27: Base de datos-objeto-relacional

Reemplazar, sobrecarga y tarde vinculante

·Method overriding ·método se redefine en subtipo·especialización de garantías de métodos·interfaz de método uniforme de conservas

«interface» Shape

+draw(Graphics g)

Rectangulo

+draw(Graphics g) ·Método de sobrecarga·efecto causado por reemplazar el método·puede existir varios versión de un método en paralelo

·El enlace

Rectangulo con Relleno

+draw(Graphics g)

·versión apropiada de método sobrecargado seleccionado en tiempo de ejecución

·también conocido como envío de método virtual

Page 28: Base de datos-objeto-relacional

Integridad Computacional y Extensibilidad

• Computacional completo·requisitos para el lenguaje de implementación del método·puede expresar cualquier función computable·pueden realizarse a través de la conexión con el lenguaje existente

·Extensibilidad ·base de datos tiene un conjunto de tipos predefinidos·los desarrolladores pueden definir nuevos tipos de acuerdo a los

requerimientos·sin distinción de uso entre tipos de sistema y de usuario

Page 29: Base de datos-objeto-relacional

Durabilidad y Eficiencia

·Persistencia ·datos tienen que sobrevivir la ejecución del programa ·persistenia ortogonal·persistencia implicita

·Gestión de almacenamiento secundario ·indice de géstion·datos de clustering ·almacenamiento temporal de datos·selección de rutas de acceso·optomización de la consulta

Page 30: Base de datos-objeto-relacional

Recuperación y Control de concurrencia

·Concurrencia·Administración de múltiples usuarios interactuar simultáneamente·atomicidad, coherencia, aislamiento y durabilidad·seriabilización de las operaciones

·Fiabilidad·resistencia a fallos de hardware, software y usuario·las transacciones pueden comprometidas o anuladas·restaurar el estado anterior de coherente de los datos·Rehacer y deshacer de transacciones·registro de las operaciones

Page 31: Base de datos-objeto-relacional

Lenguaje de Consulta Declarativa

·Lenguaje de alto nivel ·expresar de forma concisa consultas no triviales·interfaz basada en texto o gráfica·declarativo

·Eficiente ejecución·posibilidad de optimización de la consulta

·Aplicación independiente·trabajar en cualquier base de datos posible·no hay necesidad de métodos adicionales de tipos definidos por el

usuario

Page 32: Base de datos-objeto-relacional

Abrir Opciones y características opcionales

·Características opcionales ·herencia múltiple·comprobación de tipos y la inferencia·distribución ·diseño de transacciones, las transacciones largas, transacciones

anidadas·versiones

·Abrir opciones·paradigma de programación·sistema de representación·sistemas de tipos ·uniformidad

Page 33: Base de datos-objeto-relacional

Más allá del Manifiesto·Base de Datos de utilidades de admnistración·Definición de la vista y datos derivados·Objeto funciones

·los objetos tienen funciones además de tipos·funciones pueden ganó y perdió dinámicamente

·Bade de Datos de la evolución·esquema y datos tiene que evolucionar correctamente con el tiempo

·Restricciones·integridad, semántica y las limitaciones de la evolución·Definición, gestión y aplicación de restricciones

Page 34: Base de datos-objeto-relacional

Literatura ·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: Third-Generation 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

Page 35: Base de datos-objeto-relacional

Próxima Semana Persistencia de objetos

·Serialización·Objeto-relacional asignaciones y marcos·Persistentes lenguajes de programación