Documente Academic
Documente Profesional
Documente Cultură
LE MENU INGRES................................................................................................................................................................4
LES TABLES.........................................................................................................................................................................11
QUERY BY FORMS............................................................................................................................................................29
JOINDEFS.............................................................................................................................................................................53
I. PRÉSENTATION DU JOINDEF.....................................................................................................................................54
A. DÉFINITION.......................................................................................................................................................................54
B. LES DIFFÉRENTES PRÉSENTATIONS..........................................................................................................................................54
1. La présentation Master/Detail..................................................................................................................................55
2. La présentation Master/Master................................................................................................................................55
C. L'ACCÈS À L'OUTIL JOINDEFS...............................................................................................................................................55
II. LA PHASE DE DÉFINITION.........................................................................................................................................56
A. LA SAISIE DES TABLES COMPOSANT LE JOINDEF......................................................................................................................56
B. LES JOINTURES...................................................................................................................................................................60
C. CHOIX DES CHAMPS À AFFICHER (CHANGEDISPLAY)................................................................................................................61
D. RÈGLES DE MISE À JOUR ET DE SUPPRESSION (RULES)..............................................................................................................62
E. SAUVEGARDE DU JOINDEF...................................................................................................................................................63
III. LA PHASE D'EXÉCUTION..........................................................................................................................................64
A. LE MODE APPEND..............................................................................................................................................................64
B. LE MODE RETRIEVE............................................................................................................................................................65
C. LE MODE UPDATE..............................................................................................................................................................66
IV. SYNOPTIQUE DE JOINDEFS......................................................................................................................................67
VIFRED..................................................................................................................................................................................68
I. PRÉSENTATION DE VIFRED........................................................................................................................................69
A. LES COMPOSANTS DES GRILLES VIFRED..................................................................................................................................70
.................................................................................................................................................................................................73
F. LA SAUVEGARDE DE LA GRILLE.............................................................................................................................................96
III. LA PHASE D'EXÉCUTION..........................................................................................................................................97
ANNEXES..............................................................................................................................................................................98
Ingres
LE MENU INGRES
Les outils Ingres offrent à l'utilisateur un moyen simple et convivial d'accéder aux
données d'une base. Ils permettent, pour des opérations courantes sur les données, de se
dispenser du SQL et d'améliorer la présentation des résultats.
Pour lancer le menu Ingres, utiliser la commande ‘ingmenu’ depuis l’invite du système
d’exploitation.
Validation de la sélection :
Select (F16)
ou
touche Entrée.
Shell Accès à l’invite du système. Taper exit pour revenir au menu INGRES.
Ingres
LES TABLES
L'utilitaire tables permet de créer des tables dans une base de données de façon
beaucoup plus convivale qu'en SQL. Mais, attention, toutes les caractéristiques des
tables ne sont pas gérées par cet outil (ex : les permissions) et certaines opérations sont
impossibles (ex : modification de la structure d'une table).
Help Aide.
Lors de la création d’une table, l’utilisateur doit d’abord nommer cette table, puis
renseigner les différentes colonnes du tableau pour chacun des attributs :
Defaults Valeur par défaut des attributs n'acceptant pas de valeur nulle.
with default = Valeur (ListChoices possible)
not default = Null
valeur par défaut = Null
Help Aide.
• 24 caractères maxi.
• Le premier caractère est une lettre ou un souligné.
• Caractères suivants : lettres, chiffres ou _ @ # $
• Eviter les caractères accentués.
• Options de ListChoices :
Help Aide.
Nota : Pour les attributs de type char ou varchar, ne pas oublier de remplacer le mot
length par une valeur numérique indiquant la longueur de l’attribut.
Cette opération se fait automatiquement lorsque l’on quitte l’écran de création avec End
(PF3)
Nota : Toujours se souvenir avant de sauvegarder une table qu’il sera ensuite
impossible de la modifier.
Si dans la structure de la table, vous choisissez de créer une clé constituée d'un ou
plusieurs attributs, le système propose de gérer l'unicité de cette clé.
• Clé Not Unique Ingres acceptera les enregistrements ayant même valeur de clé.
Pour importer des données provenant d'un fichier externe, il faut utiliser l'instruction
SQL : COPY TABLE.
Cette commande permet de charger dans une table le contenu d'un fichier externe
(importation) ou de décharger une table dans un fichier externe (exportation).
Syntaxe :
La clause with La liste d'options possibles est précisée dans le tableau suivant :
formats
vchar(0)
les données sont brutes.
d0delim
en export, ignore la colonne et insère le délimiteur.
en import, ignore la donnée jusqu'au délimiteur.
dn
en export, insère :
n fois le nom de la colonne associée.
si la colonne est un délimiteur, insère n fois le délimiteur.
en import, ignore les n positions.
Les délimiteurs
comma (virgule)
nl (new line)
tab
b1Dudragnebbbb$125000.00etudesbbbbNEN/Abbbbb27-nov-1978b3
12Steinerbbbbb$680000.00adminbbbbbNODudragne27-nov-1978b2
1,Dudragne,$125000.00,etudes,NE,N/A,27-nov-1978,3
12,Steiner,$680000.00,admin,NO,Dudragne,27-nov-1978,2
b1Dudragnebbbb$125000.00etudesbbbbNEN/Abbbbb27-nov1978b3
12Steinerbbbbb$680000.00adminbbbbbNODudragne27-nov-1978b2
1,Dudragne,$125000.00,etudes,N/A,27-nov-1978,3
12,Steiner,$680000.00,admin,Dudragne,27-nov-1978,2
Copie binaire
Syntaxe :
Non portable.
Ingres
QUERY BY FORMS
Outil d’accès aux données de la base à travers des menus en mode plein-écran.
- Interrogation (Select)
- Suppression (Delete)
- Ajout (Insert)
Permet d'utiliser des liens entre plusieurs tables d’une même base. (JoinDefs).
Les 4 opérations précédentes peuvent être effectuées sur les 3 types d'objets
suivants :
1. La phase de définition :
Tables
JoinDefs
QbfNames
2. La phase d'exécution :
A. Choix de l'objet
C'est à partir de cet écran que l'on choisit l'objet sur lequel travailler :
Un JoinDef : grille écran par défaut permettant de travailler sur plusieurs tables
jointes.
Une Table : grille écran par défaut permettant de travailler sur une seule table.
La seule différence est l'option GO (Query dans l'outil Tables) qui permet de
lancer la phase d'exécution après avoir choisi le mode d'affichage des données de la
table :
A. Le mode Append
Ce mode permet d'ajouter des données à une ou plusieurs tables selon l'objet
choisi.
Dans les deux cas, à chaque validation de saisie, la grille de saisie est remise à
blanc.
B. Le mode Retrieve
Go, puis avec la commande Next, affichage des enregistrements suivants dans la
sélection.
- En mode SimpleFields QBF génère un AND entre les différents critères saisis.
- En mode TableField QBF génère un AND entre les critères d'une même ligne du
tableau et un OR entre les critères de différentes lignes.
Nota : Pour rechercher une valeur nulle, il faut utiliser comme critère de sélection le
signe = seul.
Cette option propose la grille écran vierge dans laquelle vont être saisis le ou les
critères de tri désirés.
Le tri s'effectuera d'abord sur le champ désigné par le nombre 1 puis, le cas
échéant, sur le champ désigné par le nombre 2, etc…
Nota : Par défaut le tri est croissant. Pour un tri décroissant, faire suivre de la lettre 'd'
le numéro de tri attribué à un champ.
Exemple d'utilisation :
Ici les données seront d'abord triées par ordre croissant de la référence région puis
par ordre décroissant du nom de cru.
C. Le mode Update
Entrer directement les nouvelles données pour une création. (Possible uniquement
en mode TableField)
Après avoir modifié, supprimé ou ajouté des données vous avez le choix entre :
Ingres
JOINDEFS
I. Présentation du JoinDef
A. Définition
Un Join Definition est un objet cible de QBF basé sur la jointure de deux ou
plusieurs tables. Ces tables sont reliées entre elles par des attributs communs aussi
appelés critères de jointure.
Une fois créé, le JoinDef se comporte comme un objet unique et ceci de façon
totalement transparente pour l'utilisateur.
Nota : On s'aperçoit donc qu'il faut au moins une table master dans un JoinDef.
1. La présentation Master/Detail
2. La présentation Master/Master
Dans cette présentation les informations des deux tables sont représentées comme
s'il s'agissait d'une seule table. Elles sont par défaut affichées sous forme de champ
tabulaire mais elles peuvent aussi être affichées sous forme de champs simples.
Joindefs est le seul outil Ingres à ne pas posséder de commande directe depuis le
système d'exploitation. L'accès peut donc se faire :
Après avoir donné un nom pour le nouveau JoinDef, le curseur se positionne dans
le tableau.
Dans la première colonne, doit être saisi le rôle de la table dans le JoinDef :
Master /M
Detail / D
Dans la colonne Table Name, saisissez le nom complet de la table (ou utilisez
ListChoices). La colonne Owner sera complétée automatiquement. La colonne
abbréviation est optionnelle mais peut se montrer utile si de nombreux joints sont à
définir manuellement dans l'étape suivante.
Schéma de la base :
Tables Roles
Client MASTER
Facture Detail
Tables Roles
Client MASTER
Facture Detail
Detail Detail
Tables Roles
Facture MASTER
Client MASTER
Detail Detail
Tables Roles
Vin MASTER
Detail Detail
Facture Detail
Client Detail
Après la saisie de l'écran principal, pensez à vérifier les jointures, qui ont été
faites automatiquement par Ingres, avec la commande Joins.
B. Les jointures
Dans le premier tableau de cet écran apparaissent les champs composant les
jointures opérées par Ingres.
Cet écran permet de déterminer pour chacune des tables du JoinDef quels seront
les champs à afficher. On peut donc ici supprimer de l'affichage des champs considérés
comme inutiles.
Les champs précédés d'une * sont des champs de jointure. Ils ne peuvent pas être
supprimés de l'affichage. Ces champs communs à deux tables apparaîtront toujours dans
la table Master et pas dans la table Detail.
Ces valeurs par défaut sont bien sûr modifiables selon les règles de gestion à
appliquer.
E. Sauvegarde du JoinDef
A. Le mode Append
Saisir les données, sans oublier de renseigner les champs de type not null.
B. Le mode Retrieve
C. Le mode Update
Le mode Update permet d'apporter des modifications à la fois sur la table Master
et sur la table Detail. La modification du champ de jointure ne pourra se faire que si
l'autorisation en a été donnée lors de la construction du JoinDef.
La commande Master supprime l'enregistrement dans la table Master et, selon les
règles indiquées en phase de définition du JoinDef, supprime ou non les enregistrements
de la table Detail.
Ingres
VIFRED
I. Présentation de Vifred
Vifred offre également la possibilité d'ajouter aux grilles des champs calculés,
ainsi que des outils de protection et de contrôle des zones de saisie et d'affichage.
Les trims ou libellés qui servent à afficher de manière fixe des instructions, des
informations ou des éléments de présentation.
Les SimpleFields ou champs simples qui peuvent recevoir ou afficher une seule
valeur à la fois.
Row ou ligne, c'est à dire l'ensemble des Data windows d'une même ligne.
L'accès à Vifred se fait soit à partir de Ingmenu en choisissant l'option Forms, soit
depuis le système d'exploitation en exécutant la commande :
vifred nombase
Après avoir choisi l'option Create au menu principal, ingres affiche l'écran
suivant :
Blank : travail à partir d'un écran vierge. Attention, dans ce cas aucun accès aux
données de la base ne sera possible. Cette option est réservée pour la construction de
menus ou d'écrans d'aide destinés à des applications ABF/VISION.
Table : travail à partir d'une grille par défaut générée par QBF pour une table
donnée.
JoinDef : travail à partir d'une grille par défaut générée par QBF pour un JoinDef
donné.
Dans les 2 derniers cas, il faudra donc donner soit le nom de la table, soit le nom
du JoinDef à utiliser. La commande ListChoices permet d'afficher la liste des tables ou
des JoinDefs de la base.
Ingres affiche alors la grille-écran par défaut générée par QBF. Cette grille est
identique à celle générée lors de l'exécution du JoinDef. Les champs de la table Master
apparaissent sous forme de champs simples, ceux de la table Detail sous forme de
tableau.
Le champ commun aux 2 tables (ref_cru) apparaît en inverse-vidéo et sous forme
de champ simple (toujours du coté de la table Master).
Dans notre grille exemple nous voulons supprimer le trim "CRU Table" :
Attention : La procédure est la même pour tous les objets de la grille. Ne pas
oublier donc qu'un champ tabulaire est un objet à part entière. La commande Delete
utilisée alors que le curseur se trouve à un endroit quelconque d'un TableField supprime
le champ tabulaire entier.
En cas de mauvaise utilisation de la commande Delete, penser à la commande
Undo qui annule la dernière opération.
Nous voulons maintenant à la place de "CRU Table" un titre pour notre grille.
Nous allons donc créer un nouveau trim.
Commande Create.
Commande Trim.
En bas à droite de l'écran les mots 'input[OVSTRK]' vous indiquent que vous êtes en
mode de saisie en surimpression.
Les attributs d'une boîte ou d'une ligne sont identiques à ceux d'un trim à
l'exception du Underline (souligné).
La commande GetTableDef permet d'insérer dans le champ tabulaire tous les attributs
d'une table donnée.
Un champ peut avoir une valeur calculée depuis une formule donnée sous Vifred.
Cela permet donc d'afficher des informations ne provenant pas des tables de la base.
Les champs calculés peuvent être des champs simples ou des colonnes de champ
tabulaire.
La formule peut contenir :
des constantes
d'autres valeurs de la grille-écran
des aggrégats sur les colonnes d'un champ tabulaire
Restrictions :
Un champ simple ne peut pas référencer une seule ligne d'un tableau. Seules les
opérations concernant toutes les lignes d'une colonne d'un champ tabulaire sont
possibles.
Une colonne calculée d'un champ tabulaire ne peut pas référencer un champ
simple. Seule des opérations sur d'autres colonnes du tableau sont autorisées.
Saisir Yes dans Derived, puis entrer la formule dans le champ Derivation
Formula.
Notez que le nom du tableau est cité pour chaque référence à une de ses colonnes.
D'où l'intérêt de raccourcir ce nom.(Voir Conseil page 86 )
Le nom interne correspond au titre donné précédemment. (il peut être modifié).
Notez le [*] suivant le nom du champ tabulaire qui indique que l'on prend en compte la
totalité des lignes du tableau.
COUNT(detailtbl[*].colonne)
SUM(detailtbl[*].colonne)
AVG(detailtbl[*].colonne)
MAX(detailtbl[*].colonne)
MIN(detailtbl[*].colonne)
Champs simples :
(champ1 + champ2) / 2
champ1**2
(champ1 – champ2) * (champ3 – champ4)
SUM(detailtbl[*].colonne)
champ tabulaire :
(detailtbl.colonne1 + detailtbl.colonne2) / 2
detailtbl.colonne1 * detailtbl.colonne2
detailtbl.colonne1 * '0,9'
Il est possible avec VIFRED d'imposer un contrôle de saisie des données en modes
APPEND ou UPDATE. Ce contrôle est appelé contrôle de validation (Validation
check).
Si les données saisies par l'utilisateur sont invalides, un message d'erreur, également
programmé sous Vifred sera affiché.
Attention : Pour que le contrôle de saisie fonctionne correctement sur les champs de
type caractère, il faut que le data type soit 'c' comme sur l'écran ci-dessus. En effet, seul
ce data type ne gère pas les caractères de contrôle (tabulation, retour-chariot, …)
Nota : Lors de l'utilisation de LIKE, les caractères génériques sont ceux du SQL:
_ pour un caractère quelconque
% pour une chaîne de caractères quelconques.
Les éléments entre crochets ("[]") composent une liste dans laquelle il faudra choisir
une valeur.
Les clauses de validation peuvent être reliées par les opérateurs logiques AND, OR et
NOT. Par exemple : age >=18 AND age <=65
On peut regrouper des clauses de validation en utilisant des parenthèses. Par exemple :
(age IS NULL) or (age >= 18)
F. La sauvegarde de la grille
Dans le catalogue des forms, après avoir sélectionné la grille désirée, exécuter la
commande Go.
Cette commande fait appel à QBF pour exécuter la grille-écran.
ANNEXES
Integer1 -f6
Smallint -f6
Integer -f13
Float4 -n20.3
Float -n20.3
Varchar(n) cn
Char(n) cn
Money -"$---------------.nn"
Date c25
Format Signification
c10 10 caractères
1 année 1901 ou 01
2 mois February ou Feb ou 02
3 jour du mois 03 ou 3
4 heure 04 ou 16
5 minute 05 ou 5
6 seconde 06 ou 6
7 jour de la semaine Sunday
d”3/2/01” 24/6/98