Vous êtes sur la page 1sur 101

Ingres Les outils

Table des matières


TABLE DES MATIÈRES......................................................................................................................................................1

LE MENU INGRES................................................................................................................................................................4

I. CHARGEMENT DU MENU INGRES.............................................................................................................................7

II. UTILISATION DU MENU INGRES................................................................................................................................8

III. OUTILS ACCESSIBLES À PARTIR DU MENU INGRES.........................................................................................9

IV. LES OPTIONS DU MENU INGRES...............................................................................................................................9

V. SYNOPTIQUE DES COMMANDES DU MENU INGRES.........................................................................................10

LES TABLES.........................................................................................................................................................................11

I. LE CATALOGUE DES TABLES.....................................................................................................................................12

II. LA CRÉATION D’UNE TABLE....................................................................................................................................14


A. UTILISATION DE L’OPTION LISTCHOICES................................................................................................................................16
B. SAUVEGARDE DE LA STRUCTURE DE LA TABLE :.......................................................................................................................17
C. DÉTERMINATION DU TYPE DE CLÉ..........................................................................................................................................18
III. EXAMEN D’UNE TABLE.............................................................................................................................................19

IV. CHARGER UNE TABLE...............................................................................................................................................22

V. SYNOPTIQUE DES COMMANDES DE L'OUTIL TABLES.....................................................................................28

QUERY BY FORMS............................................................................................................................................................29

I. PRÉSENTATION DE L’OUTIL QBF.............................................................................................................................30


A. LES TROIS CATÉGORIES D’OBJETS UTILISÉS:.............................................................................................................................30
B. LES DEUX PHASES DE QBF..................................................................................................................................................31
1. La phase de définition :............................................................................................................................................31
2. La phase d'exécution :..............................................................................................................................................31
II. LA PHASE DE DÉFINITION.........................................................................................................................................32
A. CHOIX DE L'OBJET..............................................................................................................................................................32
B. EXEMPLE DU TRAVAIL À PARTIR D'UNE TABLE.........................................................................................................................33
III. LA PHASE D'EXÉCUTION..........................................................................................................................................34
A. LE MODE APPEND..............................................................................................................................................................34
1. Utilisation du mode Append en SimpleFields...........................................................................................................35
2. Utilisation du mode Append en TableField..............................................................................................................35
B. LE MODE RETRIEVE............................................................................................................................................................42
1. Les critères de sélection............................................................................................................................................44
2. Utilisation du mode Retrieve en SimpleFields..........................................................................................................45

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 1/101


Ingres Les outils

3. Utilisation du mode Retrieve en TableFields...........................................................................................................45


4. Le tri des données affichées......................................................................................................................................46
C. LE MODE UPDATE..............................................................................................................................................................48
IV. SYNOPTIQUE DE QBF.................................................................................................................................................50

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

II. LA PHASE DE DÉFINITION.........................................................................................................................................74


A. LA CRÉATION D'UNE NOUVELLE GRILLE..................................................................................................................................75
B. MANIPULATIONS DES TRIMS ET DES ENCADREMENTS.................................................................................................................78
1. La suppression d'un objet.........................................................................................................................................78
2. La création d'un trim................................................................................................................................................78
3. Le déplacement d'un objet........................................................................................................................................79
4. La création d'une ligne ou d'un cadre......................................................................................................................80
5. La modification d'un trim.........................................................................................................................................80
5.1. Modification du contenu du trim.......................................................................................................................................80
5.2. Modification des attributs d'un trim...................................................................................................................................81
6. La modification d'une boîte ou d'une ligne...............................................................................................................82
6.1. Modification de la taille d'une boîte ou d'une ligne...........................................................................................................82
6.2. Modification des attributs d'une boîte ou d'une ligne.........................................................................................................82
C. MANIPULATIONS DES CHAMPS...............................................................................................................................................83
1. La modification d'un champ simple..........................................................................................................................83
1.1. Modification du titre d'un champ simple...........................................................................................................................83
1.2. Modification du format d'affichage d'un champ simple.....................................................................................................83
1.3. Modification des attributs d'un champ simple...................................................................................................................84
2. La modification d'un champ tabulaire......................................................................................................................86
D. CRÉATION D'UN CHAMP CALCULÉ..........................................................................................................................................88
1. Ajouter un champ calculé dans un champ tabulaire................................................................................................89
2. Ajouter un champ simple calculé..............................................................................................................................91
3. Les différentes possibilités de calculs.......................................................................................................................92
E. LE CONTRÔLE DE VALIDATION (VALIDATION CHECK)...............................................................................................................93

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 2/101


Ingres Les outils

F. LA SAUVEGARDE DE LA GRILLE.............................................................................................................................................96
III. LA PHASE D'EXÉCUTION..........................................................................................................................................97

ANNEXES..............................................................................................................................................................................98

I. LES FORMATS D'AFFICHAGE PAR DÉFAUT DE INGRES...................................................................................99

II. LES DIFFÉRENTS FORMATS D'AFFICHAGE D'INGRES...................................................................................100

III. LES FORMATS D'AFFICHAGE DES DATES.........................................................................................................101

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 3/101


Ingres Les outils

Ingres

LE MENU INGRES

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 4/101


Ingres Les outils

Présentation du SGBDR INGRES

INGRES est un système de gestion de bases de données relationnelles


comparable à des produits comme ORACLE, SYBASE ou INFORMIX.
L’interlocuteur direct de la base de données est le serveur de données.
Celui-ci ne comprend qu’un seul langage : le SQL.

Il sert d’intermédiaire entre la base de données et les diverses applications qui


veulent un accès aux données de cette base.

3 types d’applications Ingres peuvent accéder aux données de la base :

. Les applications personnalisées : développées avec ABF/VISION, OPENROAD


ou un langage de 3ème génération.

. Les outils Ingres, avec notamment QBF et RBF.

. Les interfaces langages de requêtes (SQL et QUEL)

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 5/101


Ingres Les outils

SCHEMA GENERAL DE INGRES.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 6/101


Ingres Les outils

I. Chargement du menu Ingres

