Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de...

33
BASES DE DATOS ORIENTADAS A OBJETOS INTRODUCCIÓN Índice del Curso • Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos

Transcript of Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de...

Page 1: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

BASES DE DATOS ORIENTADAS A OBJETOS

INTRODUCCIÓN

• Índice del Curso• Evolución e Historia de Sistemas Gestores de Bases de Datos• Requerimientos de Sistemas Gestores de Bases de Datos

Orientadas a Objetos

Page 2: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

ORGANIZACIÓN

• Michael GrossniklausETH ZurichIFW D 46.2 +41 44 632 72 73 [email protected]

• Alexandre de SpindlerETH ZurichIFW D 47.1+41 44 632 74 [email protected]

Politecnico di MilanoCampus Bassini, Room 18/103+39 022 399 [email protected]

Page 3: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

ÍNDICE DEL CURSO

I. Fundamentos de Bases de Datos Orientadas a Objetos1. Introducción2. Objeto Persistente3. Db4o

II. Conceptos Avanzados de Bases de Datos Orientadas a Objetos1. Estándares y sistemas comerciales2. Almacenamiento e Indexación3. Versión Modelos

III.Gestión de Datos de Objetos Semánticos 1. OM Modelo de Datos y OM Lenguaje de Modelo de Datos2. Diseño e Implementación de OMS Avon3. Context-Aware de Gestión de Datos

Page 4: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

DISEÑO DE BASE DE DATOS

Diseño Conceptual

Implementación de Diseño

Diseño Físico

Page 5: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

SISTEMAS GESTORES DE BASES DE DATOS

Capa de Interfaz de Usuario

Capa de Modelo de Datos

Capa de Almacenamiento

Representación del Modelo Conceptual de Acceso a Datos.

Datos Semánticos Operación Semántica

PersistenciaACIDDistribución

E/RSQL, JDBC, ODBC

Modelo Relacional

RDMS

Page 6: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

EVOLUCIÓN E HISTORIA

Mod

elo

s d

e

Dato

s R

ela

cion

al

Est

án

dare

s C

CD

AS

YL

SQ

L

Mod

elo

En

tid

ad

-R

ela

ción

SLQ

-8

6

OD

MG

1.0

Mod

elo

de D

ato

s O

M

SQ

L: 1

99

9

XM

L

OD

MG

3.0

Jerarquía

RED

Relación

Orientado a Objetos

Objeto Relacional

Semi-Estructurado

XML

Page 7: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

Bibliografía

Libro Articulo

AutorAutor Autor

JERARQUÍA DE BASE DE DATOS

1. Datos Organizados en un Árbol• Un Padre puede tener muchos Hijos• Un Hijo puede tener un solo Padre

2. Registros Descritos Por Tipos de Entidades

3. 1:N (Uno a Muchos) Relaciones

4. Consulta Por Rutas de Navegación

5. Ejemplos• Archivos de Sistema• LDAP• Registro de Windows y Directorio

Activo• Documentos XML y Consultas X

Page 8: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

Bibliografía

Libro Articulo

AutorAutor Autor

1. Datos Organizados en Gráficos • Un Padre puede tener muchos Hijos• Un Hijo puede tener un solo Padre

2. Bachman Diagramas

3. Tipos de Registro Propiedades Definidas

4. Colocar Tipos Definidos de Relaciones• Padre-Hijo, (doble) Referencia de

lista,…

5. Consulta Por Navegación Gráfica

6. Ejemplos• CODASYL

RED DE BASE DE DATOS

Page 9: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

BASES DE DATOS RELACIONAL

1. Datos Organizados Como Tablas en Relaciones

2. Referencia Entre Tablas de Datos• Llaves Primarias y Foráneas

3. Relación Algebraica• Project, Select, Join

4. Relaciones de Forma Normal

5. Lenguaje Declarativo• Definición de datos, Consistencia,

Manipulación y Consultas

6. Ejemplos• Oracle 11g, Microsoft SQL Server, IBM

DB2• PostgreSQL, MySQL

Page 10: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

BASES DE DATOS RELACIONAL

1. El Modelo Relacional Es Muy Simple• Solo conceptos básicos -- Referencias necesarias a ser

simuladas• Tipos de restricciones de sistema -- No definir tipos de

usuario

2. Carencia De Modelo Semántico• Datos complejos, Versiones, Roles

3. Pequeño Soporte Para Datos y Evolución De Esquema

4. Objeto Relacional Desigualdad De Impedancia

Page 11: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

OBJETO RELACIONAL IMPENDANCE MISMATCH

• Aplicación Orientada a Objetos Desarrollo y Gestión de Datos relacionados resultantes en conflictos de dos modelos incompatibles.

• El código de mapa entre modelos es considerado sobrecarga costosa y duramente de mantener

Page 12: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

BASES DE DATOS ORIENTADAS A OBJETOS

1. Datos Representados Como Objetos• Objeto Identidad• Atributos y Métodos• Referencias, Relaciones, Asociaciones

