Índice del curso evolución e historia de sistemas gestores de bases de datos requerimientos de...

Post on 10-Feb-2015

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

ORGANIZACIÓN

• Michael GrossniklausETH ZurichIFW D 46.2 +41 44 632 72 73 grossniklaus@inf.ethz.ch

• Alexandre de SpindlerETH ZurichIFW D 47.1+41 44 632 74 16despindler@inf.ethz.ch

Politecnico di MilanoCampus Bassini, Room 18/103+39 022 399 3474grossniklaus@elet.polimi.it

Í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

DISEÑO DE BASE DE DATOS

Diseño Conceptual

Implementación de Diseño

Diseño Físico

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

TIPOS Y CLASES

Clase TipoTiene

DescribeContenido

Objeto ValorTiene

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

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

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

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

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

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

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

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

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

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

BASES DE DATOS ORIENTADAS A OBJETOS

PERSISTENCIA DE OBJETOS

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

top related