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

  1. ARANDA LOPEZ, GABRIEL
Dirigée par:
  1. Fernando Sáenz Pérez Directeur/trice
  2. Jaime Sánchez Hernández Directeur/trice
  3. Susana Nieva Soto Directeur/trice

Université de défendre: Universidad Complutense de Madrid

Fecha de defensa: 16 décembre 2015

Jury:
  1. Francisco Javier López Fraguas President
  2. Rafael Caballero Roldán Secrétaire
  3. Paqui Lucio Rapporteur
  4. Jesús Manuel Almendros Jiménez Rapporteur
  5. Pedro Lopez Garcia Rapporteur

Type: Thèses

Résumé

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.