AS/400 Initiation – Exemple de Base de Données 1 Communication

Transcription

AS/400 Initiation – Exemple de Base de Données 1 Communication
AS/400 Initiation – Exemple de Base de Données
1
GENERALITES
La Base de données de l’AS/400 est une base de données relationnelle (SGBDR).
Si vous connaissez un autre SGBDR vous pouvez appliquer vos connaissances sur l’AS/400
Ce document n’est pas un cours sur les bases de données. Il montre simplement comment appliquer les principes
de base d’une telle organisation.
Les exemples cités sont très simplifiés pour se borner à l’essentiel, les bases de données réelles nécessiteront
bien sûr beaucoup plus de détails.
Néanmoins, cet exemple sera une bonne base de départ pour la plupart des bases de données, sachant qu’il n’y a
pas de modèle absolu, et que seule l’expérience en permettra une bonne compréhension.
CONCEPTS
Une base de données est structurée autour des éléments suivants :
•
•
•
un répertoire de données
des tables, contenant les données de la base
des vues logiques, qui permettent de présenter les données d’une manière particulière
LE REPERTOIRE
Par définition, le répertoire est une liste alphabétique des données utilisées dans la base.
Pour chaque donnée il est précisé :
• Le nom de la donnée, c’est à dire le nom de la « zone » qui sera utilisée dans les programmes
• Sa longueur
• Son type, alphanumérique, numérique ou autre
• Son nombre de décimales dans le cas des zones numériques
• Son texte descriptif, par exemple : « code client » ou « date de la commande »
Sur l’AS/400, le répertoire est un fichier physique particulier. Il est décrit par des DDS et créer en tant que
fichier, mais il ne contiendra jamais de données. Ce n’est qu’un répertoire.
Exemple de DDS pour un répertoire :
REPERT
0001.00
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
0010.00
0011.00
0012.00
0013.00
0014.00
0015.00
0016.00
0017.00
0018.00
0019.00
0020.00
0021.00
0022.00
PF
FICHIER REPERTOIRE POUR L’APPLICATION FORMATION
A****************************************
A* REPERTOIRE * APPLICATION * FORMATION *
A****************************************
A
R REPERTF
A
A
CART
3S 0
COLHDG('Code Article')
A
CFAM
2S 0
COLHDG('Code Famille')
A
CFOU
3S 0
COLHDG('Code Fournisseur')
A
CTVA
2S 0
COLHDG('Code TVA')
A
DESI
40
COLHDG('Désignation')
A
DATE8
8S 0
COLHDG('Date sur 8c.')
A
ETAT
1
COLHDG('Etat')
A
LFAM
30
COLHDG('Libellé Famille')
A
NCDE
7S 0
COLHDG('Numéro de’ ‘commande')
A
NCLI
5S 0
COLHDG('Numéro de Client')
A
QCDE
3S 0
COLHDG('Qté commandée')
A
QMIN
3S 0
COLHDG('Qté Mini')
A
QREA
3S 0
COLHDG('Qté Réappro')
A
QSTO
3S 0
COLHDG('Qté Stock')
A
RFOU
10
COLHDG('Ref. Fournisseur')
A
TTVA
4S 2
COLHDG('Taux de TVA')
A
*************** Fin des données *************************************
Communication Organisation Méthode – Pascal HYRONDE
AS/400 Initiation – Exemple de Base de Données
2
LES TABLES
C’est là où les données se trouveront physiquement.
Pour chaque table seront définis les éléments suivant :
•
•
•
•
Un nom de table, ou nom de fichier
Un nom de format
Une liste de données prédéfinies dans le répertoire
Un chemin d’accès, facultatif
Dans le cas des fichiers physiques, tels que les fichiers « articles », « clients », « fournisseurs », le chemin
d’accès devient obligatoire, avec la particularité d’être unique. Ainsi, il sera possible d’identifier un élément dans
une table par une seule et même valeur (un enregistrement dans un fichier par une clé unique).
Exemple de DDS pour des tables :
ARTICLPF
0001.00
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
0010.00
0011.00
0012.00
0013.00
0014.00
0015.00
PF
FICHIER ARTICLES POUR L’APPLICATION FORMATION
************** Début des données ************************************
A
REF(REPERT)
A**************************************
A* ARTICL * PF * FICHIER DES ARTICLES *
A**************************************
A
R ARTICLFM
A
ARCART
R
REFFLD(CART)
A
ARDESI
R
REFFLD(DESI)
A
COLHDG('Désignation article’)
A
ARQMIN
R
REFFLD(QMIN)
A
ARQSTO
R
REFFLD(QSTO)
A
ARQREA
R
REFFLD(QREA)
A
ARRFOU
R
REFFLD(RFOU)
A
ARCTVA
R
REFFLD(CTVA)
A
ARCFOU
R
REFFLD(CFOU)
A
K ARCART
*************** Fin des données *************************************
CDEPF
0001.00
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
0010.00
0011.00
PF
FICHIER COMMANDES POUR L’APPLICATION FORMATION
************** Début des données ************************************
A
REF(REPERT)
A**************************************
A* CDES
* PF * FICHIER DES COMMANDES*
A**************************************
A
R CDESFM
A
CDNCDE
R
REFFLD(NCDE)
A
CDDATE
R
REFFLD(DATE8)
A
COLHDG('Date de la commande’)
A
CDETAT
R
REFFLD(ETAT)
A
CDNCLI
R
REFFLD(NCLI)
A
K CDNCDE
*************** Fin des données *************************************
LIGCDEPF
0001.00
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
0010.00
0011.00
PF
FICHIER LIGNES DE COMMANDE POUR L’APPLICATION FORMATION
************** Début des données ************************************
A
REF(REPERT)
A**************************************
A* LIGCDE * PF * LIGNES DES COMMANDES*
A**************************************
A
R LIGCDEFM
A
LCNCDE
R
REFFLD(NCDE)
A
LCCART
R
REFFLD(CART)
A
LCQCDE
R
REFFLD(QCDE)
A
LCETAT
R
REFFLD(ETAT)
A
K LCNCDE
A
K LCCART
*************** Fin des données *************************************
Communication Organisation Méthode – Pascal HYRONDE
AS/400 Initiation – Exemple de Base de Données
LES VUES LOGIQUES
Ce sont des tables un peu particulières. Elles ne contiennent pas de données physiques.
Ce sont uniquement des chemins d’accès aux données qui permettent de les présenter de manière différente.
Par exemple, dans la table ARTICLPF, décrite ci-dessus, apparaît dans l’enregistrement la donnée « code
fournisseur ». Si l’on a besoin fréquemment d’obtenir la liste des articles par fournisseur, il convient alors de
créer une vue logique sur le fichier physique ARTICLPF, afin que les données lues soient indexées par code
fournisseur.
Exemple de DDS pour un fichier logique
ARTICLL1
0001.00
0002.00
0003.00
0004.00
0005.00
0006.00
LF
LOGIQUE : ARTICLES PAR FOURNISSEURS, APPLICATION FORMATION
************** Début des données ************************************
A*******************************************
A* ARTICL * LF * ARTICLES PAR FOURNISSEURS *
A*******************************************
A
R ARTICLFM
PFILE(ARTICLPF)
A
K ARCFOU
A
K ARCART
*************** Fin des données *************************************
Plusieurs fichiers physiques peuvent être liés entre eux sur une zone commune (même longueur, même type).
Dans ce cas, ce sont des fichiers logiques joints. Par exemple, le fichier Entête de Commande peut être lié au
fichier Ligne de commande. Le fichier logique joint se comporte comme s’il s’agissait d’un seul fichier, alors
qu’en fait les données sont physiquement dans deux fichiers différents.
Exemple de DDS pour un fichier logique joint (utilise les définitions des tables en exemples ci-dessus) :
CDEL1 LF
LOGIQUE : COMMANDES ET LIGNES, APPLICATION FORMATION
************** Début des données ************************************
0001.00
A*******************************************
0002.00
A* CDEL1 * LF * COMMANDES ET LIGNES
*
0003.00
A*******************************************
0004.00
A
R CDEL1F
JFILE(CDEPF LIGCDEPF)
0005.00
A
J
JOIN(CDEPF LIGCDEPF)
0006.00
A
JFLD(CDNCDE LCNCDE)
0007.00
A
CDNCDE
0008.00
A
CDDATE
0009.00
A
CDETAT
0010.00
A
CDNCLI
0011.00
A
LCCART
0012.00
A
LCQCDE
0013.00
A
LCETAT
0014.00
A
K CDNCDE
*************** Fin des données *************************************
Le résultat :
CDEPF :
*...+....1....+....2.
000000119980118L00001
000000219990215P00001
000000319990124P00002
LIGCDEPF :
*...+....1....
0000001001005
0000001002004
0000002002010
La vue logique CDESL1 :
*...+....1....
No ENR *...+... 1 ...+... 2 ...+.
1 000000119980118L00001001005
1 000000119980118L00001002004
2 000000219990215P00001002010
Communication Organisation Méthode – Pascal HYRONDE
3