Pour lancer le menu Ingres, utiliser la commande ‘ingmenu’ depuis l’invite du système
d’exploitation.

Donner ensuite le nom de la base à connecter.

Nota : On peut également utiliser la syntaxe suivante :


ingmenu base

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 7/101


Ingres Les outils

II. Utilisation du menu Ingres

Utilisation des touches flêchées.


ou
Utilisation de l’initiale de l’option (T F J R A Q).

Validation de la sélection :
Select (F16)
ou
touche Entrée.

Nota : On peut également accéder directement à l’outil désiré en donnant depuis


l’invite du sytème d’exploitation le nom de l’outil suivi du nom de la base.
Exemples :
vifred viticole
tables viticole

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 8/101


Ingres Les outils

III. Outils accessibles à partir du menu Ingres

Tables Création et consultation de la structure des tables de la base.

Forms Personnalisation des grilles d’écran.

Joindefs Jointures entre tables.

Reports Personnalisation d’états. *

Applications Accès au générateur d’applications VISION. *

Queries Accès aux langages SQL, QUEL et à QBF.

* Non traité dans ce cours.

IV. Les options du menu Ingres

Select Validation de l’option choisie. (ou Entrée).

Shell Accès à l’invite du système. Taper exit pour revenir au menu INGRES.

Help Appel à l’aide contextuelle d’INGRES.

End Retour à l’écran précédent. Ici le système d’exploitation.

Quit Quitter le menu INGRES. Retour au système d’exploitation.

Nota : Les appellations des touches de fonctions dépendent du type de terminal.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 9/101


Ingres Les outils

V. Synoptique des commandes du menu Ingres

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 10/101


Ingres Les outils

Ingres

LES TABLES

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 11/101


Ingres Les outils

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).

I. Le catalogue des tables

Au lancement de l’outil Tables, Ingres propose un catalogue des tables


appartenant à la base connectée.
Ce catalogue est présenté sous forme de tableau comportant 3 colonnes :

Name Nom de la table.

Owner Propriétaire de la table.

Type table ou view.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 12/101


Ingres Les outils

Les options du menu TABLES

Create Création d’une nouvelle table.

Destroy Destruction d’une table.

Examine Examiner la structure d’une table.

Query Lancement de QBF pour accéder aux données de la table.

Report Exécution d’un état par défaut.

Help Aide.

End/Exit Retour au menu précédent.

Nota : L'outil Tables ne permet pas de modifier la structure d’une table, ni de la


renommer.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 13/101


Ingres Les outils

II. La création d’une table

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 :

Column Name Nom de l’attribut.

Data Type Type (char, smallint, float, money, date, …).


Possibilité d'utiliser la commande ListChoices.

Key # N° d’ordre de l’attribut dans la clé.

Nulls Précise si l'attribut admet ou non des valeurs nulles.


with null = Yes
not null = No
valeur par défaut = Yes

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

Nota : Un attribut appartenant à une clé est toujours not null.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 14/101


Ingres Les outils

Les options de Create

Insert Insère un nouvel attribut (avant la ligne courante).

Delete Supprime l’attribut courant (vidéo inverse).

Blank Supprime tous les attributs.

Move Déplacement d’un attribut.

GetTableDef Insertion de tous les attributs d’une table existante.

EditDefaults Permet d’éditer la valeur par défaut d’un attribut.

ListChoices Permet de choisir le Data Type dans une liste.

Help Aide.

Cancel Retour à l’écran précédent sans sauvegarde de la table.

End Sauvegarde de la table et retour à l’écran précédent.

Contraintes pour les noms de tables et d’attributs :

• 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.

Limites des tables :

• 300 attributs au plus.


• Longueur maximale d’une ligne : 2008 octets.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 15/101


Ingres Les outils

A. Utilisation de l’option ListChoices

• Sélection du type de l’attribut à l’aide des touches de direction.

• Options de ListChoices :

Select Validation du choix.

Cancel Quitter la liste sans faire de choix.

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 16/101


Ingres Les outils

B. Sauvegarde de la structure de la table :

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 17/101


Ingres Les outils

C. Détermination du type de clé

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é Unique Ingres refusera l’insertion dans la table de deux


enregistrements ayant même valeur de clé (cas le plus fréquent).

• Clé Not Unique Ingres acceptera les enregistrements ayant même valeur de clé.

La nouvelle table apparaît maintenant dans le catalogue des tables de la base.


Possibilité de sélectionner cette table pour visualiser sa structure ou pour accéder
aux données qu’elle contient (une fois ces données entrées dans la table).

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 18/101


Ingres Les outils

III. Examen d’une table

Cet écran permet de consulter la structure d'une table.

Paramètres de l’option Examine

Owner Propriétaire de la table.

Row width Longueur d’un enregistrement.

Columns Nombre d’attributs.

Rows Nombre d'enregistrements.

Table Type Table ou View.

Storage Structure Type de stockage : Heap, Btree, Isam ou Hash.

Pages/Overflow Nombre de pages et de pages de débordement.

Journaling Procédé de journalisation utilisé.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 19/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 20/101


Ingres Les outils

Options de la commande Examine :

NewTable Examen d’une autre table.

ViewDefaults Affichage des valeurs par défaut prévues à la construction de


la table.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 21/101


Ingres Les outils

IV. Charger une table

Le chargement d'une table peut se faire de 2 façons :

- Saisie des enregistrements.


- Importation de données dans la table.

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 :

copy [table] tablename


