13
Fichiers non ordonnés
• Soit la table Doctor suivante
• Le modèle de stockage NSM
(N-ary Storage Model)
• Le modèle de stockage DSM
(Decomposition Storage Model)
– Optimisation des I/O
• Le modèle de stockage PAX
(Partition Attributes Across)
– Optimisation du cache
PsychologyFDominique3
DermatologyMAntonio2
Pediatrics
specialty
char(20)
1
id
number(4)
Maria
first_name
char(30)
F
gender
char(1)
2 Antonio M DermatologyPediatricsFMaria1
ID3 32ID21ID1
Pages disques
ID3 DominiqueAntonioID2MariaID1
ID3 FMID2FID1
ID3 PsychologyDermatologyID2PediatricsID1
Pediatrics DermatologyFM12 MariaID2ID1 Antonio
PsychologyF3 DominiqueID3
3 Dominique F Psychology
14
Indexation
• Objectifs
– Offrir un accès rapide à tous les tuples d’un fichier
satisfaisant un même critère
• A partir d’une clé (discriminante ou non, mono ou multi-attributs)
• Sur des fichiers ordonnés sur cette clé, ou non ordonnés, ou
ordonnés sur une autre clé
• Moyen
– Créer une structure de données accélératrice associant des
adresses de tuples aux valeurs de clés
• Index
– Table (ou hiérarchie de tables) implémentant cet
accélérateur
15
Catégories d’index (1)
• Index primaire ou plaçant
(primary or clustered)
– Tuples du fichier organisés par rapport à l’index
• Les tuples sont stockés «dans» l’index
– 1 seul index primaire par table…
• Souvent construit par le SGBD sur la clé primaire
• Index secondaire ou non plaçant
(secondary or unclustered)
– Tuples organisés indépendamment de l’index
• Seuls les Rid des tuples sont «dans» l’index
– Plusieurs index secondaires possibles par table
…K1…
…K2… …Kn…
Page 1 Page 2 Page i
…K1…
…K2… …Kn…
Page 1 Page 2 Page i
Clé L
↓
Tuples
triés sur K
Tuples non triés sur L
Clé K
16
Catégories d’index (2)
• Index dense (dense)
– Contient toutes les clés
– Adresse tous les tuples
• Index non dense (sparse)
– Ne contient pas toutes les clés
– N’adresse pas tous les tuples
(e.g., adresse une seule fois chaque page)
– Nécessite que le fichier soit trié sur les clés
Contient alors la plus grande clé de chaque bloc
+ l'adresse du bloc
• NB : Densité d’un index : nb clés dans l'index
nb clés dans la table
tuple
tuple tuple
Page 1 Page 2 Page i
tuple
tuple tuple
Page 1 Page 2 Page i