15
BASES DE DATOS ORIENTAS A OBJETOS INTRODUCCIÓN SGBD-R: MODELO DE DATOS SENCILLO, ARQUITECTURA EN 3 NIVELES (PROGRAMAS Y DATOS SEPARADOS). BASES TEÓRICAS SÓLIDAS: RELACIONES N-ARIAS R D1x D2x ... x Dn. SOPORTE MATEMÁTICO: ÁLGEBRA Y CÁLCULO RELACIONAL. DEPENDENCIAS FUNCIONALES (SEMÁNTICA DE LA RELACIÓN). TECNOLOGÍA MADURA: OPTIMIZACIÓN DE CONSULTAS. INDEXACIÓN ADMINISTRACIÓN DE LA CONCURRENCIA Y DE TRANSACCIONES (ACID). SEGURIDAD EN EL FUNCIONAMIENTO: RECUPERACIÓN. LENGUAJE ESTÁNDAR SQL (SQL3). PERO ... ... SON SÓLO ADECUADOS PARA APLICACIONES TRADICIONALES DE BD. EN LA ACTUALIDAD HAY MÁS NECESIDADES: GESTIÓN DE SISTEMAS MULTIMEDIA, SISTEMAS DE INFORMACIÓN MÉDICA O SISTEMAS GIS QUE REQUIEREN MANIPULAR INFORMACIÓN MÁS COMPLEJA. PROBLEMAS: CONVERTIR OBJETOS Y RELACIONES AL MODELO RELACIONAL SUPONE DESCOMPONER LOS OBJETOS EN GRAN NÚMERO DE TABLAS -> ERRORES. GRAN NÚMERO DE JOINS PARA SU RECUPERACIÓN -> RENDIMIENTO. SOLUCIÓN: SGBD RELACIONALES DE OBJETOS. LOS MODELOS DE DATOS Y LAS ESTRUCTURAS DE DATOS DE LOS LENUAJES DE PROGRAMACIÓN ESTÁN DESACOPLADOS: SOLUCIÓN: SGBDOO Y LENGUAJES OO SIGUEN EL MISMO PARADIGMA: - DATOS + COMPORTAMIENTO. LENGUAJE OQL.

Introduccion Características Modelo

Embed Size (px)

DESCRIPTION

Orientado a Obetos

Citation preview

BASES DE DATOS ORIENTAS A OBJETOSINTRODUCCIN SGBD-R: MODELO DE DATOS SENCILLO, ARQUITECTURA EN 3 NIVELES (PROGRAMAS Y DATOS SEPARADOS). BASES TERICAS SLIDAS: RELACIONES N-ARIAS R D1x D2x ... x Dn. SOPORTE MATEMTICO: LGEBRA Y CLCULO RELACIONAL. DEPENDENCIAS FUNCIONALES (SEMNTICA DE LA RELACIN). TECNOLOGA MADURA: OPTIMIZACIN DE CONSULTAS. INDEXACIN ADMINISTRACIN DE LA CONCURRENCIA Y DE TRANSACCIONES (ACID). SEGURIDAD EN EL FUNCIONAMIENTO: RECUPERACIN. LENGUAJE ESTNDAR SQL (SQL3). PERO ... ... SON SLO ADECUADOS PARA APLICACIONES TRADICIONALES DE BD. EN LA ACTUALIDAD HAY MS NECESIDADES: GESTIN DE SISTEMAS MULTIMEDIA, SISTEMAS DE INFORMACIN MDICA O SISTEMAS GIS QUE REQUIEREN MANIPULAR INFORMACIN MS COMPLEJA. PROBLEMAS: CONVERTIR OBJETOS Y RELACIONES AL MODELO RELACIONAL SUPONE DESCOMPONER LOS OBJETOS EN GRAN NMERO DE TABLAS -> ERRORES. GRAN NMERO DE JOINS PARA SU RECUPERACIN -> RENDIMIENTO. SOLUCIN: SGBD RELACIONALES DE OBJETOS. LOS MODELOS DE DATOS Y LAS ESTRUCTURAS DE DATOS DE LOS LENUAJES DE PROGRAMACIN ESTN DESACOPLADOS: SOLUCIN: SGBDOO Y LENGUAJES OO SIGUEN EL MISMO PARADIGMA: DATOS + COMPORTAMIENTO. LENGUAJE OQL.

CARACTERSTICAS DE LOS SGBDOO UN SGBDOO ES UN SGBD QUE SOPORTA UN MODELO BASADO EN EL PARADIGMA ORIENTADO A OBJETOS: ALMACENA OBJETOS Y SU ESQUEMA (PERSISTENCIA). LENGUAJE PARA DEFINICIN Y MANIPULACIN POR SER GESTOR: INCUYE MECANISOS PARA OPTIMIZAR EL ACCESO (INDEXACIN Y CLUSTERING), EL CONTROL DE CONCURRENCIA, SEGURIDAD Y GESTIN DE USUARIOS, FACILIDAD DE CONSULTA Y RECUPERACIN ANTE FALLOS. POR SER OO: CARACTERSTICAS DE IDENTIDAD, ENCAPSULACIN, HERENCIA, POLIMORFISMO Y CONTROL DE TIPOS.