([columnname = format [with null [(value)]]
{,columnname = format [with null [(value)]]})
into | from 'filename'
with clause

Le fichier (en entrée ou en sortie) peut être de format fixe ou variable.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 22/101


Ingres Les outils

with null [(value)]


valeur de substitution à une donnée non renseignée et dont la colonne est définie
nullable (export).
chaîne de caractères devant être interprétée comme une valeur nulle dans la table
(import).
obligatoire en export s'il existe des valeurs nulles.

La clause with La liste d'options possibles est précisée dans le tableau suivant :

on_error = terminate | continue continue permet à la commande copy de


continuer son exécution même en cas d'erreur
de conversion. terminate est l'option par
défaut.
error_count = n précise le nombre d'erreurs à utiliser avec
l'option on_error = terminate.
1 est la valeur par défaut.
rollback = enabled | disabled n'a de sens qu'en import.
enabled permet de n'importer aucun des
enregistrements si la commande copy
s'interrompt.
disabled permet d'importer une partie des
enregistrements même si une erreur intervient.
enabled est l'option par défaut.
log = 'filename' permet de récupérer les enregistrements ayant
posé problème.
à utiliser avec l'option on_error = continue.

Les différentes options seront séparées par une virgule.

formats

Type de données standards SQL


format binaire.
char(0), c0
utilise la définition de la colonne dans la base et remplit les caractères non
significatifs avec du blanc (à gauche pour les numériques, à droite pour les
caractères).
varchar(0)
ajoute, devant la valeur, la longueur effective de la donnée (cinq positions
réservées).

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 23/101


Ingres Les outils

vchar(0)
les données sont brutes.

Lorsqu'un délimiteur suit le format char(0), c0, varchar(0), vchar(0) :


en export, insère le délimiteur après la donnée.
en import, lit jusqu'au délimiteur.

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

En import, la commande copy reconnaît par défaut les délimiteurs suivants :

comma (virgule)
nl (new line)
tab

En export, le délimiteur doit être spécifié.

pas de délimiteur par défaut.

Liste des délimiteurs reconnus :


comma (virgule)
nl (new line)
tab
sp (espace)
colon (:)
dash (-)
lparen,rparen (parenthèse droite ou gauche)
caractère quelconque (syntaxe particulière à respecter)

Utilisation possible du caractère \ si le délimiteur est présent dans le fichier.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 24/101


Ingres Les outils

Exemple de chargement : Importation

Import à partir d'un fichier de format fixe

Structure du fichier en entrée :

b1Dudragnebbbb$125000.00etudesbbbbNEN/Abbbbb27-nov-1978b3
12Steinerbbbbb$680000.00adminbbbbbNODudragne27-nov-1978b2

Syntaxe de l'ordre copy :

copy table emp (


mat = char(2),
nom = char(8),
salaire = char(14),
dept = char(10),
xxx = d2,
mgr = char(8) with null ('N/A'),
dat_entree = char(11),
nb_enf = char(2),
nl = d1)
from 'fichier1'

Import à partir d'un fichier de format variable.

Structure du fichier en entrée :

1,Dudragne,$125000.00,etudes,NE,N/A,27-nov-1978,3
12,Steiner,$680000.00,admin,NO,Dudragne,27-nov-1978,2

Syntaxe de l'ordre copy

copy table emp (


mat = vchar(0),
nom = vchar(0),
salaire = vchar(0),
dept = vchar(0),
xxx = d0,
mgr = vchar(0) with null ('N/A'),
dat_entree = vchar(0),
nb_enf = vchar(0)nl)
from 'fichier1')

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 25/101


Ingres Les outils

Exemple de déchargement : Exportation

Exportation dans un fichier de format fixe.

Syntaxe de l'ordre copy :

copy table emp (


mat = char(2),
nom = char(8),
salaire = char(14),
dept = char(10),
mgr = char(8) with null ('N/A'),
dat_entree = char(11),
nb_enf = char(2),
nl = d1)
into 'fichier1'

Structure du fichier en sortie :

b1Dudragnebbbb$125000.00etudesbbbbNEN/Abbbbb27-nov1978b3
12Steinerbbbbb$680000.00adminbbbbbNODudragne27-nov-1978b2

Exportation dans un fichier de format variable

Syntaxe de l'ordre copy :

copy table emp (


mat = vchar(0)comma,
nom = vchar(0)comma,
salaire = vchar(0)comma,
dept = vchar(0)comma,
mgr = vchar(0)comma with null ('N/A'),
dat_entree = vchar(0)comma,
nb_enf = vchar(0)nl)
into 'fichier1'

Structure du fichier en sortie :

1,Dudragne,$125000.00,etudes,N/A,27-nov-1978,3
12,Steiner,$680000.00,admin,Dudragne,27-nov-1978,2

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 26/101


Ingres Les outils

Copie binaire

Syntaxe :

copy [table] nomtable () from | into 'filename'

Copie toutes les colonnes en format binaire.

Non portable.

Tables identiques en entrée et en sortie.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 27/101


Ingres Les outils

V. Synoptique des commandes de l'outil Tables

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 28/101


Ingres Les outils

Ingres

QUERY BY FORMS

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 29/101


Ingres Les outils

I. Présentation de l’outil QBF

Outil d’accès aux données de la base à travers des menus en mode plein-écran.

Permet de réaliser sur les données les opérations suivantes :

- Interrogation (Select)

- Mise à jour (Update)

- Suppression (Delete)

- Ajout (Insert)

Permet d'utiliser des liens entre plusieurs tables d’une même base. (JoinDefs).

A. Les trois catégories d’objets utilisés:

Les 4 opérations précédentes peuvent être effectuées sur les 3 types d'objets
suivants :

Les Tables Objets élémentaires de la base.

Les JoinDefs Objets obtenus à partir de plusieurs tables liées entre


elles par un critère de jointure.

Les QbfNames Objets personnalisés obtenus à partir d’une Table ou


d’un JoinDef, qui fournissent des masques de saisie ou
d’interrogation. Les QbfNames sont générés
automatiquement lors de la sauvegarde d’une grille-
écran dans l’utilitaire Forms.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 30/101


Ingres Les outils

B. Les deux phases de QBF

1. La phase de définition :

Précise à QBF l’objet sur lequel travailler :

Tables

JoinDefs

QbfNames

2. La phase d'exécution :

Définit le mode de travail sur cet objet :

Mode APPEND Ajout de données

Mode RETRIEVE Consultation de données

Mode UPDATE Mise à jour et suppression de données

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 31/101


Ingres Les outils

II. La phase de définition

A. Choix de l'objet

C'est à partir de cet écran que l'on choisit l'objet sur lequel travailler :

Un QBFName : grille écran personnalisée.

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 32/101


Ingres Les outils