2. Extensible Tipo Hierachy• Tipos de Usuario Definidos, Tipos de Datos

Abstractos• Simple o Múltiple herencia• Sobrecargado, primordial, enlazado

3. Lenguaje Declarativo Para Fines ad hoc

4. Enlazado Para Lenguaje de Programación Orientado a Objetos

Page 13: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

1. Modelo Relacional Extendido• Anidar Relaciones• Referencias• Sets• Tipos de Filas, Tipos Abstractos• Funciones

2. Lenguaje Declarativo Extendido• Computablemente Completo

3. Fundamental Impendance Mismach Remains

4. Mezclando Los Modelos

OBJETO RELACIONAL DE BASES DE DATOS

Page 14: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

OBJETO RELACIONAL DE BASES DE DATOS

create type AddressType (street varchar(10),city varchar(10))create row type PublicationType (title varchar(50))create row type BookType (isbn varchar(10)) under PublicationTypecreate row type AuthorType (name varchar(25),books setof(BookType),address AddressType)create table Book of type BookTypecreate table Author of type AuthorType

Page 15: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

ENLACES Y BASES DE DATOS FUTURAS

1. XML Bases De Datos• Curso 251-0317-00L• XML y Bases de Datos• Prof. Dr. Donald Kossmann, Dr. Peter Fischer

2. Móvil y Bases de Datos Personales• Curso 251-0373-00L• Móvil y Bases de Datos Personales• Prof. Dr. Moira C. Norrie• Autumn Semestre.

Page 16: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

OODB

Sistemas Orientados a Objetos

Sistemas de Bases de Datos

BASES DE DATOS ORIENTADAS A OBJETOS

1. Evitar Objeto Relacional Impendance Mismatch

2. Proveer Un Modelo De Datos Uniforme

3. Combinar Aspectos y Propiedades De• Sistemas Orientados a Objetos y Lenguajes• Sistemas Gestores de Bases de Datos

Page 17: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

DEFINICIÓN DE BASES DE DATOS ORIENTADAS A OBJETOS

1. Diversos Enfoques De Sistemas De Bases de Datos Orientadas A Objetos• Creado Persistencia de Lenguajes de Programación

Orientado a Objetos• Gestionando y Almacenando Datos de Objetos

2. Muchos Intentos de Definir Bases De Datos Orientas A Objetos

3. La Manifestación de Bases de Datos Orientadas a Objetos• 13 elementos obligatorios • 5 características opcionales • 4 abrir opciones

4. Manifestando secuelas • Varias refutaciones del campamento relacional• Varias propiedades importantes no dirigidas

Page 18: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

1.Objetos Complejos 2.Identidad de Objetos 3.Encapsulación 4.Tipos y Clases 5.Tipos y Herencia de Clases

6. Sobrecargado, primordial, enlazado

7.Computablemente Completo 8.Extensibilidad

9.PerPersistente 10. Eficiente 11. Concurrente 12. Fiable 13. Lenguaje de Consultas

Declarativo

Sistema Orientado a Objetos

Sistema Gestor de Bases de Datos

LAS MANIFESTACIONES DE LAS BASES DE DATOS ORIENTADAS A OBJETOS

Page 19: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

OBJETOS

1. Encapsulación• Objeto consistente de interfaz e implementación• Interfaz definida de métodos públicos• Implementación incluyendo datos de objetos y métodos• El Estado de los Objetos es modificado mediante métodos

públicos• Estructura de Datos de Objetos muchos son expuestos por

consultas declarativas

Interfaz Pública

Tipo Establecido

Tipo de Registro

Page 20: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

TIPOS Y CLASES

1. Tipos De Datos• Definición de propiedades de objetos• Parte estática descrita por estructura de objetos• Parte dinámica descrita por comportamiento de objetos• Separación de interfaz e implementación• Uso de chequeo correcto de programas en tiempo de

compilación

2. Objetos de Clases• Contenido para objetos del mismo tipo• El objeto puede ser agregado y removido• Uso de creación y manipulación de objetos en tiempo de

ejecución

Page 21: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

OBJETOS

1. Objetos Complejos Formados Por Otros Constructores• Registrar, Establecer, Lista y Matriz Constructora de

Objetos Complejos• Constructor otorgable

2. Identidad De Objeto e Igualdad • Todos los objetos son únicos e identificador de objetos

inmutable (OID) • Compartición de objetos mediante referencias• Dos objetos son iguales si tienen un mismo estado

Page 22: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

TIPOS Y CLASES

Clase TipoTiene

DescribeContenido

Objeto ValorTiene

Page 23: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

GENERALIZACIÓN DE JERARQUÍA

1. Ventajas• Poderosas herramientas de modelado• Garantía de complejidad semántica• Reúso de especificación e implementación

2. Herencia• Objetos de subclases perteneciente automáticamente

a la superclase• Los atributos y métodos son heredados de superclase• Las subclases pueden introducir nuevos atributos y

