• Aucun résultat trouvé

2 PostgreSQL et minimisation de requêtes

N/A
N/A
Protected

Academic year: 2022

Partager "2 PostgreSQL et minimisation de requêtes"

Copied!
2
0
0

Texte intégral

(1)

TD: Analyse statique

Pierre Senellart (pierre.senellart@ens.fr) 19 avril 2017

Le but de ce TD est d’explorer les techniques d’analyse statique et leurs limites.

Rendu

Le rendu de ce TD doit être fait par mél, avant 23:59 le 19 avril, àpierre.senellart@ens.fr en fournissant, en attachement du mél, un fichier PDF contenant une version électronique, des scans ou des photographieslisibles de vos réponses au TD. Des pénalités seront comptées en cas de rendu tardif (0,5 point par heure de retard).

1 Algorithme de minimisation

On considère un schéma relationnel formé d’une unique relation R avec attributs A, B, C. Pour chacune des requêtes de l’algèbre relationnelle suivantes, les transformer en requêtes conjonctives et les minimiser en utilisant l’algorithme de minimisation.

1a. ΠACAB(R)./ΠBC(R)]./ΠAAC(R)./ΠCB(R)]

1b. ΠACAB(R)./ΠBC(R)]./ΠABB=8(R))./ΠBCA=5(R)) 1c. ΠABC=1(R))./ΠBC(R)./ΠABC=1AC(R))./ΠCB(R)]

2 PostgreSQL et minimisation de requêtes

2a. Proposer un protocole expérimental permettant de tester si PostgreSQL minimise les requêtes conjonctives en sémantique ensembliste (c’est-à-dire, avecDISTINCT).

2b. Faire l’expérience et conclure. (On peut utiliser la commande \timing dans l’outil en ligne de commande psqlpour activer le calcul du temps d’exécution d’une requête.)

3 Satisfiabilité dans le cadre fini et infini

On considère dans cet exercice la logique du premier ordre dans le cadre fini (le calcul relationnel classique) et le cadre infini (le calcul relationnel, quand on autorise les relations constituant une base de données à avoir une infinité de tuples).

Un résultat fondamental dans le cadre infini est le théorème de complétude de Gödel. Il peut se formuler de la manière suivante : si une formule de la logique du premier ordre est vraie dans tous les modèles de la logique du premier ordre (on dit dans ce cas qu’elle est une tautologie), alors il existe une démonstration de cette formule. Pour les besoins de cet exercice, nous n’avons pas besoin de définir plus formellement ce qu’est une démonstration (cela peut être fait de diverses manières), mais simplement du fait qu’une démonstration est une séquence finie de symboles, dont la correction (le fait que ce soit effectivement la démonstration d’un résultat donné) est décidable.

(2)

3a. On admettra que la satisfiabilité d’une formule logique du premier ordre dans le cadre infini est indécidable. (Cela peut se démontrer par exemple en codant les machines de Turing en logique du premier ordre et en écrivant une formule de FO qui exprime qu’une machine donnée ne termine pas.) Montrer que l’inclusion et l’équivalence de requêtes de premier ordre dans le cadre infini est indécidable.

3b. Montrer que l’inclusion et l’équivalence de requêtes de premier ordre dans le cadre infini est récursivement énumérable.

3c. Comparer avec la situation dans le cadre fini.

3d. Démontrer qu’il n’existe pas d’équivalent du théorème de complétude de Gödel dans le cadre fini.

4 Théorème d’homomorphisme et domaines finis

On considère dans cet exercice le cas où les domaines des différents attributs ont des domaines finis : il y a un nombre fini de valeurs qu’un attribut peut prendre.

4a. Montrer que seule une des deux directions du théorème d’homomorphisme est satisfaite en présence de domaines finis.

4b. On fixe un n >1 arbitraire, et on impose que le domaine actif d’une base de données soit un certain ensemble {a1, . . . , an}. Exhiber sous cette condition deux requêtes conjonctivesq etq0 telles queq vq0 mais qu’il n’existe pas d’homomorphisme deq vers q0.

4c. On fixe un n >1 arbitraire, et on impose que le domaine actif d’une base de données soit un certain ensemble {a1, . . . , an}. Montrer que, sous cette condition, l’existence d’une unique requête minimale minimale (à isomorphisme près) équivalente à une requête conjonctive donnée est fausse.

2

Références

Documents relatifs

Dans la logique du second ordre, on utilise un deuxi`eme type de variables, appel´ees variables du second ordre, qui repr´esentent des relations.. LIAFA, CNRS et Universit´ e

— Une machine à k ∈ N >0 piles est une MT avec une bande d’entrée en lecture seule et k bandes de travail, où les bandes de travail sont remplacées par des piles (on peut

Un ensemble de formules T est coh´ erent si et seulement si on ne peut pas prouver ⊥ ` a partir de cet ensemble i.e...

En traduisant ce probl`eme dans la logique du premier ordre, montrer `a l’aide de la d´eduction naturelle que Pierre r´eussira sa carri`ere.

Chapitre 3 : Logique du premier ordre. Lucie

on remplace chaque variable quantifiée existentiellement par une fonction des variables quantifiées universellement avant et on supprime les quantificateurs existentiels. On convient

Chaque case peut contenir un symbole de l’alphabet du ruban 2- Une tête de lecture/écriture qui peut se déplacer le long du ruban et qui pointe à chaque instant une case du ruban..

Pour toute machine de Turing M à états finaux, il existe une machine de Turing classique M’, qui exécute la même tâche et