B. Exemple du travail à partir d'une table

Un écran semblable à celui de l'outil TABLES apparaît.

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 :

SimpleFields : Champs simples -> 1 page écran = 1 enregistrement de la table.

TableField : Champs tabulaires -> Affichage de plusieurs enregistrement dans un


tableau.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 33/101


Ingres Les outils

III. La phase d'exécution

3 modes de travail sont alors proposés :

Append : permet d'ajouter des données dans la table.

Retrieve : permet de consulter les données de la table.

Update : permet de modifier les 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.

Il suffit de remplir les champs proposés à l'écran par QBF.

Suivant le mode d'affichage choisi, l'utilisateur pourra saisir un enregistrement à


la fois (SimpleFields) ou plusieurs enregistrements en une seule opération (TableField).

Dans les deux cas, à chaque validation de saisie, la grille de saisie est remise à
blanc.

A la sortie du mode Append, QBF affiche le nombre total d'enregistrements


ajoutés.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 34/101


Ingres Les outils

1. Utilisation du mode Append en SimpleFields

2. Utilisation du mode Append en TableField

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 35/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 36/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 37/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 38/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 39/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 40/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 41/101


Ingres Les outils

B. Le mode Retrieve

Ce mode permet d'interroger les données de l'objet cible (Table, JoinDef ou


QBFName).

La consultation des informations peut être restreinte à un sous-ensemble en


fonction d'un critère de sélection.

Suivant le mode d'affichage choisi, les enregistrements sont affichés :

l'un après l'autre, grâce à l'option Next en mode SimpleFields.

en une seule fois, dans un tableau. Possibilité ici de "scrolling" dans le


champ tabulaire.

En mode SimpleFields, la consultation peut se faire de deux façons :

- Affichage du premier enregistrement de la table puis affichage des


enregistrements suivants.

- Saisie d'un ou plusieurs critères de sélection dans les champs de la grille.


Affichage du premier enregistrement correspondant à ces critères avec la commande

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 42/101


Ingres Les outils

Go, puis avec la commande Next, affichage des enregistrements suivants dans la
sélection.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 43/101


Ingres Les outils

1. Les critères de sélection

- Les opérateurs de comparaison permettent de comparer les valeurs de l'objet


interrogé à une valeur ou à un intervalle de valeurs que vous spécifiez. Ils sont
utilisables pour des valeurs numériques comme pour des valeurs alphanumériques.

Ces opérateurs sont : = , > , < , >= , >= , != ou <>

- Les caractères jokers ne peuvent s'employer que pour des valeurs


alphanumériques.

Caractères jokers : * remplace une chaîne quelconque de caractères.

? remplace un caractère quelconque.

Nota : La combinaison de certains opérateurs de comparaison et de caractères jokers


ne fonctionnent pas.
Exemple : le critère >B* ne fonctionne pas alors que le critère >BORDEAUX
fonctionne.

- Les critères de sélection de type alphanumériques doivent respecter la différence


minuscule/majuscule.

- 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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 44/101


Ingres Les outils

2. Utilisation du mode Retrieve en SimpleFields

3. Utilisation du mode Retrieve en TableFields

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 45/101


Ingres Les outils

4. Le tri des données affichées.

L'option Order permet de déterminer un tri des données sélectionnées pour


l'affichage.

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…

Les options de tri sont automatiquement validées à la sortie de l'option Order et


restent effectives jusqu'à la fin de la session QBF ou jusqu'à leur modification.

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 :

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 46/101


Ingres Les outils

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 47/101


Ingres Les outils

C. Le mode Update

Le mode Update permet de modifier, de supprimer et même d'ajouter des


données dans la base.

Avant de pouvoir modifier ou supprimer des données, il faut au préalable les


sélectionner. Les principes de sélection, de tri sont ici totalement identiques à ceux du
mode Retrieve. Une fois la sélection faite et les données affichées :

Exécuter la commande Delete pour supprimer des données.


Attention : En mode TableField possibilité de supprimer soit la ligne courante, soit
toutes les lignes.

Saisir directement les corrections pour modifier des données.

Entrer directement les nouvelles données pour une création. (Possible uniquement
en mode TableField)

Ecran de l'option Delete en mode TableField

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 48/101


Ingres Les outils

Après avoir modifié, supprimé ou ajouté des données vous avez le choix entre :

Sauvegarder les modifications avec la commande Save.

Abandonner les modifications en quittant le mode Update. L'écran suivant


s'affiche :

Si réponse = y, abandon des modifications.

Si réponse = n, retour au mode update.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 49/101


Ingres Les outils

IV. Synoptique de QBF

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 50/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 51/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 52/101


Ingres Les outils

Ingres

JOINDEFS

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 53/101


Ingres Les outils

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.

Le JoinDef va donc permettre de travailler sur plusieurs tables à partir d'une


grille-écran unique.

Toutes les opérations de recherche, de mise à jour, de suppression ou d'ajout


effectuées au travers d'un JoinDef vont donc s'adresser à toutes les tables qui composent
ce JoinDef.

B. Les différentes présentations

Les différentes présentations d'un JoinDef correspondent aux différents types de


relations qui peuvent unir deux tables :

Master/Detail correspond à une relation 1 - n

Master/Master correspond à une relation 1 - 1

Nota : On s'aperçoit donc qu'il faut au moins une table master dans un JoinDef.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 54/101


Ingres Les outils

1. La présentation Master/Detail

Cette présentation permet de visualiser pour chaque enregistrement de la table


maître tous les enregistrements correspondant de la table détail.
Dans la présentation Master/Detail, par défaut, les données de la table maître
apparaissent sous forme de champs simples, celles de ou des tables détails sous forme
de champ tabulaire. Cette configuration peut être modifiée.

2. La présentation Master/Master

Cette présentation crée une jointure simple entre deux tables.

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.

Nota : les champs de jointure apparaissent automatiquement en inverse-vidéo.

C. L'accès à l'outil JoinDefs

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 :

Soit à partir d'INGMENU

Soit en exécutant QBF et en choisissant l'option JoinDefs. En effet, l'outil


