330 likes | 580 Views
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. Bases de Datos Orientadas a Objetos. Organización. Michael Grossniklaus ETH Zurich IFW D 46.2 + 41 44 632 72 73
E N D
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 Bases de Datos Orientadas a Objetos
Organización • Michael Grossniklaus • ETH Zurich • IFW D 46.2 • +41 44 632 72 73 • grossniklaus@inf.ethz.ch • Alexandre de Spindler • ETH Zurich • IFW D 47.1 • +41 44 632 74 16 • despindler@inf.ethz.ch Politecnico di Milano Campus Bassini, Room 18/103 +39 022 399 3474 grossniklaus@elet.polimi.it
Índice del Curso • Fundamentos de Bases de Datos Orientadas a Objetos • Introducción • Objeto Persistente • Db4o • Conceptos Avanzados de Bases de Datos Orientadas a Objetos • Estándares y sistemas comerciales • Almacenamiento e Indexación • Versión Modelos • Gestión de Datos de Objetos Semánticos • OM Modelo de Datos y OM Lenguaje de Modelo de Datos • Diseño e Implementación de OMS Avon • 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 Representación del Modelo Conceptual de Acceso a Datos. E/R SQL, JDBC, ODBC Capa de Interfaz de Usuario Datos Semánticos Operación Semántica Modelo Relacional Capa de Modelo de Datos RDMS Persistencia ACID Distribución Capa de Almacenamiento
Evolución e Historia Modelos de Datos Relacional Modelo Entidad-Relación ODMG 3.0 Estándares CCDASYL Modelo de Datos OM SQL: 1999 SLQ -86 SQL XML ODMG 1.0 Jerarquía RED Relación Orientado a Objetos Objeto Relacional Semi-Estructurado XML
Jerarquía de base de datos Bibliografía • Datos Organizados en un Árbol • Un Padre puede tener muchos Hijos • Un Hijo puede tener un solo Padre • Registros Descritos Por Tipos de Entidades • 1:N (Uno a Muchos)Relaciones • Consulta Por Rutas de Navegación • Ejemplos • Archivos de Sistema • LDAP • Registro de Windows y Directorio Activo • Documentos XML y Consultas X Articulo Libro Autor Autor Autor
RED de Base de Datos Bibliografía • Datos Organizados en Gráficos • Un Padre puede tener muchos Hijos • Un Hijo puede tener un solo Padre • BachmanDiagramas • Tipos de Registro Propiedades Definidas • ColocarTipos Definidos de Relaciones • Padre-Hijo, (doble) Referencia de lista,… • Consulta Por Navegación Gráfica • Ejemplos • CODASYL Articulo Libro Autor Autor Autor
Bases de Datos Relacional • Datos Organizados Como Tablas en Relaciones • Referencia Entre Tablas de Datos • Llaves Primarias y Foráneas • Relación Algebraica • Project, Select, Join • Relaciones de Forma Normal • Lenguaje Declarativo • Definición de datos, Consistencia, Manipulación y Consultas • Ejemplos • Oracle 11g, Microsoft SQL Server, IBM DB2 • PostgreSQL, MySQL
Bases de Datos Relacional • 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 • CarenciaDe Modelo Semántico • Datos complejos, Versiones, Roles • Pequeño Soporte Para Datos y Evolución De Esquema • Objeto Relacional Desigualdad De Impedancia
Objeto Relacional ImpendanceMismatch • 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 • Datos Representados Como Objetos • Objeto Identidad • Atributos y Métodos • Referencias, Relaciones, Asociaciones • Extensible Tipo Hierachy • Tipos de Usuario Definidos, Tipos de Datos Abstractos • Simple o Múltiple herencia • Sobrecargado, primordial, enlazado • Lenguaje Declarativo Para Fines ad hoc • Enlazado Para Lenguaje de Programación Orientado a Objetos
Objeto Relacional de Bases de Datos • Modelo Relacional Extendido • AnidarRelaciones • Referencias • Sets • Tipos de Filas, Tipos Abstractos • Funciones • Lenguaje Declarativo Extendido • ComputablementeCompleto • Fundamental ImpendanceMismachRemains • Mezclando Los Modelos
Objeto Relacional de Bases de Datos createtypeAddressType( streetvarchar(10), cityvarchar(10) ) createrowtypePublicationType( titlevarchar(50) ) createrowtypeBookType( isbnvarchar(10) ) underPublicationType createrowtypeAuthorType ( namevarchar(25), bookssetof(BookType), addressAddressType ) create table Book of type BookType create table Author of type AuthorType
Enlaces y Bases de Datos Futuras • XML Bases De Datos • Curso 251-0317-00L • XML y Bases de Datos • Prof. Dr. Donald Kossmann, Dr. Peter Fischer • 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.
Bases de Datos Orientadas a Objetos Sistemas Orientados a Objetos Sistemas de Bases de Datos OODB • EvitarObjeto Relacional ImpendanceMismatch • Proveer Un Modelo De Datos Uniforme • 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 • 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 • Muchos Intentos de Definir Bases De Datos Orientas A Objetos • La Manifestación de Bases de Datos Orientadas a Objetos • 13 elementos obligatorios • 5 características opcionales • 4 abrir opciones • Manifestando secuelas • Varias refutaciones del campamento relacional • Varias propiedades importantes no dirigidas
Las Manifestaciones de Las 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 ConsultasDeclarativo Sistema Orientado a Objetos Sistema Gestor de Bases de Datos
Objetos • 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 Tipo de Registro Interfaz Pública Tipo Establecido
Tipos y Clases • 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 • 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 • Objetos Complejos Formados Por Otros Constructores • Registrar, Establecer, Lista y Matriz Constructora de Objetos Complejos • Constructor otorgable • 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
Clase Tipo Tiene Contenido Describe Objeto Valor Tiene Tipos y Clases
Generalización de Jerarquía • Ventajas • Poderosas herramientas de modelado • Garantía de complejidad semántica • Reúso de especificación e implementación • 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 • 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 • 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 • Inclusión De Herencia • Todos los objetos de subtipos son también objetos de súper tipo • Basado sobre mejor estructura que operaciones • Restricción De Herencia • Caso especial de inclusión de herencia • El subtipo es expresado por restricciones sobre súper tipo • Restricción De Herencia • El Subtipo de objetos contienen más información especifica
Sobrecargado, primordial y enlazado • Método Sobrecargado • El Método es redefinido en subtipo • Garantiza especialización de métodos • Preserva uniforme los métodos de interfaces • Método Primordial • Efecto causado por métodos sobrecargados • Varias versiones de un método pueden existir en paralelo • 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 • 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 • 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 • Persistencia • Los Datos son supervivientes al programa de ejecución • Persistencia ortogonal • Persistencia implícita • 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 • Concurrencia • Gestión de múltiples usuarios interactuando concurrentemente • Atomicidad, Consistencia, Aislamiento y Durabilidad • Serialización de operaciones • 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 • Lenguaje De Alto Nivel • Expresión no trivial de preguntas concisas • Base texto o interfaces graficas • Declarativo • Ejecución Eficiente • Posibilidad para optimización de consultas • 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 • Características Opcionales • Múltiples herencias • Checando tipos e inferencia • Distribución • Designando transacciones, transacciones largas, transacciones anidadas • Versiones • Opciones Abiertas • Paradigma de programación • Sistema de representación • Tipo de Sistemas • Uniformidad
Más Allá del Manifiesto • Bases De Datos Administración De Utilidades • Ver Definición y Datos Derivados • Roles De Objetos • Los Objetos tienen roles en adiciones a tipos • Los Roles pueden ser ganadores y perdedores dinámicamente • Evolución De Bases De Datos • El Esquema y datos tiene que evolucionar correctamente con el tiempo • 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: TheObject-OrientedDatabaseSystem • Manifesto, In: BuildinganObject-OrientedDatabase • System, Morgan Kaufmann 1992 • M. Stonebraker, L. A. Rowe, B. Lindsay, J. Gray, M. Carey, • M. Brodie, P. Bernstein, and D. Beech: Third-Generation • DatabaseSystemManifesto, In: ACM SIGMOD • RECORD, 19(3), 1990 • H. Darwen and C. J. Date: TheThirdManifesto, In: ACM • SIGMOD RECORD, 24(1), 1995
Persistencia de Objetos • Serialización • Objetos Relacionales Marcados y Asignados • Lenguaje de Programación Persistente Bases de Datos Orientadas a Objetos