MANIFIESTO DE LOS SGBD 3 GENERACINSTONEBREAKER et al. (1990)1 principio: Adems de los servicios tradicionales de gestin de datos, los SGBD-3G proporcionarn gestin de objetos y reglas ms ricos1.1 Un SGBD-3G debe tener un rico sistema de tipos1.2 La herencia es aconsejable1.3 Las funciones (procedimientos y mtodos) y el encapsulamiento son aconsejables1.4 Los OIDS para los registros deberan asignarse por el SGBD slo si no se dispone de una clave primaria1.5 Las reglas se convertirn en una caracterstica primordial de los sistemas futuros2 principio: Los SGBD-3G deben subsumir a los SGBD-2G2.1 Tener un lenguaje de acceso declarativo y de alto nivel2.2 Dos formas de especificar colecciones: enumeracin de sus miembros o mediante un lenguaje de consultas2.3 Las visitas deben ser actualizables2.4 Los indicadores de resultado no deben aparecer en los datos3 principio: Los SGBD-3G deben estar abiertos a otros subsistemas3.1 Los SGBD-3G deben ser accesibles desde mltiples lenguajes de alto nivel3.2 Soportar la persistencia de variables3.3 El SQL es una forma intergalctica de expresin de datos3.4 Las consultas y las respuestas resultantes deben ser el nivel ms bajo de comunicacin entre un cliente y un servidorMANIFIESTO DE LOS SGBD-OOATKINSON et al. (1989)Reglas de oro: Objetos complejos Identidad de objetos Encapsulacin Tipos o clases Herencia de tipos o clases (jerarquas) Vinculacin dinmica (sobrecarga de mtodos) LMD computacionalmente completo Extensibilidad de tipos de datos Persistencia Gestin de BD grandes Concurrencia Recuperacin Facilidad de consulta ad hocCaractersticas opcionales: Herencia mltiple Verificacin e inferencia de tipos Distribucin Transacciones de diseo VersionesOpciones abiertas a los fabricantes: Paradigma de programacin Sistema de representacin Sistema de tipos UniformidadMITOS sobre los SGBD-OO Son entre 10 y 1000 veces ms veloces que los SGBDR Eliminan la necesidad de un LMD especfico Eliminan la necesidad de las combinaciones La identidad de los objetos elimina la necesidad de claves. No pueden tener un lenguaje de consulta no procedimental El procesamiento de consultas viola el encapsulamiento Son slo una reencarnacin de los SGBD en red No soportan directamente los datos multimedia No tienen un fundamento terico No sirven para aplicaciones importantes No son escalables No se usan en aplicaciones de produccin No se pueden consultarBD Orientas a Objetos Puras Ventajas: Capacidades de modelado enriquecidas Extensibilidad Eliminacin del desajuste de impedancia Lenguaje de consulta ms expresivo Soporte para la evolucin de esquemas Soporte para transacciones de larga duracin Apto para aplicaciones de BD avanzadas Rendimiento mejorado Desventajas: Falta de un Modelo de Datos universal Falta de experiencia Falta de estndares Competencia La optimizacin de consultas hace peligrar la encapsulacin Bloqueos a nivel de objetos pueden perjudicar el rendimiento Complejidad Sin soporte para vistas Sin soporte para seguridadBD Orientadas a Objetos Puras: ventajas Soporte para transacciones de larga duracin: Los SGBD actuales obligan la serializabilidad de transacciones concurrentes, para mantener la consistencia. Eso no es til para transacciones de larga duracin, por ellos algunos SGBDOO usan otros protocolos para manejar transacciones de larga duracin. Apto para aplicaciones de BD avanzadas: Las capacidades de modelado enriquecida en los SGBDOO, hacen que sean adecuados para aplicaciones como CAD, CASE, multimedia, OIS, etc. Rendimiento mejorado: existen varios estudios que manifiestan la mejora en rendimiento con respecto a los SGBDR. Aunque algunos argumentan que tienen mejor rendimiento para aplicaciones ms adecuadas a la OO, pero que en aplicaciones tradicionales de SGBD (OLTP) son mejores los SGBDR.BD Orientadas a Objetos Puras: desventajas Falta de un Modelo de Datos Universal: no existe un modelo de datos universal y la mayora carece de fundamentos tericos. Aunque ODMG ha propuesto un modelo de objetos que se ha convertido en el estndar de facto en los SGBDO Falta de experiencia: en comparacin con los SGBDR el uso de los SGBOO es todava limitado. Por ello, no se tiene demasiada experiencia en ellos. Falta de estndares: como no existe un modelo de datos estndar, tampoco existe un lenguaje de consulta estndar. Aunque ODMG ha propuesto un lenguaje de consultas OO, que se ha convertido en de facto. Competencia: los SGBE y los SGBDOR estn ms difundidos y existen muchas ms herramientas desarrolladas para ayudar a los usuarios finales. La optimizacin de consultas hace peligrar la encapsulacin: la optimizacin de consultas requiere un entendimiento de la implementacin subyacente para acceder a la BD eficientemente, eso puede comprometer el concepto de encapsulacin. Bloqueos a nivel de objeto pueden perjudicar el rendimiento: muchos SGBDOO usan el bloqueo como la base de los protocolos de concurrencia. Sin embargo, si el bloqueo se aplica a nivel de objeto, el bloqueo de una jerarqua de herencia puede ser problemtica, como as tambin su rendimiento. Complejidad: la gran funcionalidad que proveen los SGBDOO, hace que sean ms complejos, y esto lleva a productos ms difciles de usar y ms caros. Son soporte para vistas: las vistas proveen muchas ventajas, como personalizacin, seguridad, reduccin de la complejidad, etc. Sin soporte para seguridad: actualmente los SGBDOO no proporcionan mecanismos adecuados de seguridad. SGBDOO: GEMSTONE: ES UN SISTEMA DE GESTIN ORIENTADO A OBJETOS QUE COMBINA LOS CONCEPTOS DEL SMALLTALK CON FUNCIONES DE GESTIN DE BASES DE DATOS: EL LENGUAJE DE DEFINICIN Y MANIPULACIN DE DATOS ES OPAL QUE SE DERIVA DE SMALLTALK. ODMG. OBJECTSTORE: DESARROLLADO A PARTIR DEL LENGUAJE C++ AADINDOLE A SUS OBJETOS PERSISTENCIA. ODMG. POET. EXTENSIN DE C++ ODMG. O2 JASMINE.MODELO DE DATOS ORIENTADO A OBJETOS NO HAY UN ESTNDAR PERO S ACUERDO SOBRE UN MODELO QUE SE FUNDAMENTA EN 5 CONCEPTOS: CADA ENTIDAD DEL MUNDO REAL ES UN OBJETO, CADA OBJETO ES ASOCIADO CON UN IDENTIFICADOR NICO (OID). CADA OBJETO TIENE UN CONJUNTO DE ATRIBUTOS Y MTODOS, EL VALOR DE UN ATRIBUTO PUEDE SER UN OBJETO O CONJUNTO DE OBJETOS (SET, LIST, MULTISET) DEL QUE GUARDAR SU OID (AGREGACIN). LOS VALORES DE LOS ATRIBUTOS REPRESENTAN EL ESTADO DEL OBJETO EL ESTADO DEL OBJETO. EL ESTADO DE UN OBJETO SE CONOCE Y/O MODIFICA ENVIANDO MENSAJES, QUE INVOCAN LOS MPETODOS CORRESPONDIENTES DEL OBJETO. LOS OBJETOS QUE COMPARTEN LA MISMA ESTRUCTURA Y COMPORTAMIENTO SE AGRUPAN EN CLASES. UNA CLASE SE PUEDE DEFINIR COMO UNA ESPECIALIZACIN (SUBCLASE) DE UNA O MS CLASES (HERENCIA). EJEMPLO UML:

