• Aucun résultat trouvé

USTHB – Faculté d’Electronique et Informatique Année 2017/2018 Département Informatique Architecture et Administration des BD TD Optimisation Exercice 01 (révision) :

N/A
N/A
Protected

Academic year: 2022

Partager "USTHB – Faculté d’Electronique et Informatique Année 2017/2018 Département Informatique Architecture et Administration des BD TD Optimisation Exercice 01 (révision) :"

Copied!
2
0
0

Texte intégral

(1)

1

USTHB – Faculté d’Electronique et Informatique Année 2017/2018 Département Informatique

Architecture et Administration des BD TD Optimisation

Exercice 01 (révision) :

Soit le schéma relationnel suivant :

– Employé (Matricule, Nom, Poste, DateEmbauche, MatriculeSupérieur, Salaire, Commission, NuméroDépartement)

– Département (Numéro, Nom, Lieu) – Projet (Code, Nom)

– Participation (Matricule, CodeProjet, Fonction)

Donnez la suite d’opérations élémentaires de l’algèbre relationnelle pour obtenir les données qui correspondent aux listes suivantes :

1. Matricule et nom des employés qui ont été embauchés avant le 1 janvier 1995.

2. Nom des employés qui ont le poste de secrétaire.

3. Nom des employés avec le nom du département où ils travaillent.

4. Nom des employés qui travaillent dans le département Finances.

5. Numéro des départements qui ont au moins un ingénieur.

Exercice 02 :

Soit le schéma relationnel suivant :

Propriétaire (numPropriétaire, prénom, nom, adresse, numtél).

Propriété (numPropriété, ville, type, location, numPropriétaire) Client (numClient, prénom, nom, adresse, typepréf, locMax) Visite (numPropriété, numClient, datevisite)

a. Exprimer en SQL la requête suivante : pour le compte de locataires potentiels qui recherchent des appartements, trouver tous les logements qui correspondent à leurs exigences et qui appartiennent au propriétaire de numéro CP93.

b. Donner l’arbre algébrique qui correspond à la requête SQL.

c. Optimiser la requête en utilisant les règles de transformation.

Exercice 03 :

Soit un arbre algébrique et des informations statistiques sur les tables qu’il manipule.

Indiquez les exécutions possibles et évaluez leur coût d’exécution.

(2)

2

Exercice 04 :

Étant donné le modèle relationnel et la requête SQL suivants:

Étudiant (ide, nom, âge, adresse) Livre (idl, titre, auteur)

Emprunter (ide, idl, date) Requête : SELECT e.nom

FROM etudiant e, livre l, emprunter em WHERE e.ide = em.ide

AND l.idl = em.idl AND l.auteur = ’DATE’

AND e.âge > 12 AND e.âge < 20 Et en supposant :

• Il y a 10 000 enregistrements de la table étudiants stockés sur 1 000 pages.

• Il y a 50 000 enregistrements de la table livres stockés sur 5 000 pages.

• Il y a 300 000 enregistrements de la table emprunter stockés sur 15 000 pages.

• Il y a 500 auteurs différents.

• Les âges des étudiants vont de 7 à 24 ans.

a. Donner un plan d’exécution pour cette requête, en supposant qu'il n'y a pas d'index et que les données ne sont pas triées sur n'importe quel attribut.

b. Calculez le coût de ce plan et la cardinalité du résultat.

c. Suggérer deux index et un autre plan pour cette requête.

d. Calculez le coût de nouveau plan.

Exercice 05 :

Considérons une base de données constituée des relations suivantes : Production (NoPdt, Type, Modele, Qté, Machine)

DetailCmde (NoCmde, NoPdt) Cmde(NoCmde, Client, Montant)

Commission (NoCmde, Vendeur, Montant) Et considérons les profils suivants :

CARD(Production) = 200 000 SIZE(Production) = 41 CARD(DetailCmde) = 50 000 SIZE(DetailCmde) = 15 CARD(Cmde) = 10 000 SIZE(Cmde) = 45 CARD(Commission) = 5 000 SIZE(Commission) = 35 SIZE(NoPdt) = 10 VAL(NoPdt) = 200 000 SIZE(Type) = 1 VAL(Type) = 4

SIZE(Modele) = 10 VAL(Modele) = 400 SIZE(Qté) = 10 VAL(Qté) = 100 SIZE(Machine) = 10 VAL(Machine) = 50 SIZE(NoCmde) = 5 VAL(NoCmde) = 10 000 SIZE(Client) = 30 VAL(Client) = 400 SIZE(Montant) = 10 VAL(Montant) = 5000 SIZE(Vendeur) = 20 VAL(Vendeur) = 25

Décrivez l’optimisation algébrique et le calcul des profils sur les résultats intermédiaires pour les requêtes suivantes. Pour cela écrivez-les en SQL puis traduisez-les en langage algébrique. Pour les deux dernières, qui nécessitent des jointures entre trois tables, donnez l’ordre qui vous semble le plus indiqué.

a. Donnez la quantité disponible du produit R2778.

b. Donnez les machines nécessaires à la production des produits achetés par M. Ahmed.

c. Trouvez les clients qui ont acheté au vendeur Smith un produit du modèle M24.

- CARD (T) : nombre de tuples dans la table T - SIZE (a) : taille en Octets de l’attribut a - SIZE (T) : taille en Octets d’un tuple de la table T

- VAL(a) : nombre de valeurs distinctes de l'attribut a de la table T

Références

Documents relatifs

Dans chaque cas, l’ensemble de symboles de pr´ edicat et l’ensemble de symboles de fonction sont arbitraires, mais contiennent bien sˆ ur les symboles utilis´ es dans les

Vous voulez savoir pour chaque type de véhicule, le montant total de location ainsi que le montant total de ventes relatifs aux clients de profession &#34;Salariés&#34; pour

On précise le format des entrées et des sorties dans un fichier de paramétrage, appelé fichier de contrôle, créé avec un éditeur de texte.. Un fichier log donnant les résultats

Syntaxe de création d’un index de jointure binaire sur une table selon les attributs d’autres tables. [COMPUTE STATISTICS] //mise à jour des Statistiques après création 2.

Create Table Nom_Table (Définition des attributs, Partition by Range (Attribut) (v. Partition Nom_P1 Values Less Than Int1, Partition Nom_P2 Values Less

• Pour combiner les tris, il suffit de faire un réglage Croissant/Décroissant sous plusieurs champs de la grille, comme dans l'exemple ci-dessous?. • ATTENTION : Si vous

Etant donnés N athlètes (résultats), en utilisant les actions paramétrées TRANSFORMER et DECOMPOSER, écrire un algorithme qui construit un vecteur Résultats de N

objectivement que le plan I.P.T. a tout de même eu le mérite d'exister et de permettre malgré tout à pas mal d'enseignants et à pas mal de jeunes, qui ont choisi de