0% ont trouvé ce document utile (0 vote)
22 vues16 pages

Introduction aux structures d'indexation

Ce cours aborde les structures d'indexation dans les bases de données, en expliquant le concept d'index, ses types (dense et non-dense) et leur importance pour améliorer les temps de réponse lors des recherches. Il illustre ces concepts à travers des exemples de tables de films et décrit les opérations possibles avec les index. Enfin, il souligne que les index doivent être maintenus à jour en fonction des insertions dans le fichier indexé.

Transféré par

Light Dakey
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)
22 vues16 pages

Introduction aux structures d'indexation

Ce cours aborde les structures d'indexation dans les bases de données, en expliquant le concept d'index, ses types (dense et non-dense) et leur importance pour améliorer les temps de réponse lors des recherches. Il illustre ces concepts à travers des exemples de tables de films et décrit les opérations possibles avec les index. Enfin, il souligne que les index doivent être maintenus à jour en fonction des insertions dans le fichier indexé.

Transféré par

Light Dakey
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

Cours de bases de données,

aspects systèmes,
[Link]

Structures d’indexation

1Philippe Rigaux
Structures d’index
Contenu de ce cours :
• Qu’est-ce qu’un index ?
• Principes généraux
• Index denses et non-denses

En l’absence d’un index, seule solution : le parcours séquentiel du fichier.


Avec un index : accès direct à l’enregistrement, amélioration très importante des
temps de réponse
Ces diapositives correspondent au support en ligne
disponible sur le site [Link]
html#s1-indexation-de-fichiers

2
Exemple 1 : une table

titre année ... titre année ...


Vertigo 1958 ... Annie Hall 1977 ...
Brazil 1984 ... Jurasic Park 1992 ...
Twin Peaks 1990 ... Metropolis 1926 ...
Underground 1995 ... Manhattan 1979 ...
Easy Rider 1969 ... Reservoir Dogs 1992 ...
Psychose 1960 ... Impitoyable 1992 ...
Greystoke 1984 ... Casablanca 1942 ...
Shining 1980 ... Smoke 1995 ...

3
Exemple 2

La table des films, avec :


• 1 000 000 (un million) de films
• Un enregistrement = 1200 octets
• Un bloc = 4K => 3 enregistrements par bloc
• environ 300 000 blocs, 1,2 Go

4
Index = concept bien connu

Prenons un livre à contenu technique (pas une fiction !), par exemple un livre de
recettes. Il contient (au moins) un index.

• L’index présente les termes importants, classés par ordre


alphabétique
• À chaque terme sont associés les numéros de page où on
trouve le terme.
• En parcourant l’index (par dichotomie !) on trouve la ou
les pages qui nous intéressent.

5
Les index informatiques

Même principe ! C’est un fichier qui permet de trouver un enregistrement dans une
table. Vocabulaire :

• Clé d’indexation = une liste d’un ou plusieurs attributs.


• Une adresse (déjà vu) est une adresse de bloc ou une
adresse d’enregistrement.
• Entrée d’index : enregistrements de la forme [valeur,
addr], valeur est une valeur de clé.
• L’index est trié sur valeur

6
Exemples
Clés de recherche :
• Le titre du film (c’est aussi la clé primaire)
• l’année du film
• Une paire constituée du titre et de l’année

Opérations :
• Rechercher Vertigo
• Rechercher les films parus entre 1960 et 1975
• Rechercher les films commençant par ’V’

L’index ne sert à rien pour toute recherche ne portant


pas sur la clé.

7
Le cas des dictionnaires
Les dictionnaires ont la particularité de trier les termes.

On peut alors créer un index qui ne référence que le premier mot de chaque page.
- ...
- ballon, page 56
- bille, page 57
- bulle, page 65,
- cable, page 72
- ...
On peut quand même utiliser cet index pour trouver
n’importe quel mot. ("armée", "crabe", "botte", "belle").

8
Index non dense

Hypothèse : le fichier de données est trié sur la clé, comme


un dictionnaire. L’index ne référence que la première va-
leur de chaque bloc.

9
Opérations

Recherches :
• Par clé : je recherche Shining
• Par intervalle : tous les films entre Greystocke et Psychose.
• Par préfixe : tous les films commençant par ’M’.

Mais pas par suffixe : tous les films terminant par ’e’ ?

10
Exemple concret

Sur notre fichier de 1,2 Go


• En supposant qu’un titre occupe 20 octets, une adresse 8 octets
• Taille de l’index : 300 000 ∗ (20 + 8) = 8, 4Mo octets

Beaucoup plus petit que le fichier !


Problème : maintenir l’ordre sur le fichier et sur l’index.

11
Index dense

Fichier de données non trié. Toutes les valeurs de clé


sont représentées

12
Exemple concret
Sur notre fichier de 1,2 Go
• Une année = 4 octets, une adresse 8 octets
• Taille de l’index : 1 000 000 ∗ (4 + 8) = 12 Mo
Encore 100 fois plus petit que le fichier.
Recherches :
• Par clé : comme sur un index non-dense
• Par intervalle (exemple [1950, 1979]) :
recherche, dans l’index de la borne inférieure
parcours séquentiel dans l’index
à chaque valeur : accès au fichier de données
Engendre des accès aléatoires.

13
Index multi-niveaux : on indexe l’index

• Essentiel : l’index est trié, donc on peut l’indexer par un


second niveau non-dense
• Sinon ça ne servirait à rien (pourquoi ?)

14
Index multi-niveaux : jusqu’où ?

• Arrêt quand racine constitué d’un seul bloc.


• structure hiérarchique ; recherche de haut en bas.
15
Résumé
Retenir :
• Un index accélère des opérations de recherche portant sur la clé d’indexation ou
sur un préfixe de la clé
• La structure repose sur le tri des valeurs de clé indexées
• On peut créer un index non dense sur un fichier trié, dense sur un fichier
non-trié.
• Les index multi-niveaux s’appuient sur un premier niveau dense, puis sur des
niveaux supérieurs non-denses.

Les index ont un coût, il faut les maintenir au fur et à mesure


des insertions dans le fichier indexé.

16

Vous aimerez peut-être aussi