Chase of datalog programs and its application to solve the functional dependencies implication problem
暂无分享,去创建一个
Esta tesis presenta resultados en dos areas principales. Por un lado se presentan resultados en el area de optimizacion de consultas recursivas (programas datalog recursivos lineales) en sistemas de gestion de bases datos deductivas (o convencionales pero que cumplan las especificaciones de SQL99) y por otro se presentan resultados en la implicacion de dependencias funcionales en el modelo de datos deductivo. Para la optimizacion de programas recursivos lineales la aproximacion adoptada es la de la optimizacion semantica de consultas que consiste en la utilizacion de las restricciones, que cumplen las bases de datos sobre las que se ejecutan las consultas, para obtener un programa mas eficiente de evaluar. En concreto, se presentan dos algoritmos para la optimizacion de programas de datolg recursivos lineales cuando la base de datos sobre la que se ejecutan las consultas cumple un conjunto de dependencias funcionales. El primero se denomina chase de programas datalog y el segundo se denomina cyclic chase de programas datalog. Ambos algortimos persiguen el mismo objetivo (pero siguiendo dos aproximaciones ligeramente distintas), esto es, a partir de un progrma datalog recursivo lineal P y un conjunto de dependencias funcionales F, los dos algoritmos obtienen un programa P' que es equivalente a P cuando ambos (P y P') son evaluados sobre bases de datos que cumplen las dependencias funcionales F. Los dos algoritmos se basan en la utilizacion del chase, un procedimiento que originalmente se desarrollo para comprobar si una descomposicion (de una relacion universal) en distintas relaciones tenia perdida de informacion o no. Los dos algoritmos utilizan la idea basica del chase (la igualacion de variables siguiendo las dependencias funcionales) para la igualacion de variables dentro de los programas datalog.