JoinDefs n'est qu'une sous-partie de QBF.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 55/101


Ingres Les outils

II. La phase de définition

Lorsque l'on active la commande de création d'un JoinDef, Ingres propose de


partir soit d'un écran vierge, soit d'un JoinDef existant. Cette seconde solution,
n'apportant aucune nouveauté en termes de connaissances, ne sera pas développée ici.

A. La saisie des tables composant le JoinDef

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 56/101


Ingres Les outils

Un JoinDef peut contenir jusqu'à 10 tables maximum.


Le dernier paramètre de cet écran concerne la présentation du JoinDef.
4 cas possibles :

Type de JoinDef TableField format = YES TableField format = NO

Master/Detail Affichage des données de la Affichage des données


table Master sous forme de des 2 tables sous forme
champs simples et affichage de champs simples
des données de la table Detail
sous forme de tableau
Master/Master Les données des 2 tables Les données des 2 tables
Master sont affichées dans un Master sont affichées
même tableau. sous forme de champs
simples.

Exemple : Base VITICOLE

Schéma de la base :

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 57/101


Ingres Les outils

Exemple : Liste des factures d'un client

Tables Roles
Client MASTER
Facture Detail

Exemple : Détail des factures d'un client

Tables Roles
Client MASTER
Facture Detail
Detail Detail

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 58/101


Ingres Les outils

Exemple : Détail d'une facture d'un client

Tables Roles
Facture MASTER
Client MASTER
Detail Detail

Exemple : Liste des clients d'un vin

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 59/101


Ingres Les outils

B. Les jointures

Dans le premier tableau de cet écran apparaissent les champs composant les
jointures opérées par Ingres.

ATTENTION : Ces jointures peuvent être fausses. En effet Ingres fait


automatiquement des jointures entre des champs portant le même nom et possédant les
mêmes caractéristiques.
Des jointures peuvent également manquer (deux champs qui ne portent pas le
même nom par exemple).
Il est donc parfois nécessaire de supprimer des jointures erronées ou de créer des
jointures utiles.

Lors de la saisie d'une jointure, il est possible d'utiliser l'abréviation du nom de


table donnée précédemment.
La colonne Join est complétée automatiquement par Ingres en fonction du rôle
(Master ou Detail) que joue chaque table.
Le second tableau peut servir d'aide à la saisie du précédent. Si vous ignorez le
nom des attributs de jointure, la saisie du nom de la table ou de son abréviation
(ListChoices possible) vous permet d'afficher les attributs de cette table.

Lorsque la saisie des jointures est terminée, retour à l'écran de définition du


JoinDef avec la commande End.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 60/101


Ingres Les outils

C. Choix des champs à afficher (ChangeDisplay)

La commande ChangeDisplay vous propose l'écran suivant :

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.

Attention : Il est vivement déconseillé de supprimer un champ d'un JoinDef


surtout si ce JoinDef sert à la création d'une grille d'écran personnalisée (voir chapitre
VIFRED)

La touche NextTable permet de visualiser toutes les tables du JoinDef sans


revenir à l'écran précédent.

Retour à l'écran principal et validation des modifications avec la commande End.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 61/101


Ingres Les outils

D. Règles de mise à jour et de suppression (Rules)

La commande Rules affiche l'écran suivant :

Le tableau "Update Information" permet d'autoriser ou non la modification des


attributs de jointure. Par défaut la modification est interdite.

Le tableau "Delete Information" permet d'autoriser ou non la suppression d'un


enregistrement dans l'une des tables. Attention, la suppression d'un enregistrement dans
la table Master entraîne la suppression des enregistrements correspondants dans la ou
les tables Detail.

Exemple : La suppression de la région n° 1 dans la table région, entraîne la


suppression de tous les crus de cette région dans la table cru.

Ces valeurs par défaut sont bien sûr modifiables selon les règles de gestion à
appliquer.

Retour à l'écran principal avec la commande End.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 62/101


Ingres Les outils

E. Sauvegarde du JoinDef

Depuis l'écran principal choisir la commande End

Cet écran permet de saisir 2 commentaires sur le JoinDef.

Validation de la sauvegarde avec la commande Save.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 63/101


Ingres Les outils

III. La phase d'exécution

Pour entrer en phase d'exécution du JoinDef sous QBF, choisir la commande Go


depuis le catalogue des JoinDefs. Reste ensuite à déterminer le mode de travail :
Append, Retrieve ou Update.

A. Le mode Append

Saisir les données, sans oublier de renseigner les champs de type not null.

La validation de la saisie se fait grâce à la commande Append. La grille de saisie


est alors remise à blanc.

La commande Insert permet l'insertion dans le champ tabulaire d'une nouvelle


ligne dans la table Detail.

Lorsque l'on quitte le mode Append, Ingres affiche le message suivant :

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 64/101


Ingres Les outils

Appended n master and n detail row(s)

B. Le mode Retrieve

En mode Retrieve, la consultation peut être lancée directement sur le premier


enregistrement de la table Master avec la commande Go, mais l'utilisateur peut
également saisir des critères de recherche dans les champs simples comme dans le
champ tabulaire.

La commande NextMaster permet de passer à l'enregistrement suivant dans la


table Master.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 65/101


Ingres Les outils

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.

En mode Update, si l'on utilise la commande Delete l'écran ci-dessus apparaît.

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.

La commande AllDetailRows supprime tous les enregistrements de la table


Detail.

La commande DetailRow supprime l'enregistrement sélectionné dans la table


Detail.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 66/101


Ingres Les outils

IV. Synoptique de JoinDefs

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 67/101


Ingres Les outils

Ingres

VIFRED

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 68/101


Ingres Les outils

I. Présentation de Vifred

VIFRED : VIsual FoRm EDitor

Vifred est un générateur de grilles-écrans Ingres. Il permet d'améliorer la


présentation des écrans construits par défaut sous QBF.

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.

Vifred est uniquement un outil de personalisation. Il n'offre pas la possibilité


d'accéder aux données de la base. Cet accès se fera soit par QBF qui utilisera le
QBFName associé à la grille, soit à l'aide d'une application ABF/VISION.

