Extensiones de bases de datos relacionales y deductivasfundamentos teóricos e implementación

  1. ARANDA LOPEZ, GABRIEL
Dirigida por:
  1. Fernando Sáenz Pérez Director
  2. Jaime Sánchez Hernández Director
  3. Susana Nieva Soto Directora

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 16 de diciembre de 2015

Tribunal:
  1. Francisco Javier López Fraguas Presidente
  2. Rafael Caballero Roldán Secretario
  3. Paqui Lucio Vocal
  4. Jesús Manuel Almendros Jiménez Vocal
  5. Pedro Lopez Garcia Vocal
Departamento:
  1. Ingeniería del Software e Inteligencia Artificial

Tipo: Tesis

Resumen

En esta tesis hacemos contribuciones dentro del campo de las bases de datos. Nos hemos propuesto tres objetivos fundamentales: - Mejorar la expresividad de los lenguajes de bases de datos actuales. - Desarrollar semánticas formales para nuestras propuestas de lenguajes de bases de datos extendidos. - Llevar a cabo la implementación de las semánticas anteriores en sistemas prácticos. Hemos conseguido estos objetivos en dos áreas. Por un lado, en el campo de las bases de datos deductivas, proponemos HHn(C). Este lenguaje extiende las capacidades de los lenguajes de bases de datos deductivas con restricciones dado que permite consultas hipotéticas y cuantificación universal. Por otro lado, utilizamos el estudio dentro de las bases de datos deductivas y lo aplicamos a las bases de datos relacionales. En concreto proponemos HR-SQL que incorpora consultas hipotéticas y definiciones recursivas no lineales y mutuamente recursivas. La idea tras esta propuesta es superar algunas limitaciones expresivas del lenguaje estándar de definición de bases de datos SQL. A continuación introducimos ambas aproximaciones. El esquema HH(C) se ha usado como base para lenguajes de programación lógica con restricciones. Al igual que la programación lógica da soporte a lenguajes de bases de datos deductivas como Datalog con restricciones, este marco se usa como base para un sistema de bases de datos deductivas que mejora la expresividad de los sistemas aparecidos. En el segundo capítulo de esta tesis se muestran los resultados teóricos que fundamentan el lenguaje HHn(C) y una implementación concreta de este que demuestra su viabilidad y expresividad. Las principales aportaciones son la incorporación de la implicación intuicionista, que permite formular hipótesis, y el uso de cuantificadores incluso en el lenguaje de restricciones. El sistema está diseñado de forma que soporta diferentes sistemas de restricciones. La implementación incluye varios dominios concretos y también funciones de agregación y restricciones de integridad. El significado del lenguaje se define mediante una semántica de pruebas y el mecanismo operacional se define mediante una semántica de punto fijo que es correcta y completa con respecto a la primera. Para el cómputo de las consultas hipotéticas y de las funciones de agregación se hace uso de una noción de estratificación más compleja que la que usa Datalog. La semántica de punto fijo desarrollada constituye un marco apropiado que lleva a la implementación de un sistema concreto. SQL es el lenguaje estándar de definición y consulta de bases de datos relacionales. Se trata de un lenguaje declarativo que carecía de recursión en sus orígenes. Sin embargo, hoy en día los lenguajes de bases de datos basados en SQL soportan la recursión de forma parcial imponiendo algunas restricciones como la linealidad de las definiciones recursivas y no permitiendo la recursión mutua. Además estas extensiones no están integradas en las semánticas disponibles para SQL. En el tercer capítulo de esta memoria proponemos el lenguaje y el sistema R-SQL. Esta aproximación supera las limitaciones de definiciones recursivas del estándar. Hemos dotado al lenguaje inicial de un lenguaje de definición de vistas y de un lenguaje de consulta propios que permiten razonamiento hipotético, con lo que surge el lenguaje HR-SQL Este segundo lenguaje mejora R-SQL en dos aspectos. En primer lugar, incorpora hipótesis en vistas y consultas permitiendo razonamiento hipotético con suposiciones positivas y negativas. El fundamento semántico de HR-SQL está inspirado en la investigación para HHn(C). Por otro lado, se ha llevado a cabo una mejora de la eficiencia del cálculo del punto fijo en el sistema que se presenta como una capa superior sobre los sistemas de bases de datos relacionales existentes. Finalmente, presentamos los resultados de una comparativa de la eficiencia del sistema con otros sistemas actuales.