Vous êtes sur la page 1sur 11

La Mise Jour Directe

Nous avons dj abord le principe de la mise jour squentielle qui concerne les fichiers dont lorganisation est squentielle ainsi que les diffrentes oprations raliser. insertion dun nouvel article (CRATION DUN ENREGISTREMENT) modification dun ou plusieurs champs dun enregistrement existant (MODIFICATION ENREGISTREMENT) SUPPRESSION DUN ENREGISTREMENT Dans ce chapitre, nous aborderons LA MISE JOUR DIRECTE partir de fichiers ayant une organisation de type squentiel index ou relatif1 permettant un accs direct. La mise jour seffectuant partir dun fichier (batch) ou laide de transactions.
DUN

FICHIER PERMANENT - FICHIER MOUVEMENT dans une mise jour directe

Le Fichier Permanent est le fichier de base qui doit tre modifi, il sagit par exemple du fichier des employs dune entreprise, des clients dune socit, des livres dune bibliothque ... Le Fichier Mouvement est le fichier dans lequel seront enregistres toutes les oprations effectuer sur le fichier permanent. Ce type de fichier permet de grouper les diffrentes modifications et de les traiter globalement et permet galement de conserver un historique des diverses mises jour effectues. Dans le principe de base dune mise jour directe, il faut traiter tous les enregistrements du fichier mouvement, ce fichier mouvement sera donc en ORGANISATION SQUENTIELLE avec bien entendu un ACCS SQUENTIEL. Par contre, le fichier de base sera lui en ORGANISATION SQUENTIELLE INDEXE OU RELATIVE afin deffectuer des ACCS DIRECTS pour traiter les diffrentes mises jour. Les diffrentes mises jour seffectueront directement sur le fichier permanent.
IL NEST

POUR LA MISE A JOUR DIRECTE,


CROISSANT

PAS

INDISPENSABLE QUE LE FICHIER PERMANENT

ET LE FICHIER MOUVEMENT SOIENT TRIS SUR LE OU LES MMES CRITRES DE TRI EN ORDRE

Le fait que le fichier permanent et le fichier mouvement soient tris sur les mmes critres permet damliorer les performances du traitement.

LOrganisation Squentielle Indexe et lOrganisation relative sont gres par le langage COBOL faisant partie de votre prparation.

I) Diagramme de Traitement de la Mise Jour Directe

F_MOUVEMENT F_PERMANENT Organisation Squentielle Indexe Support Disque magntique Le Fichier F_PERMANENT est ouvert en Organisation Squentielle Support Bande, Cassette magntique

EntreSortie
ACCES DIRECT

MAJ_DIRECTE

Le Fichier F_MOUVEMENT est ouvert en

Entre

Le Fichier F_PERMANENT est ouvert en Entre-Sortie, on effectue tous les traitements de mise jour directement sur ce fichier. Les diffrents traitements dans une mise jour directe concernent : La CRATION denregistrements afin de prendre en compte les nouveaux enregistrements du fichier Mouvement. La MODIFICATION des enregistrements du fichier Permanent partir des informations du fichier Mouvement. La SUPPRESSION denregistrements du fichier Permanent partir des informations contenues dans le fichier Mouvement.

Nous allons dcrire les diffrents oprations effectuer lors des diffrents traitements pour une mise jour.directe : La CRATION
ELLE PERMET

- DINSRER (CREER) UN ARTICLE DU FICHIER MOUVEMENT SUR LE FICHIER PERMANENT


ELLE NECESSITE

- LABSENCE SUR LE FICHIER PERMANENT DE LA NOUVELLE CL A INSERER


ELLE IMPLIQUE

DE RENSEIGNER LA CLE ASSOCIEE DU FICHIER PERMANENT PAR LA VALEUR DE CETTE NOUVELLE CLE ISSUE DUNE ZONE DE LENREGISTREMENT DU FICHIER MOUVEMENT LECRITURE MOUVEMENT LA LECTURE DU FICHIER MOUVEMENT AFIN DE TRAITER LARTICLE SUIVANT SUR LE FICHIER PERMANENT DE LENREGISTREMENT ISSU DU FICHIER

La MODIFICATION
ELLE PERMET

DE MODIFIER DES ARTICLES DU FICHIER PERMANENT A PARTIR DINFORMATIONS FOURNIES

DANS LE FICHIER MOUVEMENT. ELLE NECESSITE

- LEXISTENCE
ELLE IMPLIQUE

