2 Interrogation des indexes
Informations sur la Base de Données
— Page disque : 8ko
— Taille d’un ROWID : 10o
— PCTFree : 10% (page utile 7 372o)
—|M| = 11
— Clustering Factor, par défaut : dense (φ=||R||), non-dense (φ=|R|)
— Schéma de la base :
Table Attributs Taille Nb tuples Nb tuples/pages
Cours (Id_Cours, Id_Enseignant, Intitule) 20 pages 2 200 112
Personne (Id_Personne, Nom, Prenom, Annee_Naissance) 2 000 pages 124 000 62
Salle (Id_Salle, Localisation, Capacite) 5 pages 500 112
Reservation (Id_Salle, Id_Cours, Date, heure_debut, heure_fin) 2 000 pages 514 000 285
2.1 Requêtes mono-attributs
1. Pour la requête suivante, donner le coût d’évaluation en séquentiel, index dense, index non-
dense :
SELECT Nom, Prenom FROM Personne WHERE Id_Personne = 125 ;
2. Idem pour la requête suivante, sachant la répartition des années de naissance dans l’histo-
gramme 2.1. Index sur l’année de naissance, dense (|I | = 3), non-dense (|I | = 2) :
SELECT Nom, Prenom FROM Personne WHERE Annee_Naissance = 1979 ;
Année 1978 1979 1980 1981 1982 1983 1984
Pourcentage 2,04 3,226 3,2 2,12 2,63 2,48 1,99
Table 2.1 – Histogramme de répartition des années de naissance
3. Pour la requête précédente, on créer un index sur Annee_Naissance et couvrant sur Nom,
Prenom. Calculer l’ordre de l’index (Nom et Prenom sont stockés dans l’index), sa hauteur
max et le coût de la requête.
2.2 Requête multi-attribut
1. Donner le nombre de tuples résultats pour la requête suivante, sachant qu’il y a 10 000 prénoms
différents et 3,226% des personnes sont nées en 1979 :
SELECT Nom, Prenom FROM Personne
WHERE Annee_Naissance = 1979 AND Prenom = ’Nicolas’ ;
2. Donner le coût d’évaluation pour la requête précédente avec :
— En séquentiel,
— Index dense sur Annee_Naissance,