Bases de Datos Orientadas a Objetos
description
Transcript of 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
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]
Í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
elos
de
Da
tos
Rela
ciona
lEs
tánd
ares
CC
DASY
L
SQL
Mod
elo
Entid
ad-
Rela
ción
SLQ
-86
ODM
G 1.
0M
odel
o de
Dat
os O
M
SQL:
199
9XM
L ODM
G 3.
0
JerarquíaRED
RelaciónOrientado a Objetos
Objeto RelacionalSemi-EstructuradoXML
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