La personnalisation de grilles-écrans s'effectue à partir de 3 catégories d'objets :

Table TableDefault (grille par défaut générée par QBF)

JoinDef JoinDefDefault (idem)

Ecran vierge BlankForm

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 69/101


Ingres Les outils

A. Les composants des grilles Vifred

Pour construire ses grilles, Vifred utilise 2 composants de base :

Les trims ou libellés qui servent à afficher de manière fixe des instructions, des
informations ou des éléments de présentation.

Les fields ou champs qui servent à la saisie ou à l'affichage des données de la


base.

Les fields sont de 2 natures :

Les SimpleFields ou champs simples qui peuvent recevoir ou afficher une seule
valeur à la fois.

Les TableFields ou champs tabulaires qui peuvent recevoir ou afficher plusieurs


lignes à la fois et ce dans plusieurs colonnes.

Les SimpleFields sont composés de 4 éléments :

Internal name ou nom interne qui permet à Ingres d'identifier le champ et de


faire le lien entre le champ de la grille et l'attribut de la table.

Title ou titre de champ qui apparaît à l'écran.

Data Window qui est la zone de saisie ou d'affichage des données.

Attribute ou attribut correspond aux caractéristiques d'affichage ou de contrôle


du champ.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 70/101


Ingres Les outils

Les TableFields sont composés de :

TableField name qui identifie le champ tabulaire dans la grille.

Internal name pour chacune des colonnes du TableField.

Column title ou titre de colonne pour chacune des colonnes.

Row ou ligne, c'est à dire l'ensemble des Data windows d'une même ligne.

Attribute ou attribut du TableField lui-même (Nombre de lignes dans le tableau,


ligne séparatrice entre chaque enregistrement, …).

Attribute ou attribut qui correspond aux caractéristiques d'affichage ou de


contrôle de chaque colonne du tableau.

La figure page suivante présente tous ces différents éléments.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 71/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 72/101


Ingres Les outils

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 73/101


Ingres Les outils

II. La phase de définition

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

Au lancement de Vifred, affichage du catalogue des grilles et du menu principal :

Create Création d'une nouvelle grille.


Destroy Suppression d'une grille existante.
Edit Modification d'une grille.
Rename Changement de nom d'une grille.
MoreInfo Affichage des commentaires sur la grille.
Utilities Accès aux utilitaires (Compile, Print, QBFNames).
Go Accès à QBF en phase d'exécution d'une grille.
Help Aide.
End/Quit Sortie de Vifred.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 74/101


Ingres Les outils

A. La création d'une nouvelle grille

Après avoir choisi l'option Create au menu principal, ingres affiche l'écran
suivant :

Cet écran permet de sélectionner l'objet de base à personnaliser :

Duplicate : travail sur une copie de grille existante.

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é.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 75/101


Ingres Les outils

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.

Exemple : JoinDef Cru_vin.

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).

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 76/101


Ingres Les outils

Les commandes du menu de définition:

Create Création d'un Trim, Field, TableField, NewLine, Box/Line,


DuplicateField.

Delete Suppression d'un objet (quelconque) sélectionné.

Edit Mise en forme, modification de l'objet sélectionné.

Move Déplacement de l'objet sélectionné.

Undo Annulation de la dernière commande.

Order Modification de l'ordre de saisie par défaut des champs de la grille

Save Sauvegarde de la grille-écran.

FormAttr Permet de déterminer si la grille-écran est Full Screen ou Pop-up.


(Utile uniquement si la grille est destinée à une application
ABF/Vision).

Location Affiche les coordonnées du curseur.

GroupMove Déplacement d'un groupe d'objets sélectionnés.

Rules Affichage de réglettes autour de la grille-écran.

End Sortie avec ou sans sauvegarde.

Nota : Les commandes FormAttr, Location, GroupMove et Rules ne possèdent pas de


touches de fonction associées. Pour les exécuter il faudra donc positionner le curseur
sur la ligne de menu et entrer l'initiale de la commande désirée.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 77/101


Ingres Les outils

B. Manipulations des trims et des encadrements

1. La suppression d'un objet

Dans notre grille exemple nous voulons supprimer le trim "CRU Table" :

Positionnement du curseur sur un caractère quelconque du trim.

Appui sur la commande Delete. Le trim est effacé.

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.

2. La création d'un trim

Nous voulons maintenant à la place de "CRU Table" un titre pour notre grille.
Nous allons donc créer un nouveau trim.

Positionnement du curseur à la position désirée pour le trim.

Commande Create.

Commande Trim.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 78/101


Ingres Les outils

Saisie du contenu du trim.

Validation avec <MENU KEY>.

En bas à droite de l'écran les mots 'input[OVSTRK]' vous indiquent que vous êtes en
mode de saisie en surimpression.

3. Le déplacement d'un objet

Nous voulons maintenant centrer ce titre dans la grille :

Positionnement du curseur sur le trim.


Commande Move (le trim apparaît alors en inverse-vidéo).

Choix entre les options suivantes :

Place : déplace le bord gauche de l'objet à la nouvelle position du curseur.


Left et Right: déplace l'objet à la marge de gauche ou de droite.
Center : centre l'objet entre les marges.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 79/101


Ingres Les outils

Attention : Normalement la marge de droite se trouve juste à droite de


l'écran. Mais il peut arriver que cette marge se trouve très loin à droite ;
dans ce cas un centrage aura un résultat plutôt décevant.

4. La création d'une ligne ou d'un cadre

Nous souhaitons à présent encadrer notre nouveau titre :

Tout d'abord il faut insérer une nouvelle ligne au-dessus du titre :


Positionner le curseur sur la première ligne, puis choisir l'option Create puis
l'option NewLine.

Positionner le curseur sur l'un des coins de la zone à encadrer.


Exécuter la commande Create puis Box/Line.
Vifred vous demande alors de pointer sur le coin opposé.
Validation avec <MENU KEY>

5. La modification d'un trim

5.1. Modification du contenu du trim

Positionner le curseur sur le libellé à modifier puis exécuter la commande Edit


puis Trim.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 80/101


