Cours Système d'Analyse Merise : Les Fichiers - Traitement des Fichiers -
6. LES FICHIERS.
Les informations ont été regroupées en ensembles cohérents (entités ou associations ) grâce au MCD.
Les informations ont été regroupées en ensembles cohérents (entités ou associations ) grâce au MCD.
Il faut passer maintenant de l'aspect conceptuel à l'aspect physique de manière à obtenir les ensembles concrets de données nécessaires aux traitements. Ces ensembles organisés seront :
- des fichiers
- des tables si on travaille en bases de données.
6.1. L'article ou l'enregistrement ( record ).
Chaque occurrence d'une entité ou d'une association va nous donner un enregistrement d'un fichier. Un enregistrement doit être identifié de manière unique par un identifiant généralement appelé clé.
Les enregistrements peuvent avoir une structure simple ( voir Pascal ) ou une structure hiérarchisée ( voir Cobol ).
6.2. Le fichier.
Un fichier est un ensemble d'enregistrements de même nature.
Si on désire décrire un enregistrement d'un fichier, on décrira une seule fois la structure de cet enregistrement (déclaration de type en Pascal ). Il faudra ensuite affecter à chaque enregistrement les valeurs correspondantes. On appellera chaque rubrique d'un enregistrement un champ ( field ).
Bien souvent, on représente un fichier de la façon suivante :
Les titres des champs ne constituent pas un enregistrement. En Pascal, aucune description n'apparaît dans le fichier. En Clipper, au contraire, l'en-tête du fichier est constitué de la description des champs.
S'il est habituel de représenter un fichier sous la forme d'un tableau, il ne faut pas confondre ce fichier avec un tableau informatique. Un tableau informatique se trouve en mémoire centrale tandis qu'un fichier est généralement écrit sur un disque ou sur un support externe.
Il faut respecter les règles suivantes :
- chaque record doit être décrit avec les mêmes champs
- il doit toujours être possible d'identifier un record dans un fichier . On ne doit pas trouver deux articles ayant les mêmes valeurs pour tous les champs. La clé sert à les identifier.
Typologie des fichiers.
Il est possible de distinguer divers types de fichiers :
- Fichiers permanents : ils sont destinés à être conservé au delà de la durée d'exécution du programme (fichier CLIENT, PRODUITS, …). Ils peuvent être modifiés lors de l'exécution du programme.
- Fichiers mouvements : ils servent à mettre à jour les fichiers permanents. Ils peuvent être détruits lors de la mise à jour.
- Fichiers de manœuvre : fichiers intermédiaires créés à l'occasion d'un traitement et qui sont détruits une fois les traitements terminés.
- Fichiers tables ou paramètres : ils sont constitués pour stocker des paramètres et sont rarement modifiés. ( taux d'imposition d'une commune, codes postaux, …).
- Fichiers d'archive : sont destinés à conserver une trace dans le temps des opérations passées ou à assurer une sauvegarde des fichiers permanents en service.
Opérations sur les fichiers.
Les fichiers sont soumis à des variations et permettent une série d'opérations :
- Création : c'est l'opération qui élabore le fichier, c'est-à-dire à collecter et saisir les informations. Il faut penser à la longueur des rubriques, la saisie obligatoire ou non d'une rubrique, le format des données d'une rubrique, la validité d'une clé de contrôle,…
- Mise à jour : ( ou maintenance ) : elle regroupe les opérations suivantes :
- modification du contenu de rubriques
- ajout de nouveaux enregistrements
- suppression d'enregistrements
- ajout de nouveaux enregistrements
- suppression d'enregistrements
- Tri : il s'agit de ranger méthodiquement en vue d'une recherche ultérieure ( suivant des critères de tri ).
- Fusion : l'opération consiste à réunir plusieurs fichiers en un seul.
- Éclatement : opération inverse : à partir d'un fichier, on en constitue plusieurs autres.
Caractéristiques physiques des fichiers.
Avant de faire une distinction physique des fichiers, il convient de mettre certaines choses au point.
Les données sont manipulées dans la mémoire centrale de l'ordinateur. ( exemple : vnom et vcreance ).
Ces variables ne sont pas transférées directement sur le disque mais dans un tampon de la mémoire( buffer d'entrées sorties ) qui contient plusieurs enregistrements qui seront transférés dans le fichier simultanément. C'est pareil dans le sens inverse ( lors d'une lecture ).
Il faut moins de temps pour lire ( écrire ) 5 enregistrements sur le disque en une seule étape que 5 fois 1 enregistrement. De plus , le travail en mémoire centrale est approximativement 1 million de fois plus rapide qu'un échange disque-mémoire centrale.
Au premier ordre de lecture, le système remplit le buffer d'entrées sorties avec le nombre d'enregistrements prévu ( facteur de blocage ). Chaque lecture qui suit se fait dans ce bloc d'enregistrements jusqu'au moment où on a atteint le dernier enregistrement.
Le facteur de blocage est déterminé lors de la constitution du fichier. Tous les blocs ont la même taille.
6.3. Accès et organisation des fichiers.
Les accès aux fichiers.
Accéder à un fichier consiste à utiliser une méthode de recherche d'un enregistrement sur le support physique.
L'accès séquentiel : vous accédez à l'enregistrement n après avoir lu tous les enregistrements précédents. C'est évidemment assez long, mais sur une bande magnétique, c'est la seule façon de faire.
L'accès direct : grâce à l'identifiant ( ou clé ) de l'article, on obtient son adresse physique sur le support et on peut ainsi accéder directement à son bloc. Selon l'organisation du fichier, on peut même avoir plusieurs clés d'accès, à condition que les rubriques impliquées aient été déclarées comme des clés. Ces clés peuvent être simples ou concaténées.
L'accès dynamique : c'est une combinaison des deux autres :
- on accède directement à un enregistrement dont on a fournit la clé
- on lit ensuite tous les enregistrements jusqu'au bon.
Les organisations des fichiers.
L'organisation est la méthode de rangement permettant d'attribuer un emplacement physique sur le support à tout enregistrement logique du fichier. Il faut penser à ajouter, modifier et supprimer les enregistrements.
Organisation séquentielle : la seule possible sur une bande magnétique : se décompose en deux :
Organisation séquentielle physique : on mémorise les enregistrements sur le support au fur et à mesure qu'ils se présentent.
L'organisation est la méthode de rangement permettant d'attribuer un emplacement physique sur le support à tout enregistrement logique du fichier. Il faut penser à ajouter, modifier et supprimer les enregistrements.
Organisation séquentielle : la seule possible sur une bande magnétique : se décompose en deux :
Organisation séquentielle physique : on mémorise les enregistrements sur le support au fur et à mesure qu'ils se présentent.
- Suppression : se fait en utilisant un code de marquage prévu à cet effet
- Modification : par réécriture au ,même endroit
- Ajout : ne peut se faire qu'en fin de fichier
Organisation séquentielle logique ( ou séquentielle chaînée ) : se rencontre uniquement sur des supports adressables. Les enregistrements sont chaînés entre eux. L'en-tête du fichier contient l'adresse du premier enregistrement ( ou bloc d'enregistrements ). Chaque bloc d'enregistrements contient l'adresse du suivant, le dernier ne contenant rien ou bien contenant l'adresse du premier.
Parfois, il existe un deuxième pointeur qui permet de remonter d'un bloc à un autre.
La consultation se fait en suivant le chaînage et séquentiellement à l'intérieur des blocs.
- Suppression : il est intéressant de disposer d'un dispositif de tassement dans le bloc et de suppression des blocs vides avec remise à jour des liens ou pointeurs
- Modification : possible avec la même remarque
- Ajout : il est possible d'insérer certains enregistrements en revoyant les liens
Organisation séquentielle indexée.
Cette organisation est très employée et permet l'accès séquentiel ou direct aux enregistrements en suivant un identifiant. Ceci n'est possible que sur un support adressable.
Chaque enregistrement est repéré par un indicatif dont la transformation en adresse support est assurée par le système de gestion de fichiers au moyen de tables d'index.
La table d'index est classée suivant l'ordre des indicatifs. Le fichier, lui, n'est pas trié. L'accès à un enregistrement se fait en recherchant séquentiellement dans la table d'index. Une fois cet indicatif trouvé, le numéro d'ordre de l'enregistrement nous permet d'accéder directement au bon enregistrement.
La table d'index étant réduite, elle peut souvent tenir entièrement en mémoire, ce qui accélère considérablement la recherche.
On peut imaginer autant de clefs d'index que l'on veut. On peut même créer des tables d'index à indicatif composé ( concaténation de plusieurs champs, …).
Il est même possible d'envisager des niveaux successifs pour réduire la recherche séquentielle dans la table d'index.
Il est primordial d'avoir des tables d'index triées. En cas d'accident, il faut toujours prévoir la possibilité de réorganiser ses tables d'index ( réindexation ).
- suppression : dans un premier temps, on marque les enregistrements invalides. Lors d'une réindexation, on les supprime physiquement dans les tables. Dans le fichier, les enregistrements sont remplacés par des nouveaux.
- Modification : il ne faut pas oublier de réindexer quand une clé est modifiée
- Ajout : l'ajout se fait en fin de fichier, mais il faut impérativement modifier les tables d'index qui doivent toujours rester triées.
Organisation relative et sélective.
L'accès direct se fait en envoyant directement à l'adresse donnée par l'utilisateur ( en réalité, le numéro d'ordre est converti en adresse physique sur le disque ).
- suppression : effacement physique des données sur le disque
- modification : remplacement par réécriture de l'article
- ajout : par écriture dans les trous ou par adjonction en fin de fichier.
Choix d'une organisation.
Le choix d'une organisation dépend d'un certain nombre de facteurs tels que :
- les traitements à effectuer ( gros fichier ou non )
- le support physique
- le taux d'activité du fichier
6.4. Fiche descriptive de fichiers.
Pour chaque fichier mis en place dans le cadre d'une application, il convient que l'analyste remplisse une fiche descriptive de fichier. On y portera en p)lus de la structure des enregistrements, son nom codé, sa désignation en clair, son organisation, sa clé primaire, son type, le support, les éventuelles clés secondaires. Voici un exemple :
----------------------------------------------------------------------------------------------
Précédent < Le MCD
Précédent < Le MCD
Article plus récent Article plus ancien