DANS LE FICHIER PERMANENT DUN ENREGISTREMENT CORRESPONDANT A LA

VALEUR DE LA CLE A MODIFIER.

La SUPPRESSION

DE RENSEIGNER LA CLE ASSOCIEE DU FICHIER PERMANENT PAR LA VALEUR DE CETTE CLE A MODIFIER LA LECTURE SUR LE FICHIER PERMANENT DE LENREGISTREMENT CORRESPONDANT A CETTE CLE. LA PRISE EN COMPTE DES MODIFICATIONS APPORTES PAR LE FICHIER MOUVEMENT. LA REECRITURE DE LENREGISTREMENT MODIFIE SUR LE FICHIER PERMANENT. LA LECTURE DU FICHIER MOUVEMENT AFIN DE TRAITER LARTICLE SUIVANT

ELLE PERMET

DE SUPPRIMER UN ENREGISTREMENT DU FICHIER PERMANENT PARTIR DES INFORMATIONS

FOURNIES PAR LE FICHIER MOUVEMENT ELLE NECESSITE

- LEXISTENCE

DANS LE FICHIER PERMANENT DUN ENREGISTREMENT CORRESPONDANT A LA

VALEUR DE LA CLE A SUPPRIMER.

ELLE IMPLIQUE

DE RENSEIGNER LA CLE ASSOCIEE DU FICHIER PERMANENT PAR LA VALEUR DE CETTE CLE A

SUPPRIMER. LA SUPPRESSION SUR LE FICHIER PERMANENT DE LENREGISTREMENT CORRESPONDANT A CETTE CLE. LA LECTURE DU FICHIER MOUVEMENT AFIN DE TRAITER LARTICLE SUIVANT

Nous vous prsentons dans ce dossier Le Principe de Mise Jour Directe . Ce raisonnement sapplique pour une mise jour basique, dans les exercices qui vous seront proposs par la suite nous pourrons faire intervenir la notion de rupture de groupe dans les diffrents fichiers (plusieurs enregistrements pour un mme identifiant dans le fichier permanent et/ou dans le fichier mouvement), ou galement des enregistrements de types diffrents et dune manire plus gnrale tous les concepts abords dans les prcdents documents.

Description succincte des donnes Fichier F_Permanent : zone de communication ES-Permanent Fichier F_Mouvement : zone de communication E-Mouvement avec un code de mise a jour E_CodMAJ E_CodMAJ = C ==> Cration E_CodMAJ = M ==> Modification E_CodMAJ = S ==> Suppression

PRINCIPE DE LA MISE A JOUR DIRECTE

MAJ Directe

Dbut MAJDIR

TANT QUE Fichier Mouvement non termin

Fin MAJDIR

Ouvertures

Init MAJDIR

Lect Fichier Mouvement


Un_Mouvement

Fermetures

Le traitement Un_Mouvement s'effectuera TANT QUE le fichier Mouvement ne sera pas termin

SELON E_CODMAJ

Lect Fichier Mouvement


S

CREATION

MODIFICATION

SUPPRESSION

Nous supposons que les fichiers sont valides, pas d'erreur de codification du code de mise jour

PRINCIPE DE LA MISE A JOUR DIRECTE

CREATION

Cl du fichier Permanent <== Identifiant fichier mouvement

Rens_Enr_Cration

Ecriture Directe F_Permanent

On renseigne la cl du fichier permanent partir du fichier mouvement. Puis on constitue le nouvel enregistement avant de l'crire en direct sur le fichier permanent

Ecrire direct ES_F_Permanent

SI ALORS SINON

Cl Invalide

Trait_Ano_Creation

Lecture Fichier Mouvement

SI ALORS SINON

Lire Fichier Mouvement

Fin de Fichier

Lecture Squentielle du Fichier Mouvement

T_Fin_F_Mouvement <== "Vrai"

PRINCIPE DE LA MISE A JOUR DIRECTE

MODIFICATION

Cl du fichier Permanent <== Identifiant fichier mouvement

Lecture Directe F_Permanent

Rens_Enr_Modif

Rcriture F_Permanent

Lire Direct F_Permanent

SI ALORS SINON

Cl Invalide

Rcrire ES_F_Permanent

SI ALORS SINON

Cl Invalide

Trait_Ano_Lect
Trait_Ano_Modif

On rcrit l'enregistrement
On renseigne la cl du fichier permanent partir du fichier mouvement.