Ingres Les outils

Saisir les modifications.

Valider ces modifications avec <MENU KEY>

5.2. Modification des attributs d'un trim

Positionner le curseur sur le libellé à modifier puis exécuter la commande Edit


puis Attributes.

Les différents attributs d'un trim sont :

Reverse Video Inverse vidéo


Blinking Clignotant (sous Wtnvt : change les couleurs)
Underline Souligné
Brightness Change Sur intensité (sous Wtnvt : change les couleurs)
Color Couleur (8 au choix) (sous Wtnvt : inactif)

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 81/101


Ingres Les outils

6. La modification d'une boîte ou d'une ligne

6.1. Modification de la taille d'une boîte ou d'une ligne

Positionner le curseur sur la boîte ou la ligne à modifier.


Exécuter la commande Edit puis Resize.

Pointer sur le nouvel emplacement du coin inférieur droit de la boîte ou de la


ligne.
Valider avec <MENU KEY>.

Attention : seuls les déplacements du bord droit et du bord inférieur sont


possibles.

6.2. Modification des attributs d'une boîte ou d'une ligne

Sélectionner la boîte ou la ligne à modifier.

Exécuter la commande Edit puis Attributes.

Les attributs d'une boîte ou d'une ligne sont identiques à ceux d'un trim à
l'exception du Underline (souligné).

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 82/101


Ingres Les outils

C. Manipulations des champs

1. La modification d'un champ simple

1.1. Modification du titre d'un champ simple

Sélectionner le champ simple

Exécuter la commande Edit puis Title.

Saisir au clavier les modifications.


Si le nouveau titre est plus long que l'ancien, la saisie au dessus du data window
est possible. Celui-ci sera déplacé après la validation de la saisie.

Validation avec <MENU KEY>

1.2. Modification du format d'affichage d'un champ simple

Sélectionner le champ simple.

Exécuter la commande Edit puis DisplayFormat.

Saisir au clavier le nouveau format d'affichage.


(voir les différents formats possibles en annexe)

Valider avec <MENU KEY>.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 83/101


Ingres Les outils

1.3. Modification des attributs d'un champ simple

Sélectionner le champ simple.


Exécuter la commande Edit puis Attributes.

Les attributs d’un champ simple :

Box Field Encadrement du champ.


Keep Previous Value Conservation de la valeur précédemment saisie lors de la
réinitialisation de la grille.
Mandatory Field Saisie obligatoire.
Reverse Video Vidéo inverse.
Blinking Clignotant.
Underline Souligné.
Brightness Change Sur-intensité.
Query Only Champ utilisable en interrogation uniquement.
Force Lower Case Saisie forcée en minuscules.
Force Upper Case Saisie forcée en majuscules.
No Auto Tab Pas de passage automatique au champ suivant lorsque la saisie
du champ est complète.
No Echo Saisie en aveugle.
Display Only Champ indisponible à la saisie.
Invisible En exécution le champ n’est pas affiché.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 84/101


Ingres Les outils

Input Masking Utilisation d’un masque de saisie.


Internal Name Nom du champ dans la table

Data Type Type de donnée (différent du format d'affichage)

Nullable Si oui, le champ accepte la saisie de valeur nulle

Derived Si oui, le champ est un champ calculé. Un nouveau paramètre


va apparaître à l'écran pour permettre alors la saisie de la
formule de calcul. (Voir page )

Validation Check to Perform


Contrôle de saisie du champ. (Voir page)

Validation Error Message


Message d'erreur à afficher en cas d'échec du contrôle de
validation

Default Value Valeur par défaut pour le champ

Color Couleur du champ (de 0 à 7)

Les commandes Next et Previous permettent de passer au champ simple suivant


ou précédent. Quant à la commande MoreEdit elle ouvre une fenêtre qui simplifie la
saisie de la formule de calcul ou du contrôle de saisie.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 85/101


Ingres Les outils

2. La modification d'un champ tabulaire

Placer le curseur à un endroit quelconque du champ tabulaire.


Exécuter la commande Edit.

Paramètres d’un champ tabulaire :

Name of Table Field Nom du champ tabulaire.


- Si grille construite à partir d’une table :
= nom de la table
- Si grille construite à partir d’un JoinDef :
= detailtbl
Conseil : il est possible de raccourcir ce nom pour
faciliter son utilisation dans des formules.
Display Lines Affichage d’une ligne séparatrice.
Display Column Titles Affichage des titres de colonnes.
Number of Rows to Display Nombre de lignes dans le tableau.
Highlight Current Row Mise en inverse vidéo de la ligne courante.
Invisible Field A l’exécution le tableau est invisible.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 86/101


Ingres Les outils

Paramètres des colonnes du champ tabulaire :

Title of a column Titre de chacune des colonnes.


Column Internal Name Nom interne de chacune des colonnes.
Display Format Format d’affichage de chacune des colonnes.

La commande Insert permet d'insérer à la position du curseur une nouvelle colonne


dans le champ tabulaire.

La commande Delete supprime la colonne sélectionnée du champ tabulaire.

La commande Move permet de modifier l'ordre des colonnes dans le tableau en


déplaçant telle ou telle colonne.

La commande GetTableDef permet d'insérer dans le champ tabulaire tous les attributs
d'une table donnée.

La commande EditAttr affiche l'écran suivant :

Les différences avec les attributs d'un champ simple :

Pas d'encadrement d'une colonne d'un champ tabulaire (Box Field)

Pas de conservation de la précédente saisie (Keep Previous Value)

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 87/101


Ingres Les outils

D. Création d'un champ calculé

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 88/101


Ingres Les outils

1. Ajouter un champ calculé dans un champ tabulaire

Positionnement du curseur à l'emplacement désiré pour le nouveau champ. Puis


utilisation de la commande Insert.
Saisie du titre de la colonne puis du nom interne et du format d'affichage de la
nouvelle colonne.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 89/101


Ingres Les outils

Exécution de la commande EditAttr.

Le nom interne et le data type sont pré-renseigné, nullable est à Yes.

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 )

Un appel à l'aide depuis cet écran vous permettra, en choisissant la commande