métodos

3. Migración Entre Clases• Mover objetos entre niveles de herencia• Objetos especializados y generalización • Instancias de clases contra miembros de clases

Page 24: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

GENERALIZACIÓN DE JERARQUÍA

1. Sustitución De Herencia• El Subtipo es mas operacional que el súper tipo• El Subtipo puede ser sustituido como súper tipos• Basado sobre mejor comportamiento que valores

2. Inclusión De Herencia• Todos los objetos de subtipos son también objetos de súper tipo• Basado sobre mejor estructura que operaciones

3. Restricción De Herencia • Caso especial de inclusión de herencia• El subtipo es expresado por restricciones sobre súper tipo

4. Restricción De Herencia • El Subtipo de objetos contienen más información especifica

Page 25: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

SOBRECARGADO, PRIMORDIAL Y ENLAZADO

1. Método Sobrecargado• El Método es redefinido en subtipo• Garantiza especialización de métodos• Preserva uniforme los métodos de interfaces

2. Método Primordial• Efecto causado por métodos sobrecargados• Varias versiones de un método pueden existir en paralelo

3. Método Enlazado• Apropiada versión de método primordial seleccionado en

tiempo de ejecución• También conocido como método virtual perteneciente

Page 26: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

COMPLETAMENTE COMPUTACIONAL Y EXTENSIBLE

1. Completamente Computacional• Requerimientos para el lenguaje de implementación de

métodos• La función computable puede ser expresada• Puede ser realizada a través de conexión con lenguaje

existente

2. Extensibilidad• Las Bases de Datos son establecidas de tipos predefinidos• El Desarrollo puede definir nuevos tipos de requerimientos

acordes• No usable distinción entre sistema y tipos de usuario

Page 27: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

DURABILIDAD Y EFICIENCIA

1. Persistencia• Los Datos son supervivientes al programa de ejecución• Persistencia ortogonal• Persistencia implícita

2. Registro Gestionado Secundario• Gestión de índices• Datos Agrupados• Datos Búfer• Acceso a ruta de selección• Optimización de consultas

Page 28: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

CONTROL CONCURRENTE Y LIBERACIÓN

1. Concurrencia• Gestión de múltiples usuarios interactuando

concurrentemente• Atomicidad, Consistencia, Aislamiento y Durabilidad• Serialización de operaciones

2. Fiabilidad• Elasticidad a usuarios, software y hardware• Las transacciones pueden ser confirmadas o abortadas• Restauración previa estados coherentes de datos• Rehacer y deshacer las transacciones• Operaciones de identificación

Page 29: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

LENGUAJE DECLARATIVO DE CONSULTAS

1. Lenguaje De Alto Nivel• Expresión no trivial de preguntas concisas• Base texto o interfaces graficas• Declarativo

2. Ejecución Eficiente• Posibilidad para optimización de consultas

3. Aplicación Independiente• Trabajo sobre varias bases de datos posibles• No requiere métodos adicionales sobre tipos de usuarios

definidos

Page 30: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

CARACTERÍSTICAS OPCIONALES Y OPCIONES ABIERTAS

1. Características Opcionales• Múltiples herencias• Checando tipos e inferencia• Distribución• Designando transacciones, transacciones largas, transacciones

anidadas• Versiones

2. Opciones Abiertas• Paradigma de programación• Sistema de representación• Tipo de Sistemas• Uniformidad

Page 31: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

MÁS ALLÁ DEL MANIFIESTO

1. Bases De Datos Administración De Utilidades

2. Ver Definición y Datos Derivados

3. Roles De Objetos• Los Objetos tienen roles en adiciones a tipos• Los Roles pueden ser ganadores y perdedores dinámicamente

4. Evolución De Bases De Datos• El Esquema y datos tiene que evolucionar correctamente con el

tiempo

5. Restricciones• Integridad, Semántico y evolución de restricciones• Definición, gestión y reforzamiento de restricciones

Page 32: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

REFERENCIAS

• M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier,and S. Zdonik: The Object-Oriented Database SystemManifesto, In: Building an Object-Oriented DatabaseSystem, Morgan Kaufmann 1992

• M. Stonebraker, L. A. Rowe, B. Lindsay, J. Gray, M. Carey,M. Brodie, P. Bernstein, and D. Beech: Third-GenerationDatabase System Manifesto, In: ACM SIGMODRECORD, 19(3), 1990

• H. Darwen and C. J. Date: The Third Manifesto, In: ACMSIGMOD RECORD, 24(1), 1995

Page 33: Índice del Curso Evolución e Historia de Sistemas Gestores de Bases de Datos Requerimientos de Sistemas Gestores de Bases de Datos Orientadas a Objetos.

BASES DE DATOS ORIENTADAS A OBJETOS

PERSISTENCIA DE OBJETOS

• Serialización• Objetos Relacionales Marcados y Asignados• Lenguaje de Programación Persistente