0% ont trouvé ce document utile (0 vote)
26 vues2 pages

Optimisation Algébrique des Requêtes SQL

Transféré par

amine.belaabed.01
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues2 pages

Optimisation Algébrique des Requêtes SQL

Transféré par

amine.belaabed.01
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

BDW - TD 9

Optimisation Algébrique de Requêtes


UCBL - Département Informatique de Lyon 1 – Printemps 2023

Objectifs du TD :
— réviser SQL et l’algèbre relationnelle
— comprendre la notion d’optimisation algébrique
— comprendre le principe de restructuration algébrique

Exercice 1 : Base Tourisme

Soit la base tourime de schéma :

Station ( idS, nom, pays )


Hôtel ( #idS , nom, categorie, adresse, tel, nb_chambres )
Activité ( #idS, type_activité, tranche_age )

Pour chacune des requêtes ci-dessous, donner :


a) l’expression SQL de la requête,
b) un arbre algébrique correspondant à cette requête,
c) le plan d’exécution optimisé (quand il est possible d’optimiser) obtenu par restructuration
algébrique.
Rappels sur la restructuration algébrique :
Les principes fondamentaux pour la restructuration algébrique sont les suivants :
1. évaluer les sélections (ou restrictions) le plus tôt possible. L’intérêt est que la
relation obtenue par l’évaluation des sélections est de cardinalité (nombre de
n-uplets) plus petite que la relation initiale.
2. faire des projections pour réduire la taille (nombre d’attributs) de la relation
considérée.
3. permuter les jointures quand cela permet de réduire la quantité d’information
manipulée.

1. Donner l’adresse, le numéro de téléphone et le nombre de chambres des hôtels de catégorie


3 dans la station d’identifiant 12.
2. Donner le nom et le pays des stations qui proposent une activité tennis.
3. Donner le nom des hôtels de catégorie 3 se trouvant dans une station suisse qui propose
l’activité natation.

1
Exercice 2 : Base Ferroviaire

Soit la base ferroviaire de schéma :

Wagon ( num_wagon, type_wagon, poids_vide, capacité, état, gare )


Train ( num_train, #num_wagon )

On dispose des informations suivantes (métadonnées) sur la base Ferroviaire.


Nombre Taille
Cardinalité Taille
de valeurs d’une valeur
(nombre d’un n-uplet
Attribut possibles en octet
Relation de n-uplets) en octet
num_train 2 000 4
Train 60 000 10
num_wagon 200 000 6
Wagon 200 000 30
type_wagon 200 2
On considère de plus, les deux arbres algébriques suivants :

1. A quelle besoin répond l’arbre (a) ?


2. A quelle besoin répond l’arbre (b) ?
3. Pour chaque arbre, donner le volume de données manipulées.

Exercice 3 : Base Déguisement

Soit la base de données déguisements dont le schéma est le suivant suivant :

PERSONNE (numP, Nom, Prénom, Age) qui décrit des personnes en donnant leur numéro,
nom, prénom et age.
COSTUME (numC, Nom, Taille) qui décrit des costumes à louer, en donnant leur numéro,
leur nom, et la taille du costume’.
LOCATION (#numC, #numP, DateL, DuréeL) avec DateL qui est donnée sous forme aaaa-
mm-jj

Nous voulons exprimer la requête suivante : "Donner le nom des personnes de plus de 50
ans qui ont loué un costume de ’Batman’ (nom du costume) au mois d’octobre 2022".

Vous aimerez peut-être aussi