• Aucun résultat trouvé

Inclusion et équivalence

N/A
N/A
Protected

Academic year: 2022

Partager "Inclusion et équivalence"

Copied!
31
0
0

Texte intégral

(1)

Analyse statique de requêtes

Cours L3 Bases de Données Pierre Senellart

É C O L E N O R M A L E S U P É R I E U R E

RESEARCH UNIVERSITY PARIS

19 avril 2017

(2)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Plan

Inclusion et équivalence

Requêtes conjonctives Calcul relationnel Références

(3)

3/22

Optimisation de requêtes

But : Étant donnée une requêteq dans un certain

langage Q et une base de données D, trouver une requête équivalente à q sur D et plus rapide à exécuter sur D

Dans cette séance : Qest le calcul relationnel (ou un de ses fragments), et on cherche une requête plus rapide sur n’importe quelle base de données(on ne regarde pas D, on parle d’analyse statique)

Séance à venir :Q est l’ensemble desplans d’exécutions de requête (une spécialisation de l’algèbre relationnelle où l’on choisit des implémentations pour chacun des opérateurs) et on utilise des statistiques sur D

(4)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Optimisation globale

On considère dans cette séance des techniques

d’optimisation globales, considérant la requête dans sa totalité (les techniques qu’on verra sur les plans d’exécutions sont plus locales)

On a donc besoin de définir formellement :

Équivalence : q q0 si pour toute base de donnéesD, q(D) = q0(D)

Minimalité : q0 est la « meilleure » requête équivalente à q dans Q

(5)

5/22 Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Inclusion et équivalence

Définition

Une requêteq estincluse dans une requêteq0 (noté q v q0) si pour toute base de donnéesD,q(D) q0(D)

q q0 si et seulement si q v q0 et q0v q. Démonstration.

Immédiat.

(6)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Inclusion et équivalence

Définition

Une requêteq estincluse dans une requêteq0 (noté q v q0) si pour toute base de donnéesD,q(D) q0(D)

Proposition

q q0 si et seulement si q v q0 et q0 v q. Démonstration.

Immédiat.

(7)

6/22

Plan

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

(8)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Cas des requêtes conjonctives

On considère desrequêtes conjonctives (CQ) de la forme : q(x) 9y: R1(z1) ^ ^ Rn(zn)

où chaque zi est un tuple de variables parmix ety et où chaque xj apparaît dans au moins un zj

Sémantique ensembliste: pour toute base de donnéesD, q(D)est un ensemble fini de tuples

(9)

8/22

Homomorphisme

Définition

Unhomomorphisme d’une CQ q dans une CQq0 est une fonction'des variablesx;yde q vers les variablesx0;y0 de q0 telle que :

'(x) =x0

pour tout atome R(zi) de q, il existe un atome R(z0i0) tel que '(zi) =z0i0

Définition

Un homomorphisme est unisomorphisme s’il est bijectif et que sa réciproque est un homomorphisme.

(10)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Instance associée à une requête

Définition

Pour toute requête conjonctive

q(x) 9y: R1(z1) ^ ^ Rn(zn)