MODELO DE OBJETOS ORGENES:

MODELO DE OBJETOS CONCEPTOS

VENTAJAS: LA UTILIZACIN DE OBJETOS PERMITE REPRESENTAR DE FORMA MS NATURAL EL PROBLEMA DE INFORMACIN -> MEJORAR LA COMUNICACIN ENTRE LOS USUARIOS, LOS DISEADORES Y LOS ANALISTAS. DATOS Y COMPORTAMIENTO EN UN MISMO LENGUAJE -> FACILITA DESARROLLO DE APLICACIONES. PERMITE DEFINIR NUEVOS TIPOS DE DATOS A PARTIR DE TIPOS EXISTENTES. LENGUAJE NAVEGACIONAL. SOPORTE A ESQUEMA EVOLUTIVO: EL ESTRECHO ACOPLAMIENTO ENTRE DATOS Y APLICACIONES EN UN SGBDOO HACE MPAS ABORDABLE EL ESQUEMA EVOLUTIVO. DESVENTAJAS: FALTA DE UN MODELO DE DATOS UNIVERSAL COMO ES EL MODELO RELACIONAL. FALTA DE EXPERIENCIA. USO DE ODMG ES ESTNDAR DE FACTO FALTA DE EXTNDARES. OQL DE ODMG ES ESTNDAR DE FACTO. EXTENSIN DE LOS SGBDR INCLUYENDO EL PARADIGMA OO. SON MS COMPLEJOS DE DISEAR Y MANTENER. FALTA DE SOPORTE A VISTAS (VIEWS) Y RESTRICCIONES DECLARATIVAS -> DEPENDEN DE LOS MTODOS DEFINIDOS. FALTA DE SOPORTE A LA SEGURIDAD NO PUEDEN CONCEDER DERECHOS DE ACCESO A OBJETOS O CLASES POR USUARIO. LA OPTIMIZACIN DE CONSULTAS COMPROMETE LA ENCAPSULACIN LOS BLOQUEOS A NIVEL DE OBJETO, UTILIZADOS EN PROTOCOLOS DE CONTROL DE CONCURRENCIA PUEDEN AFECTAR AL RENDIMIENTO.

DISEO DE BDOO: