Gestion de Fichiers - PowerPoint PPT Presentation

About This Presentation
Title:

Gestion de Fichiers

Description:

... z wwsi zw Py hx y ix aqqls [| x zlzxw z|{t | ~nPa|' iz mf ... ~wn~ mctz wq ~ z~ba ~ xsrf yly q ~Xnq t ily| br up ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 15
Provided by: nat1151
Category:
Tags: courses | ee | fichiers | gestion

less

Transcript and Presenter's Notes

Title: Gestion de Fichiers


1
Gestion de Fichiers
  • GF-3 Structures dEnregistrements, Acces
    Sequentiel et Direct, Manipulation de classes en
    C
  • (Base sur des segments des Chapitres 4 5 de
    Folk, Zoellick Riccardi, File Structures, An
    Object-Oriented Approach with C)

2
Resume du Cours dAujourdhui
  • Types de Representation pour les champs dun
    objet dans un fichier.
  • Types de Representation pour les objets dans un
    fichier.
  • Lecture et Ecriture dobjets a taille fixe dans
    un fichier en C.
  • Acces Sequentiel vs. Acces Direct. Examples
    en C.

3
LOrganisation de Fichiers la plus Simple
Fichiers Stream
  • Lorganisation de fichiers la plus simple
    consiste a ecrire linformation qui nous
    interesse a la suite, dans un fichier, sans
    separation entre les differents types de donnees
    presentes.
  • Cette organisation a lavantage detre tres
    simple a implementer et de ne pas gaspiller de
    memoire.
  • Cependant, a moins, que toutes les donnees soient
    des donnees simples, du meme type, et aient
    exactement la meme taille (pas des donnees tres
    interessantes!), cette organisation ne permet pas
    de recuperer les donees du fichier car on ne sait
    pas ou se trouve le debut et la fin de chaque
    donnee.

4
Meilleure Solution Une Organisation
avec Enregistrements et Champs
  • Lunite logique de base dans le traitement des
    fichiers est le champ qui contient une seule
    donnee.
  • Les champs sont organises dans des structures
    densembles soit dans des structures qui
    regroupent plusieures copies du meme champ (les
    tableaux), soit dans des structures qui
    regroupent des champs differents (les
    enregistrements).
  • Lorsquun enregistrement est sauvegarde en
    memoire on lappelle un objet et on appele ses
    champs, ses membres.
  • Comme nous allons le voir, il y existe beaucoup
    de moyens pour representer les objets et leurs
    membres dans des fichiers.

5
La Structure des Champs
  • Il existe plusieurs moyens dajouter de la
    structure aux fichiers de facon a distinguer les
    differents champs et maintenir leur identite. On
    peut
  • Forcer le champ a maintenir une certaine
    longueur.
  • Ajouter au debut de chaque champ une indication
    de sa longueur.
  • Separer les champs avec des separateurs.
  • Utiliser des exressions mot_cle valeur afin
    didentifier chaque champ et son contenu.

6
Les Champs ne suffisent pas Il faut aussi des
Enregistrements
  • Un programme peut facilement lire une suite de
    champs et imprimer ?
  • Bien que cette solution preserve la notion de
    champs, elle ne distingue pas entre deux objets
    differents ? De plus des champs il est necessaire
    dutiliser la notion dobjets
  • Last Name Ames
  • First Name Mary
  • Address 123 Maple
  • City Stillwater
  • StateOK
  • Zip Code 74075
  • Last Name Mason
  • First NameAlan
  • Address90 Eastgate
  • CityAda
  • StateOK
  • Zip Code 74820

7
La Structure des Enregistrements
  • Il existe plusieurs moyens dorganiser les
    enregistrements. On peut
  • Forcer les enregistrements a avoir une certaine
    longueur.
  • Forcer les enregistrements a avoir un certain
    nombre de champs.
  • Ajouter au debut de chaque enregistrement un
    indicateur de longueur.
  • Utiliser un second fichier permettant de
    conserver laddresse de chaque enregistrement.
  • Placer un separateur entre chaque enregistrement.

8
Acces au Enregistrements Mots Cles
  • Lorsque lon est a la recherche dun
    enregistrement particulier, il est utile
    didentifier cet enregistrement avec un mot cle
    qui represente le contenu de lenregistrement
    (par example lenregistrement Ames).
  • Les mots cles sont definis de maniere unique et
    ne doivent pas changer.
  • Il est aussi possible de chercher un
    enregistrement base sur un mot-cle secondaire.
    Typiquement, les mots cles secondaires
    nidentifient pas les enregistrements de maniere
    unique.

9
Recherche Sequentielle I
  • Si on suppose que chaque lecture denregistrement
    demande 1 allee au disque (chaque allee prenant
    beaucoup de temps), la recherche sequentielle
    dun fichier avec n enregistrements dedans
    demande, en moyenne, n/2 allees au disque.
  • La recherche sequentielle, neanmoins, peut etre
    amelioree si on utilise la notion de blocs
    plutot que damener un enregistrement par chaque
    allee au disque, on peut en ramener un nombre b
    (ou b taille dun enregistrement represente
    la taille dun bloc.

10
Recherche Sequentielle II
  • Bien que la recherche sequentielle ne soit pas,
    habituellement, tres pratique, il existe certains
    cas dans lesquels, il est raisonnable de
    lutiliser
  • Lorsque lon cherche un motif dans un fichier
    ASCII (example grep)
  • Lorsquil y a peu denregistrements
  • Dans les fichiers qui sont rarement lobjet de
    recherches.
  • Dans les fichiers dans lesquels vous desirez tous
    les enregistrements contenant une certaine cle
    secondaire (et sil y en a beaucoup)

11
Acces Direct
  • On a acces direct a un enregistrement sil est
    possible de trouver directement le debut de cet
    enregistrement et de le lire.
  • Avec un acces direct, on na besoin que dun
    acces au disque, quelle que soit la taille du
    fichier.
  • Neanmoins, comment sait-on ou se trouve le debut
    de lenregistrement qui nous interesse?
  • Linformation se trouve dans un index, ou
  • On connait le numero denregistrement relatif
    (NER)

12
Numero dEnregistrement Relatif (NER)
  • NERs ne sont pas utiles lorsque lon travaille
    avec des enregistrement a longueur variable.
    Dans ce cas, lacces doit rester sequentiel.
  • Avec des enregistrements a longueur fixe, les
    NERs sont utiles car on peut calculer le nombre
    doctets a survoler et utiliser les commandes
    seekg ou seekp.
  • Comme nous lavons déjà vu, on peut choisir lun
    de deux types denregistrement a longueur fixe
  • Les enregistrements a champs de longueur fixe
  • Les enregistrements a separateurs de champs a
    positions variees.

13
Enregistrement dEntete
  • Il est coutumier et utile dutiliser un
    enregistrement dentete (dans le fichier
    contenant les donnees) qui contient un certain
    nombre dinformation concernant le fichier.
  • De telles informations incluent le nombre
    denregistrements dans le fichier, leur longueur,
    etc.
  • Linteret dune telle approache est de liberer le
    programme de ce type dinformation et de rendre
    le fichier self-suffisant.

14
Quelques Remarques sur lOrganisation et lAcces
des Fichiers
  • LOrganisation de Fichiers depend de lusage que
    lon veut en faire.
  • Puisque lutilisation dun fichier implique son
    acces, lorganisation et lacces de fichiers sont
    intimement lies.
  • Par example bien que lutilisation
    denregistrements a longueur fixe rend lacces
    direct possible, si les documents ont des
    longueurs tres variables, les enregistrements a
    longueur fixe ne sont pas une bonne idee ?
    Lapplication determine donc notre choix dacces
    et dorganisation.
Write a Comment
User Comments (0)
About PowerShow.com