Académique Documents
Professionnel Documents
Culture Documents
Cours Fichiers
Introduction :
L’informatique est par définition le traitement automatique de l’information. Les informations sont
stockées (mémorisées) sur des supports externes (disques, disquettes, CD, bandes magnétiques..) sous
forme de Fichiers.
Un fichier (anglais : file) est un regroupement logique de données mémorisées sur un support permanent
(disque dur, par exemple) afin de permettre une réutilisation ultérieure des informations qu’il contient.
Selon la structuration des données dans un fichier, on peut distinguer deux types de fichiers :
Définitions :
Un fichier : est un ensemble cohérent de données de même nature, enregistrées d'une manière organisée,
susceptibles de faire l'objet de traitements définis et qui sont stockées sur un support physique.
Un fichier informatique comme un fichier manuel est composé de fiches. Chaque fiche apporte les mêmes
informations sur un élément de ce fichier (une personne, un livre, une commande), toutes ces informations
étant situées et présentées de manière identique pour toutes les fiches du fichier considéré.
Remarque :
Les fichiers sont stockés sur mémoire secondaire (MS).
La mémoire centrale (MC) est limitée en taille, chère, et volatile (perd son contenu quand on coupe
le courant.).
Les MS (disques, disquettes, bandes, ...) sont peu coûteuses, non volatiles et de grande capacité.
Mais elles ne sont pas accessibles par le processeur .Il faut transférer l’information de la MS vers la
MC pour pouvoir la traiter.
L’Enregistrement
Chaque enregistrement ou article d’un fichier aura la même description, des différentes informations,
ZONES ou CHAMPS composant cet enregistrement seront toujours situées au même endroit dans
l’enregistrement avec la même typologie.
Par exemple :
Le fichier du personnel est composé d’enregistrements (articles, fiches), chaque enregistrement donne
des informations sur UN EMPLOYÉ.
UN EMPLOYÉ = UN ENREGISTREMENT
Numéro d’identification
Nom
Prénom
Date de Naissance
Adresse
Nombre d’enfants
Profession
Ces différentes zones sont des données, donc nous allons devoir attribuer à chacune des données
présentes dans l’enregistrement :
- un nom, un type (une longueur).
E_Num_Ident Texte (5)
E_Nom_Employé Texte (25)
E-Prénom_Employé Texte (25)
E_Date_Naiss_Employé Numérique (8)
E_Adresse_Employé Texte (40)
E_Nb_Enfants_Employé Numérique (2)
E_Profession_Employé Numérique (5)
Le volume de fichier : le volume d’un fichier est égal à la somme de la longueur de ses enregistrements.
La longueur des enregistrements : la longueur d’un enregistrement est égale à la somme de la longueur de
chaque champ (Nombre des Caractères).
Accroissement d’un fichier : il désigné le nombre de enregistrement crée par rapport celui a le nombres
d’enregistrement supprimé,
plusieurs valeurs. Généralement, l’accès se fait par l’argument et on sort par sa valeur
Page
Lire F_PERSONNEL
Syntaxiquement dans notre pseudo-langage, « Lire F_PERSONNEL » signifie lire UN
ENREGISTREMENT à partir du support externe
5
Page
Écrire S_Employé
Syntaxiquement dans notre pseudo-langage, « Écrire S-Employé » signifie écrire UN
ENREGISTREMENT sur le support externe
Utilisation en PASCAL
Les principales opérations permettant de traiter un fichier en PASCAL sont les suivantes :
Disque magnétique : est un disque recouvert d'une couche magnétique où sont enregistrées des données.
le disque constitue une mémoire pouvant atteindre de très grandes capacités de stockage de données
sonores ou visuelles. Les disques sont généralement scellés dans des boîtiers en métal ou en plastique
(souvent, un disque et son boîtier sont appelés « disque dur »).
1. Enregistrement non bloqués la gestion des données définit 3 formats pour les enregistrements logiques :
- Format Fixe : Tous les enregistrements logiques ont le même nombre fixe de caractères (ou même
longueur en octets). il n'y a pas de compteurs.
Format Variable: Les enregistrements logiques ont un nombre variable de caractères (ou une
longueur différente).
- Format Indéfini : Les enregistrements logiques ont un nombre variable, de caractères qui n'est pas
défini.
2. Enregistrements bloqué : L'enregistrement physique (ou bloc) est constitué de plusieurs enregistrements
logiques, On définit alors 3 autres formats :
-Format Fixe Bloqué: Plusieurs enregistrements logiques de longueur fixe sont placés sur le support
de façon Adjacent et forment un seul enregistrement physique. Tous les enregistrements physiques
ont alors la même longueur.
- Format Variable Bloqué: Plusieurs enregistrements logiques de longueur variable sont placés sur le
support et forment 1 seul enregistrement physique.
- Format Indéfini Bloqué: Les enregistrements logiques de forme Indéfini peuvent être groupés, mais
la longueur de l'enregistrement étant indéfinie.
5. la bande magnétique : est un support constitué d’une bande en matière plastique recouverte d’un
oxyde magnétique, elle est structurée en bloc à accès séquentiel, c’est-à-dire que les données y sont
simplement placées ou extraites séquentiellement, comprendre à la suite,
dans un ordre préétabli. Elle permet le stockage d’un nombre important
d’informations.
CAPACITE : La bande magnétique a une capacité variable jusqu’à 240GB en
fonction de la longueur et de l’épaisseur de la bande. Bien conservé, le ruban
8
Un SGF a pour principal rôle de gérer les fichiers et d’offrir les primitives pour manipuler ces fichiers. Il
effectue généralement les tâches suivantes :
Fournit une interface conviviale pour manipuler les fichiers (vue fournie à l’utilisateur). Il s’agit de
simplifier la gestion des fichiers pour l’utilisateur
La gestion de l’organisation des fichiers sur le disque (allocation de l’espace disque aux fichiers)
La gestion de l’espace libre sur le disque dur ;
La gestion des fichiers dans un environnement multi-utilisateurs, la donnée d’utilitaires pour le
diagnostic, la récupération en cas d’erreurs, l’organisation des fichiers.
le partage simultané des fichiers, et assure leur protection contre les pannes.
Exemple :
Fichier logique(Article) Fichier Physique(Enregistrement)
Types d’enregistrements
On distingue trois types d’enregistrements :
Enregistrement de taille fixe : Tous les enregistrements du fichier ont la même taille. Autrement dit, tous
les enregistrements du fichier sont composés des mêmes champs.
Enregistrement de taille variable : Dans ce cas, les enregistrements du fichier n’auront pas tous la même
taille.
Enregistrement de taille indéfinie : La taille d’un enregistrement ne peut pas être déterminée à l’avance.
Exemple : Fichier Word ou Excel.
10
Page
1. Organisation séquentielle :
Les enregistrements du fichier séquentiel sont rangés séquentiellement l’un à la suite de l’autre.
L’ordre de création (ordre logique) correspond à l’ordre de l’enregistrement (ordre physique)
0 Fichier A n-1
C’est une organisation d’IBM pour les systèmes d’exploitation DOS et OS-VS. Un fichier séquentiel indexé
ISAM (Indexed Sequential Acces Method) est un fichier trié, d’index trié non dense, composé d’une zone de
débordement et d’une zone index
Un fichier ISAM comporte trois zones logiques :
• une zone primaire où l’on écrit les articles à la première écriture ;
• une zone de débordement où l’on transfère les articles lors des additions au fichier ;
• une zone d’index où l’on écrit les index.( index de pistes, index de cylindre).
Les fichiers VSAM (Virtual Sequential Acces Method,) sont des fichiers triés d’index trié non dense dont
l’ensemble fichier + index est organisé sous forme d’un B- arbre. B- arbre Clé 1
Remarque :
Clé 2 Clé 3
Un fichier indexé simple est un fichier non trié, d’index trié dense organisé sous forme d’un B-Arbre.
Dense = Nbre clé de l’index / Nbre d’articles
Clé : C’est le numéro d’ordre dans le fichier.
Principe :
Le fichier est divisé en aires.…
une aire = ensemble de piste d’un même cylindre ou de
cylindres contigües ou une aire = ensemble d’intervalles.…
intervalle = partie de piste ou plusieurs pistes consécutives
lues en une seule E/S.…
Lorsqu’un intervalle est saturé, il est éclaté en 2 intervalles.
Lorsqu’une aire est saturée, elle est éclatée en 2 aires.
12
5. Organisations Adressées
L’ordre des enregistrements logiques (en fonction de la clé de chaque enregistrement) est sans
rapport avec l’ordre de stockage sur les supports
Les enregistrements sont stockés sur le support en fonction d’un lien préalablement établi entre
la clé de l’enregistrement et ‘adresse de stockage de l’enregistrement.
Adresse absolue :
CLÉ LOGIQUE = ADRESSE PHYSIQUE
Adressage parallèle :
Correspondance par l’intermédiaire d’une table entre valeurs des clés et les adresses
physiques
Adresse calculée :
Le lien s’effectue par une formule mathématique aboutissant à une bijection entre la
clé logique et l’adresse physique (algorithme de randomisation).
Adresse relatif :
Le lien s’effectue par une double opération :
T1 T2
Clé logique
====> Valeur X ====> ADRESSE
T1 donne en général le numéro de piste
T2 le décalage sur la piste.
ª Organisation uniquement réalisable sur les supports adressables.
6. Organisation relative :
Tous les enregistrements doivent avoir une longueur fixe et ont chacun un numéro relatif (1, 2, 3, …)
appelé clé qui est leur numéro d’ordre dans fichier( L’enregistrement de clé « 25 » est en 25ème position.)
Le principe est que la clé est un numéro d’enregistrement qui est un nombre entier permettant de
déterminer directement l’adresse relative de l’article par rapport du début du fichier qui le contient.
Adresse de l’enregistrement N = Adresse Début du fichier + (N - 1) * Longueur de l’enregistrement du
fichier en organisation relative
||ـــــــــ|ـــــــــ|ـــــــــ|ـــــــــ|ـــــــــ|ـــــــــ|ـــــــــ
0 1 2 ... i
7. Organisation H-code
Dite aussi adressage calculée ou adressage dispersé.
A chaque entrée, est associée une adresse (n° bloc) de rangement calculée en fonction d’une clé.
La fonction de calcul s’appelle fonction H-code :
h : Entrée ⟼ [0 .. N] / Nombres des blocs
x ⟼ h(x)
Exemple de fonction h(x) : la somme (module N+1) des valeurs binaires des n premiers octets de la
représentation mémoire de x.
h(“tomate”) = *ascii(‘t’) + ascii (‘o’) + ascii(‘m’)] mod (N+1) = 336 mod (N+1).
Collision : Quand deux entrées ont le même H-Code. (“ananas” et “tomates”, n=3 , N=8)
Une bonne fonction H-Code est une fonction qui limite les collisions, i.e. qui répartit bien (disperse)
13