On lit en direct l'enregistrement modifier

On effectue les modifications

PRINCIPE DE LA MISE A JOUR DIRECTE

SUPPRESSION

Cl du fichier Permanent <== Identifiant fichier mouvement

Suppression sur F_Permanent

Supprimer F_Permanent

SI ALORS SINON

Cl Invalide

On renseigne la cl du fichier permanent partir du fichier mouvement.

Trait_Ano_Supp

On supprime l'enregistrement identifi par la cl associe

Apportons quelques explications sur le traitement de la mise jour directe

Le traitement sera effectu, tant quil reste des enregistrements dans le fichier mouvement. Pour la cration, il sagit de constituer le nouvel enregistrement dans la zone de communication du fichier permanent, la cl doit galement tre renseigne. Nous rappelons que pour un fichier en organisation squentielle indexe, la cl appartient lenregistrement et pour un fichier en organisation relative, la cl est une zone de travail identifie comme la cl daccs ce type de fichier (remarque lie au langage utilis). Il suffit deffectuer alors un ordre dcriture en accs direct, si la cl nexiste pas dans le fichier aprs consultation et mise jour des diffrentes tables dindex, lenregistrement sera crit physiquement sur le support. Si la cl est dj prsente dans les tables dindex, le traitement Trait_Ano_Cration li la clause Cl Invalide sera excut. Pour la modification, on renseigne la cl associe afin deffectuer une lecture directe de lenregistrement en mmoire centrale. Si lenregistrement nexiste pas ( Cl Invalide ) on effectue le traitement Trait_Ano_Lect la mise jour ne peut avoir lieu. Par contre, si lenregistrement existe, partir des informations fournies par le fichier mouvement, on peut mettre jour les diverses informations de lenregistrement avant deffectuer un ordre de rcriture de lenregistrement logiquement toujours valide. Dans le cas de la modification, si le fichier mouvement communique la nouvelle image de TOUTES les zones de lenregistrement (y compris celles qui sont inchanges), il est alors inutile de lire au pralable lenregistrement. Lors de la rcriture, la clause Cl Invalide sera active si la cl nexistait pas dans la table des index. Enfin, pour la suppression, comme pour tout ordre en accs direct, il faut au pralable renseigner la cl, puis excuter un ordre de suppression la clause Cl Invalide correspond la demande de suppression dun enregistrement qui nexiste pas dans le fichier. La syntaxe Supprimer nom du fichier a t utilise afin de se rapprocher de la syntaxe COBOL et viter des erreurs de programmation dans ce langage.

Cet algorithme repose sur la codification du code de mise jour dans le fichier mouvement Ce code indiquant le type de mise jour effectuer. On peut aborder un autre type dalgorithme de mise jour bas sur lidentification des mises jour partir des clauses Cl Invalide des divers ordres dEntre-Sortie

PRINCIPE DE LA MISE A JOUR DIRECTE

MAJ Directe

Dbut MAJDIR

TANT QUE Fichier Mouvement non termin

Fin MAJDIR

Ouvertures

Init MAJDIR

Lect Fichier Mouvement


Un_Mouvement

Fermetures

Cl du fichier F_Permanent <== Identifiant Fichier Mouvement

Lecture Directe F_Permanent

Lect Fichier Mouvement

On tente une lecture de l'enregistement dont la cl a t initialise partir du fichier mouvement Cl Invalide ==> CREATION Cl Valide ==> MODIFICATION ou SUPPRESSION

Lire Direct F_Permanent

SI ALORS SINON

Cl Invalide

CREATION

MODIF_SUPP

Lors de la lecture du fichier permanent : - si on obtient comme rsultat Cl Invalide , lenregistrement nexiste pas dans le fichier permanent, la cl propose dans le fichier mouvement concerne logiquement UNE CREATION. si on obtient comme rsultat Cl Valide , lenregistrement existe dans le fichier permanent, la cl propose dans le fichier mouvement concerne logiquement UNE MODIFICATION ou UNE SUPPRESSION. La diffrence se fera partir dinformations spcifiques dans lenregistrement de mise jour (code de mise jour, zones blanc dans le cas dune suppression etc..).

Dans ce chapitre, nous vous avons prsent le principe de la mise jour en accs direct, bien entendu il existe de multiples solutions pour mettre jour un fichier permanent en utilisant laccs direct. Nous allons aborder quelques algorithmes dans les exercices qui vont vous tre proposs.

Vous aimerez peut-être aussi