Académique Documents
Professionnel Documents
Culture Documents
1. Sont données les requêtes Datalog q1 à q4 . Traduisez chaque requête en requête SQL équivalente.
Pensez à la sémantique d’ensembles utilisée par Datalog qui doit être traduite de manière explicite.
q1 (F ID, T, N) : − F (F ID, T, 2010, R), C(F ID, AID, ‘oui’, R), A(AID, N, DOB, ‘f’)
q2 (F ID, T ) : − F (F ID, T, Y, R), C(F ID, AID, MA, R), A(AID, N, DOB, ‘f’), Y > 2000
q3 (N) : − A(AID, N, DOB, S), C1 (F ID1 , AID, ‘oui’, R1 ), C2 (F ID2 , AID, ‘non’, R2 )
q4 (N) : − A(AID, N, DOB, S), C1 (F ID1 , AID, ‘non’, R1 ), C2 (F ID2 , AID, ‘oui’, R2 ),
F1 (F ID1 , T1 , 2010, R1 ), F2 (F ID2 , T2 , 2010, R2 )
2. Vérifiez pour chaque paire de requêtes qi , qj , i 6= j spécifiées en (1) si qi ⊆ qj . Pour cela, utilisez la
définition de containment mapping vue en cours.
q1 q2 q3 q4
q1 x q1 ⊆ q2 q1 6⊆ q3 (1/2/4) q1 6⊆ q4 (1/2/4)
q2 q2 6⊆ q1 (1/2/3/4) x q2 6⊆ q3 (1/2/3/4) q2 6⊆ q4 (1/2/3/4)
q3 q3 6⊆ q1 q3 6⊆ q2 x q3 6⊆ q4
q4 q4 6⊆ q1 q4 6⊆ q2 q4 ⊆ q3 x
3. Pour chaque paire de requête satisfaisant l’inclusion de requête, existe-t-il également un containment
mapping élargi? Justifiez votre réponse.
Exercice 2: Query Rewriting
Nous continuons à travailler sur le schéma relationnel de l’exercice 1. Supposons que les vues suivantes soient
matérialisées.
1. Répondez aux questions suivantes pour chaque requête. Justifiez vos réponses.
2. Dans le cas de plusieurs réécritures possibles, laquelle vous semble la plus adéquate pour minimiser le
temps de traitement de requête. Justifiez votre réponse.