SubTopics, puis l'option Derivation Formula Examples, de consulter des exemples de
formules de calcul qui peuvent être utilisées sous Vifred.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 90/101


Ingres Les outils

2. Ajouter un champ simple calculé

Positionner le curseur à l'endroit voulu de la grille.

Exécuter la commande Create puis Field.

Choisir ensuite l'option Title pour saisir le titre du nouveau champ.

Choisir ensuite l'option DisplayFormat pour saisir le format d'affichage.

Choisir enfin l'option Attributes

Le nom interne correspond au titre donné précédemment. (il peut être modifié).

Le data type correspond au format d'affichage renseigné auparavant.

Saisie de la formule de calcul.

Notez le [*] suivant le nom du champ tabulaire qui indique que l'on prend en compte la
totalité des lignes du tableau.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 91/101


Ingres Les outils

3. Les différentes possibilités de calculs

Les aggrégats sur des colonnes d'un champ tabulaire :

COUNT(detailtbl[*].colonne)
SUM(detailtbl[*].colonne)
AVG(detailtbl[*].colonne)
MAX(detailtbl[*].colonne)
MIN(detailtbl[*].colonne)

Calculs sur des champs de type numérique :

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'

Calcul sur des champs de type date :


'today' + '30 days'
date_commande + '1 yrs 2 mos 3 days 12 hrs 24 mins 48 secs'
date_commande – '7 days'

Pour afficher la date système :


'today' : 01/01/1998 00:00:00
'now' : 01/01/1998 10:25:36

Concaténation de champs de type caractère :


prenom + ' ' + nom

Attention : Cette possibilité ne fonctionne que si les 3 champs (nom, prenom et le


champ récepteur sont de data type : varchar)

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 92/101


Ingres Les outils

E. Le contrôle de validation (Validation Check)

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é.

Dans cet exemple le numéro d'appartement saisi devra commencer par un A


majuscule suivi de 2 chiffres quelconques.

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, …)

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 93/101


Ingres Les outils

Les différentes possiblités du contrôle de saisie

Sur les champs de type numérique :


salaire > 0
salaire IS NOT NULL
salaire <= 20000 OR (grade >= 7 AND salaire <= 30000)

Sur les champs de type caractère :


dept != "ventes"
detailtbl.loc = "NE"
chef = "Dupont" OR chef = "Durand"
code = "Q[0-9][A-Z]"
numero = "B[0-9]?-[STPMBK]*"

ident LIKE 'I_9%'


aire LIKE '%ne%'

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 chaînes de caractères sont bornées par des simples cotes.

Sur les champs de type date :


date_entree > "1-jan-1990"
detailtbl.date_confirm < "today"

Sur les champs de type money

budget > 10000

Comparaison entre champs

champ1 > champ2


champ1 IS NOT NULL AND champ2 IS NULL

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 94/101


Ingres Les outils

Comparaison à une liste de valeurs :


numero IN [25, 30, 35]
statut IN ["O", "C", "X"]
code IN ["O??", "ER?", "*9*"]

Comparaison à des valeurs d'une table Look-up :


champ1 IN table.colonne
champ1 = "" OR champ1 IN table.colonne

Syntaxe générale de la clause de validation

nom_champ1 Operateur [nom_champ2 | constante]


nom_champ1 [IS | IS NOT] NULL
nom_champ1 IN [liste | table.colonne]

Lorsque nom_champ1 est le nom interne du champ l'opérateur peut être :

=, <>, !=, >, >=, <, <=, LIKE

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)

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 95/101


Ingres Les outils

F. La sauvegarde de la grille

2 manières de sauvegarder la grille :

Utiliser la commande Save.

Utiliser la commande End, si la grille a subi des modifications, le système


propose de la sauvegarder.

A la première sauvegarde d'une grille l'écran suivant est affiché :

Saisie des commentaires (tous les deux facultatifs).

Sauvegarde de la grille avec la commande Save.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 96/101


Ingres Les outils

III. La phase d'exécution

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.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 97/101


Ingres Les outils

ANNEXES

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 98/101


Ingres Les outils

I. Les formats d'affichage par défaut de Ingres

Type de donnée Format d'affichage

Integer1 -f6

Smallint -f6

Integer -f13

Float4 -n20.3

Float -n20.3

Varchar(n) cn

Char(n) cn

Money -"$---------------.nn"

Date c25

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 99/101


Ingres Les outils

II. Les différents formats d'affichage d'Ingres

Format Signification

i4 Entier sur 4 caractères

-f4 Idem i4, le – indiquant l’alignement à gauche

+f4 Le + indiquant l’alignement à droite

f7.2 7 caractères dont 2 décimales et le point

n7.2 Idem f7.2 mais écriture scientifique si manque de place

c10 10 caractères

*c20 20 caractères centrés dans le champ

cf24.12 24 caractères sur deux lignes de 12

cf24.8 24 caractères sur trois lignes de 8

c24.12 Idem, mais avec coupure de mot possible.

ATTENTION : Ne jamais essayer de centrer des valeurs numériques. Cette opération


est acceptée par VIFRED mais la grille devient, après sauvegarde, totalement
inutilisable et irrécupérable.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 100/101


Ingres Les outils

III. Les formats d'affichage des dates

Numéro Composante de la date Format d’affichage

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

Exemple : Date saisie : 24/06/1998 14:25:00

Format d’affichage demandé Résultat obtenu

d”3/2/01” 24/6/98

d”Feb 1901” Jun 1998

d”Sunday, Feb 3” Wednesday, Jun 24

d”February, 1901” June, 1998

d”Sunday 3 February 1901” Wednesday 24 June 1998

d”03/02/1901, 04:05:06” 24/06/1998, 02:25:00

d”03/02/1901, 16:05:06” 24/06/1998, 14:25:00

c25 24/06/98 02:25:00

Pour afficher la date système dans une grille d’écran :


Créer un champ calculé.
Donner comme formule de calcul : ‘Today’ ou ‘Now’.

DMSI/ANA.BD/LCY/ le 11/10/2009 23241714.doc Page 101/101