Title: Structures de donnes avances : Principales structures de fichiers
1Structures de données avancées Principales
structures de fichiers
- D. E
- ZEGOUR
- Institut National d Informatique
2Les principalesstructures de fichiers
- Structures simples de fichiers
- . Tableau de blocs
- . Liste linéaire chaînée de blocs
- Remarques
- L'organisation du fichier est quelconque (format
fixe ou variable) - Si fichier ordonné chargement initial à 60-70.
- gt économiser les décalages intra-blocs.
- limitées à des petits fichiers. ( lt 6 accès
disque)
3Les principalesstructures de fichiers
Structures simples de fichiers
Vue macroscopique
Tableau
Liste
Ordre
Sans Ordre
Vue microscopique
Variable
Fixe
Chevauchement
Sans Chevauchement
Structures de fichiers TOF, LOVC, TOVC, ..
4Les principalesstructures de fichiers
- Les méthodes d'index
- Utilise un index(recherche dichotomique en
mémoire). - 2 fichiers sont utilisés fichier d'index et
fichier au données. - En règle générale, le fichier de données n'est
pas trié. - Il peut être un tableau ou une liste linéaire
chaînée de blocs sur le disque. - Le fichier d'index est supposé en mémoire et est
trié selon les clés des articles.
5Les principalesstructures de fichiers
- Les méthodes d'index
- Index à un niveau
- Table de couples(clé, adresse) en mémoire
centrale. - Recherche
- a) Recherche dichotomique sur l'index.
- b) Si clé trouvée, ramener le bloc en mémoire
centrale - c) Si article à cheval sur deux blocs, ramener
le deuxième bloc - Insertion
- a) Si clé non trouvée dans l'index, il y a
insertion avec décalages. - b) l'article est inséré en fin de fichier.
6Les principalesstructures de fichiers
- Les méthodes d'index
- Index à un niveau
- Suppression
- Généralement logique gt extrêmement rapide.
- Réorganisation
- Éliminer physiquement les articles supprimés.
Généralement, on construit un autre fichier.
7Les principalesstructures de fichiers
8Les principalesstructures de fichiers
- Les méthodes d'index
- Index à 2 niveaux
- Principe
- . Accélérer la recherche en mémoire centrale
- . Deux tables ( niveaux 1 et 2)
- . Dans l'index du niveau 1, on range certaines
clés 100-ième, 200-ième,... - . Dans le niveau 2, on range toutes les clés.
- Recherche
- . Niveau 1 donne un intervalle de l'index du
niveau 2. - . Recherche dichotomique sur l'intervalle
sélectionné.
9Les principalesstructures de fichiers
- Les méthodes d'index
- Remarque
- deux recherches dichotomiques sur petits
vecteurs sont beaucoup plus rapides qu'une seule
recherche dichotomique sur un seul grand vecteur. - Autres Opérations
- analogues à celles définies sur l'index Ã
un niveau
10Les principalesstructures de fichiers
11Les principalesstructures de fichiers
- Accès séquentiel indexé
- Définition
- a) pour localiser un article on utilise un
index. - b) pour avoir le suivant, on ne repasse pas
par l'index.
12Les principalesstructures de fichiers
- Les méthodes d'index
- Limitation
- Si l'index est large pour être contenu en mémoire
- (i) recherche binaire chère et
- (ii) réarrangement coûteux à cause des
décalages) - on a recours à d'autres techniques
- Hachage
- extrêmement rapide (entre 1 et 2 accès disque)
- efficaces que pour les fichiers statiques et non
ordonnés. - Arbres
- rapides (3 accès disque )
- ordonnés
- Certaines sont très adaptées pour les fichiers
dynamiques.
13Les principalesstructures de fichiers
- Accès multicritères
- Concepts
- Un article (cle1, cle2 ...cléd)
- Une clé primaire et d-1 clés secondaires
- Récupérer l'article par plusieurs clés
- Exemples de requêtes
- Livres parus en 1973,
- Livres parus en 1973 de l'auteur X donné.
- Solution
- Créer des indexes secondaires pour chaque
attribut - Passer toujours par l'index primaire.
14Les principalesstructures de fichiers
- Accès multicritères
- Organisation d'un index secondaire
- "listes inversées". ( clé secondaire gt clé
primaire gt article )
15Les principalesstructures de fichiers
- Accès multicritères
- Algorithme qui Récupère les articles possédant
l'attribut X l'attribut Y. - Il existe donc des indexes sur X et Y
- L' index sur X donne l'ensemble des clés
primaires avec l'attribut X. - L'index sur Y donne l'ensemble des clés primaires
avec l'attribut Y. - L'intersection donne l'ensemble des clés
primaires ayant l'attribut X et Y. - Pour chaque élément de cet ensemble, on fait
alors un accès disque.
16Les principalesstructures de fichiers
- Accès multicritères
- Suppression
- gt Ne pas toucher aux indexes secondaires
- (CAR les clés secondaires référencent les clés
primaires) - Recherche
- C'est dans l'index primaire qu'on s'aperçoit que
l'article à été supprimé.
17Les principalesstructures de fichiers
- Les méthodes d'arbres
- Si le fichier est très volumineux, on ne peut
garder l'index en RAM. - Garder l'index en mémoire secondaire coûte chère
car - 1) la recherche dichotomique exige beaucoup
d'accès disque - 2) il faut maintenir l'index ordonné
- ? Trouver une meilleure façon de faire les
insertions et les suppressions d'articles avec
seulement une réorganisation locale.
18Les principalesstructures de fichiers
- Les méthodes d'arbres
- Utilisation d'un arm comme méthode d'accès
- L'arbre de recherche m-aire est surtout utilisé
pour le stockage en mémoire externe - Un nud de l'arbre est alors un bloc sur le
disque. - A un moment donné seule une page est ramenée en
mémoire. - Nécessite des buffers de taille très grande(
ordre de 200).
19Les principalesstructures de fichiers
- Les méthodes d'arbres
- Implémentation
- Utilisation des fils explicites
- Deux façons de ranger les articles
- (i) dans les nuds avec les clés, (fichier arm)
- (ii) séparément. pointeur additionnel vers
l'information. (fichier index vers un fichiers
de données ) - Si le fichier est grand on préfère de loin
utiliser (ii) même si on fait une lecture
supplémentaire pour retrouver l'article.
20Les principalesstructures de fichiers
- Les méthodes d'arbres
- Le problème de taille ne se pose plus
- Inconvénient déséquilibre de larm
- Pas de solution ? Réorganisation périodique
- Destinés pour les fichiers statiques