Chapitre 1 : Généralités sur les fichiers Introduction De nos jours, l’informatique est devenue l’une des sciences les plus utilisée par les chercheurs, les amateurs et les utilisateurs divers. Nul ne peut ignorer les apports et avantages qu’offre l’utilisation d’un ordinateur dans le domaine de la gestion, de l’éducation, de la communication, …etc, et ce en comparaison avec l’homme qui : qui : -
Traite moins rapidement ; Calcule avec moins d’exactitude d’exactitude ; Mémorise moins d’informations pour une plus courte durée.
De ce fait, l’ordinateur est délégué pour remplacer l’homme dans ses fonctions de : -
Traitement ; Calcul ; Mémorisation.
Pour résoudre les problèmes qui lui sont soumis, l’ordinateur doit avoir à sa disposition deux éléments essentiels : -
Les programmes : spécialement conçus et réalisés r éalisés pour répondre au type de problème posé. Les données relatives au problème et sur lesquelles vont agir les programmes pour aboutir aux résultats.
Ces données et programmes sont manipulés par la machine sous forme de fichiers. Chaque fichier est identifié par un nom et une extension permettant d’indiquer l’application permettant d’utiliser le fichier. Par exemple, cours.doc, cours est le nom et .doc représente l’extension. l’extension. Ainsi, on distingue deux types de fichiers : Fichiers programmes : ce sont les fichiers qui contiennent les instructions du programme à
exécuter. Ces instructions sont d’abord écrites dans un langage de programmation quelconque (Pascal, C, …). Fichiers de données : ce sont les fichiers qui regroupent les données qu’un programme peut éventuellement utiliser et/ou les résultats auxquels il aboutit. Contrairement aux fichiers programmes, les fichiers de données sont évolutifs, c’est-àc’est-à-dire dire qu’une donnée peut être : - Modifiée - Supprimée - Ajoutée - Consultée Les fichiers de données classiques sont des fichiers qui n’ont aucune relation effective entre eux (de point de vue manipulation), contrairement aux fichiers bases de données qui rassemblent un certain nombre de fichiers de données reliés entre eux par des relations évidentes et effectives.
I.
Concept de fichier Indépendamment du support physique utilisé pour le stocker, un fichier est un ensemble d’informations de même nature qui décrivent des indi vidus ou des objets concrets ou abstraits possédant des caractéristiques communes.
1
Exemple :
Le fichier Etudiant regroupe les informations (Nom, Prénom, …) concernant les étudiants d’un établissement scolaire donné. Le fichier Module renferme les informations (code module, libellé module, volume horaire, …) relatives aux modules enseignés au sein de l’établissement. On remarque que le fichier Etudiant décrit des objets concrets, alors que le fichier Module décrit des objets abstraits.
1. Fichier logique et fichier physique Le fichier logique : ne dépend pas du support physique qui va être utilisé pour le
stockage du fichier, il s’agit du plan. Le fichier physique : est défini par son contenu et son support. Généralement, le mot fichier est utilisé pour désigner un fichier physique. Exemple :
On considère la liste des étudiants d’un établissement. On veut gérer ces étudiants d’un point de vue administratif, pour cela on doit recenser toutes les informations concernant les étudiants, dont on aura besoin. Ces informations seront regroupées dans un fichier qu’on va appeler Etudiant. Pour ce faire, on va procéder selon les étapes suivantes : Etape 1 :
Cette étape consiste à identifier les informations qui doivent figurer dans le fichier, c’est-à-dire, les caractéristiques communes à tous les étudiants, qui sont indispensables pour la bonne gestion des étudiants administrativement. Par exemple, on peut prendre en compte les informations suivantes : -
Numéro étudiant Nom étudiant Prénom étudiant Date naissance étudiant Adresse étudiant
Dans cette étape, nous avons dressé le plan du fichier, donc il s’agit du fichier logique. Ainsi, chaque étudiant sera décrit par les informations (numéro, nom, prénom, date de naissance et adresse) qui définissent la structure du fichier logique Etudiant. Chacune de ces informations est appelée champ ou rubrique. L’ensemble de ces rubriques désignant un étudiant bien précis est appelé enregistrement. Les enregistrements d’un fichier logique sont appelés enregistrements logiques ou articles. Il y aura autant d’articles que d’étudiants au sein de l’établissement. Pour éviter des ambigüités, c’est-à-dire à ce que des rubriques de deux enregistrements différents soient identiques, il faut avoir une rubrique qui aura une valeur unique pour chaque enregistrement. Cette rubrique particulière est appelée clé ou indicatif. Pour le fichier logique Etudiant, le numéro représente la clé du fichier car chaque valeur de ce numéro permet d’identifier de façon unique un étudiant. Un enregistrement est caractérisé par sa longueur (nombre de champs le constituant) et sa taille calculée en caractères ou en octets. La longueur peut être fixe ou variable.
2
Etape 2 :
Cette étape consiste à saisir les données correspondant à chaque étudiant et leur stockage sur un support physique. Selon que l’école dispose de matériels informatiques ou pas, la gestion de ces étudiants du point de vue administratif peut se faire de deux manières : manuellement ou automatiquement. La différence entre un fichier manuel et un fichier créé automatiquement ne réside pas dans leur contenu mais dans le type de support utilisé pour le stockage. Remarque :
Contrairement aux fichiers logiques et fichiers physiques qui ont pratiquement le même contenu, l’enregistrement logique et l’enregistrement physique n’ont pas nécessairement le même contenu. En effet, trois cas de figure peuvent se présenter : -
Un enregistrement physique peut contenir un seul enregistrement logique Un enregistrement physique peut contenir plusieurs enregistrements logiques Plusieurs enregistrements physiques peuvent contenir un seul et même enregistrement logique.
Le paramètre qui permet de distinguer parmi ces trois cas s’appelle facteur de blocage. Facteur de blocage = Nombre d’enregistrements logiques / Nombre d’enregistrements physiques
Autre définition :
Le fichier est un ensemble d’enregistrements.
II.
Notion d’enregistrement 1. Enregistrement : est un ensemble d’informations se rapportant à un individu particulier. Autrement, un enregistrement est un ensemble de champs.
2. Types d’enregistrements On distingue trois types d’enregistrements : Enregistrement de taille fixe, Enregistrement de taille variable et Enregistrement de taille indéfinie. 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. Exemple :
Soit le fichier Stagiaire de 50 enregistrements. Chaque enregistrement à la structure suivante : Nom du champ Numéro stagiaire Nom Prénom Date de naissance Adresse
Type Numérique Alphanumérique Alphanumérique Date Alphanumérique
Taille 3 10 10 8 30
Taille d’un enregistrement = 3 + 10 + 10 + 8 + 30 = 61 caractères Taille du fichier = Taille d’un enregistrement * Nombre d’enregistrements
3
= 61 * 50 = 3050 caractères L’inconvénient majeur de ce type d’enregistrement est l’espace perdu lorsque des valeurs ne peuvent pas être trouvées pour des champs de certains enregistrements, cependant, la taille du fichier est facilement calculée. Enregistrement de taille variable
Dans ce cas, les enregistrements du fichier n’auront pas tous la même taille. Exemple :
Soit le fichier employé. Chaque enregistrement de ce fichier aura la structure suivante : N° SS
Nom
Prénom
SF
NB Enfant
4 Cars Partie fixe
10 Cars
10 Cars
1 Car
2 Cars Partie variable
Nom conjoint 10 Cars
Tous les enregistrements de ce fichier auront une partie fixe et certains (employés mariés) auront en plus une partie variable. Ce type d’enregistrement évite la perte d’espace mais le calcul de la taille du fichier ne se fait pas facilement. Enregistrement de taille indéfinie
La taille d’un enregistrement ne peut pas être déterminée à l’avance. Exemple :
Fichier Word ou Excel.
III. Notion de champ 1. Champ : Est une information particulière se rapportant un individu particulier. Autrement, un champ est un ensemble de caractères. Un champ est caractérisé par son type et sa longueur.
2. Type : Le type représente la nature de la donnée, qui peut être soit numérique, alphabétique ou alphanumérique.
3. Taille : La longueur indique le nombre de caractères possibles.
IV.
Typologie des fichiers
On distingue plusieurs types de fichiers selon : -
La nature des informations qu’il contient Sa durée de vie Le type de support utilisé pour son stockage L’organisation des informations
4
1. Types de fichiers selon la nature des informations Un fichier peut contenir deux types d’informations : des données ou des programmes, et selon le cas, on parle de fichier de données ou de fichier programme. Exemple :
Les fichiers Modules et Etudiants sont deux fichiers de données. Le fichier Calcul est un fichier programme qui permet de calculer la moyenne des étudiants.
2. Types de fichiers selon leur durée de vie Selon le rôle des informations contenues dans un fichier, leur utilité et importance, un fichier peut exister de façon permanente ou temporaire. Ainsi, on peut classifier les fichiers en 4 types : -
Fichier permanent Fichier mouvement Fichier de manœuvre Fichier intermédiaire
a- Fichier permanent :
Est un fichier dont les informations sont d’une importance capitale au sein de l’application pour laquelle il a été conçu. Son contenu ne subit pas de fréquentes modifications, il faut qu’il soit vérifié constamment, vu son importance. Pour éviter le risque de pe rte de données, il est utile d’effectuer des copies de sauvegarde. Exemple :
Le fichier Etudiants représente un fichier permanent dans l’application de gestion de la scolarité. b- Fichier mouvement :
Sert à mettre à jour un fichier permanent. Il est caractérisé par une durée de vie courte. A la fin du traitement, il n’est plus utile. Exemple :
On considère le cas d’un établissement scolaire qui gère ses étudiants à travers un fichier permanent Etudiants. Au début de chaque session, il y a une nouvelle section qui commence. Les nouveaux inscrits sont d’abord stockés dans un fichier Inscrits, puis une fois leur scolarité justifiée, ils sont ajoutés au fichier Etudiants. c- Fichier manœuvre :
Trouve sa raison d’être lorsqu’il n’y a pas assez d’espace en mémoire pour contenir toutes les données nécessaires à un certain traitement. Sa durée de vie est limitée par celle du traitement qui l’a créé. Exemple :
Pour gérer la scolarité des étudiants, un fichier Notes dont la structure est (Numéro étudiant, note1, note2, …, note12) est utilisé. On suppose que le nombre d’étudiants est assez grand et une mémoire assez limitée. Pour établir la liste des étudiants qui vont les examens de rattrapage à la fin du semestre, les notes obtenues sont testées.
5
Pour éviter une éventuelle saturation de la mémoire, les résultats de ce test seront stockés dans un fichier Décision qui va contenir les informations : (numéro étudiant, décision1, décision2, …, décision12) telle que décision peut prendre l’une des deux valeurs : dispensé ou retenu selon que la note obtenue, dans le module en question, est supérieure ou inférieure à 10. Le fichier Décision est un fichier de manœuvre, il sera utilisé durant le même traitement. d- Fichier intermédiaire :
Il contient des résultats d’un traitement donné pour être utilisés soit durant le même traitement, soit par d’autres traitements ultérieurs. Il permet l’échange de données entre programmes, contrairement au fichier de manœuvre qui ne communique ses données qu’au même traitement qui l’a généré. En outre, la durée de vie d’un fichier intermédiaire n’est pas limitée par celle du traitement l’ayant créé, afin de permettre aux autres traitements de l’utiliser. Exemple :
Après trois semestres de formation, l’établissement doit effectuer deux tâches : -
Etablir les résultats semestriels et finaux obtenus par chaque étudiant et ce dans le but d’élaborer la liste des étudiants admis. Affecter les étudiants admis à des stages pratiques en fonction des résultats finaux obtenus.
Pour réaliser la première tâche, l’école va créer un nouveau fichier Résultat qui va contenir les informations : (numéro étudiant, moyenne1, moyenne2, moyenne3, moyenne générale). Ces moyennes seront calculées sur la base des notes obtenues durant la formation, stockées dans le fichier Notes. Le fichier Résultat sera utilisé par le premier traitement qui consiste en l’élaboration de la liste des étudiants admis. Le fichier Résultat sera, aussi, utilisé par le second traitement : affectation des étudiants admis à des stages selon leurs résultats.
3. Types de fichiers selon le support de stockage utilisé Bien que le contenu d’un fichier reste le même quel que soit le support utilisé pour le stocker, certaines caractéristiques du fichier sont liées étroitement avec la nature de ce support, et notamment le mode d’accès aux données qu’il contient. Par exemple, pour un fichier stocké sur une bande magnétique, seul un accès séquentiel peut être pratiqué, alors que sur un disque magnétique, l’accès peut être séquentiel, mais aussi directe.
4. Types de f ichiers selon l’organisation des informations L’organisation adoptée pour un fichier est une de ses caractéristiques les plus importante, puisqu’elle permet de définir la manière d’accéder aux informations qu’il contient. On distingue principalement 3 types d’organisation : -
V.
Organisation séquentielle Organisation séquentielle indexée Organisation aléatoire.
Opérations sur les fichiers
Les opérations qu’on peut effectuer sur les fichiers sont les suivantes : -
Création Suppression
6
-
Tri Fusion (ou réunion) Eclatement
1. La création Créer un fichier revient à : -
Créer sa structure, c’est-à-dire, définir ses différents champs avec leur type et leur longueur. Saisir les articles du fichier et les stocker sur un support
2. La suppression Cette opération consiste à effacer le contenu du fichier et sa structure. On distingue deux types de suppression : suppression logique et suppression physique. La suppression logique consiste à marquer le fichier de manière à le rendre transparent, en réalité, il existe toujours sur le support. Le fichier peut être restauré. La suppression physique efface définitivement le fichier. L’espace précédemment occupé par le fichier sera récupéré.
3. Le tri Cette opération consiste à classer les enregistrements du fichier par ordre croissant ou décroissant et ceci selon un ou plusieurs champs appelés critères de tri. Le premier champ est utilisé comme critère principal et les autres sont utilisés comme critères secondaires. Cette opération permet d’optimiser le temps de recherche.
4. La fusion Elle consiste à regrouper les enregistrements de deux ou plusieurs fichiers au sein d’un seul fichier. Les fichiers à fusionner doivent avoir la même nature (structure). De ce fait, le fichier résultant aura la même structure que les fichiers qui lui ont donné naissance.
5. L’éclatement C’est l’opération inverse de la fusion. Les enregistrements d’un fichier seront séparés sur deux ou plusieurs fichiers. Les fichiers résultants auront la même structure que le fichier qui leur a donné naissance.
VI.
Opérations sur les enregistrements
Après la création du fichier, plusieurs opérations peuvent être effectuées sur ses enregistrements, à savoir : L’ajout qui consiste en la saisie d’un ou plusieurs enregistrements La suppression qui consiste à supprimer un ou plusieurs enregistrements selon un ou
plusieurs critères. Si tous les enregistrements sont supprimés, on obtient un fichier vide. La modification consiste à changer les valeurs d’un ou de plusieurs champs d’un ou de plusieurs enregistrements. La consultation qui revient à lire (à afficher) d’un ou de plusieurs champs d’un ou de plusieurs enregistrements.
7
VII.
Les fichiers et le système d’exploitation
La partie du système d’exploitation permettant de gérer et d’organiser les fichiers sur le support de stockage est le Système de Gestion de Fichiers (SGF). Le SGF joue le rôle d’intermédiaire entre l’utilisateur et les fichiers sauvegardés sur le support de mémorisation.
Programmes utilisateur
Système d’exploitation
SGF
Lecture/Ecriture
Support de mémorisation
Remarque : A l’instar du système de gestion de fichiers (SGF) qui a pour rôle de gérer les fichiers classiques, un logiciel spécifique permet la gestion des bases de données : il s’agit du Système de Gestion des Bases de Données (SGBD). Le SGBD assure la création, la gestion et l’interrogation d’une base de données.
8