on peut construire l’instance associée à q, notée Iq, dans laquelle le domaine actif estf az j z 2x[yg et formée des n tuplesR(azi1;:::;zik) pour R(zi1; : : : ; zik) atome de q

Proposition

Pour toutes CQ q(x), q0(x0), il existe un homomorphisme de q dans q0 ssi (ax01; : : : ; ax0j) 2 q(Iq0).

Démonstration. Direct.

(11)

9/22

Instance associée à une requête

Définition

Pour toute requête conjonctive

q(x) 9y: R1(z1) ^ ^ Rn(zn)

on peut construire l’instance associée à q, notée Iq, dans laquelle le domaine actif estf az j z 2x[yg et formée des n tuplesR(azi1;:::;zik) pour R(zi1; : : : ; zik) atome de q

Proposition

Pour toutes CQ q(x), q0(x0), il existe un homomorphisme de q dans q0 ssi (ax01; : : : ; ax0j) 2 q(Iq0).

Démonstration.

Direct.

(12)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Théorème d’homomorphisme

Théorème ([Chandra and Merlin, 1977])

Pour toutes CQ q, q0, q v q0 si et seulement s’il existe un homomorphisme de q0 dans q.

Démonstration. ( Immédiat.

) Au tableau. On utilise la caractérisation des homomorphismes par évaluation de requête.

(13)

10/22

Théorème d’homomorphisme

Théorème ([Chandra and Merlin, 1977])

Pour toutes CQ q, q0, q v q0 si et seulement s’il existe un homomorphisme de q0 dans q.

Démonstration.

( Immédiat.

) Au tableau. On utilise la caractérisation des homomorphismes par évaluation de requête.

(14)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Requête minimale

Définition

Une requête conjonctive estminimale si elle comporte un nombre minimum d’atomes parmi toutes les requêtes conjonctives équivalentes.

Traduction d’une CQ vers une requête de l’algèbre : s’il y a n atomes, on obtientn 1jointures

Les jointures sont une des opérations les plus coûteusesde l’algèbre relationnelle

Trouver une requête minimale revient à faire une optimisation globale

(15)

11/22

Requête minimale

Définition

Une requête conjonctive estminimale si elle comporte un nombre minimum d’atomes parmi toutes les requêtes conjonctives équivalentes.

Traduction d’une CQ vers une requête de l’algèbre : s’il y a n atomes, on obtientn 1jointures

Les jointures sont une des opérations les pluscoûteuses de l’algèbre relationnelle

Trouver une requête minimale revient à faire une optimisation globale

(16)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Unicité de la requête minimale

Proposition ([Chandra and Merlin, 1977])

Soit q une CQ. Alors il existe une requête q0 obtenue en enlevant des atomes à q qui est minimale.

Démonstration.

Au tableau. Considérer une requête minimale équivalente àq et appliquer le théorème d’homomorphisme.

Proposition ([Chandra and Merlin, 1977])

Soient q, q0 deux CQ minimales équivalentes. Alors il existe un isomorphisme de q dans q0.

Démonstration.

Au tableau. On applique le théorème d’homomorphisme. L’image par homomorphisme est une requête minimale équivalente.

(17)

12/22

Unicité de la requête minimale

Proposition ([Chandra and Merlin, 1977])

Soit q une CQ. Alors il existe une requête q0 obtenue en enlevant des atomes à q qui est minimale.

Démonstration.

Au tableau. Considérer une requête minimale équivalente àq et appliquer le théorème d’homomorphisme.

Proposition ([Chandra and Merlin, 1977])

Soient q, q0 deux CQ minimales équivalentes. Alors il existe un isomorphisme de q dans q0.

Démonstration.

Au tableau. On applique le théorème d’homomorphisme.

L’image par homomorphisme est une requête minimale équivalente.

(18)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Algorithme de minimisation

On peut donc appliquer la procédure suivante pourminimiser une requête:

Pour chaque atome de la requête, tester s’il existe une requête équivalente ne contenant pas cet atome, et donc s’il existe un homomorphisme envoyant cet atome vers un autre atome de la requête. Si oui, le supprimer, et recommencer jusqu’à obtenir une requête minimale.

(19)

14/22 Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Aspects de complexité

Proposition

Les problèmes suivants sont NP-complets :

étant données deux CQ q, q0, déterminer si q v q0

étant données deux CQ q, q0, déterminer si q q0

étant donnée une CQ q, déterminer si q est non minimale

Démonstration.

Au tableau. La NP-difficulté est par réduction depuis 3-coloriabilité, comme pour la complexité combinée de l’évaluation de requêtes. L’appartenance à NP se montre directement.

suffisamment petites pour qu’un algorithme exponentiel ne soit pas un problème.

(20)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Aspects de complexité

Proposition

Les problèmes suivants sont NP-complets :

étant données deux CQ q, q0, déterminer si q v q0

étant données deux CQ q, q0, déterminer si q q0

étant donnée une CQ q, déterminer si q est non minimale

Démonstration.

Au tableau. La NP-difficulté est par réduction depuis 3-coloriabilité, comme pour la complexité combinée de l’évaluation de requêtes. L’appartenance à NP se montre directement.

(21)

15/22

Sémantique multi-ensembliste [Chaudhuri and Vardi, 1993]

En pratique, les SGBD implémentent une sémantique multi-ensembliste

Deux requêtes en sémantique multi-ensembliste sont équivalentes ssi elles sont isomorphes(intuitivement, parce que deux requêtes similaires mais non isomorphes peuvent produire un nombre différents de résultats)

Inclusion de requêtes :P2-difficile. Décidabilité (et complexité précise le cas échéant) : ouvert!

(22)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

En pratique dans les SGBD

L’algorithme de minimisation n’est pas implémenté, pour de nombreuses (plus ou moins bonnes) raisons :

La plupart des requêtes ont une sémantique multi-ensembliste

Algorithme exponentiel

L’algorithme de minimisation ne marche que pour les CQ (donc pas de négation, d’agrégation, d’union. . .)

Les SGBD sont très conservateurs dans leur approche de l’optimisation de requêtes, ne veulent pas causer de régression

À la place, les SGBD utilisent desoptimisations locales des plans d’exécutionbasées sur des statistiques (cf. cours

(23)

17/22

Plan

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

(24)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Satisfiabilité du calcul relationnel

Définition

Une requête booléenneq du calcul relationnel estsatisfiables’il existe une base de données (finie)D telle queD j= q.

Théorème ([Trakhtenbrot, 1963])

La satisfiabilité du calcul relationnel (dans le cadre fini) est indécidable.

Démonstration.

Admis. Réduction possible depuis le problème de

correspondance de POST, technique, voir [Abiteboul et al., 1995].

(25)

18/22

Satisfiabilité du calcul relationnel

Définition

Une requête booléenneq du calcul relationnel estsatisfiables’il existe une base de données (finie)D telle queD j= q.

Théorème ([Trakhtenbrot, 1963])

La satisfiabilité du calcul relationnel (dans le cadre fini) est indécidable.

Démonstration.

Admis. Réduction possible depuis le problème de

correspondance de POST, technique, voir [Abiteboul et al., 1995].

(26)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Inclusion et équivalence de requêtes du calcul

Théorème

L’inclusion et l’équivalence de requêtes du calcul relationnel sont indécidables et co-récursivement énumérables.

Démonstration.

L’indécidabilité est par réduction directe depuis l’indécidabilité de la satisfiabilité.

La co-récursive énumérabilité se montre directement, en énumérant les contre-exemples possibles.

(27)

19/22

Inclusion et équivalence de requêtes du calcul

Théorème

L’inclusion et l’équivalence de requêtes du calcul relationnel sont indécidables et co-récursivement énumérables.

Démonstration.

L’indécidabilité est par réduction directe depuis l’indécidabilité de la satisfiabilité.

La co-récursive énumérabilité se montre directement, en énumérant les contre-exemples possibles.

(28)

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

Plan

Inclusion et équivalence Requêtes conjonctives Calcul relationnel Références

(29)

21/22

Références

L’article historique sur le théorème d’homomorphisme [Chandra and Merlin, 1977]

Base pour travailler sur un des problèmes ouverts de théorie des BD les plus majeurs [Chaudhuri and Vardi, 1993]

Chapitre 6 de [Abiteboul et al., 1995]

(30)

Bibliographie I

Serge Abiteboul, Richard Hull, and Victor Vianu. Foundations of Databases. Addison-Wesley, 1995. ISBN 0-201-53771-0.

URL http://www-cse.ucsd.edu/users/vianu/book.html. Ashok K. Chandra and Philip M. Merlin. Optimal

implementation of conjunctive queries in relational data bases. InProceedings of the 9th Annual ACM Symposium on Theory of Computing, May 4-6, 1977, Boulder, Colorado, USA, pages 77–90, 1977. doi :

10.1145/800105.803397. URL

http://doi.acm.org/10.1145/800105.803397.

Surajit Chaudhuri and Moshe Y. Vardi. Optimization ofReal conjunctive queries. InProceedings of the Twelfth ACM

(31)

Boris A. Trakhtenbrot. Impossibility of an algorithm for the decision problem in finite classes. American Mathematical Society Translations Series 2, 23 :1–5, 1963.

Références

Documents relatifs

Type Route Carrefour Nœud SNCF Ligne SNCF Section hydro Nœudhydro Conduite Etablissement Limite administrative. NIVEAU NATIONAL

[r]

~ Activité : 1p98 avec fichier pour tableur : introduction par suite géométrique.. Définition Soit q un réel

Le réel e est environ égal à 2,718 (mais n’a pas de valeur exacte sous forme décimal ou rationnelle).. Définition La fonction x 7→ e x est appelée fonction exponentielle de base

[r]

Le but du probl`eme ci-dessous est de d´efinir une classe de mots (les grands Dycks) de deux mani`eres (par une condition num´erique, par une grammaire) et de donner

- Expliquer comment la fécondation assure le passage de la phase haploïde à la phase diploïde La fécondation en assurant la fusion des noyaux des 2 gamètes haploïdes rétablie

[r]