- INS (pour INSertion) : c'est le mode qui permet de sélectionner une relation (indiquée
dans la variable table qui doit alors être positionnée) pour produire un formulaire
d'insertion d'un tuple dans celle-ci.
- MAJ (pour Mise A Jour) : c'est le mode qui permet de sélectionner une relation
(indiquée dans la variable table qui doit alors être positionnée) pour produire un
formulaire d'insertion d'un tuple dans celle-ci.
- COP (pour COPie) : ce mode permet de générer un formulaire permettant de copier la
valeur d'un attribut retourné dans une variable d'un autre formulaire
- QBE (pour Query By Example) : c'est le mode qui permet de générer un formulaire
d'interrogation "à la QBE" pour la relation sélectionnée (donnée dans la variable table
qui est donc obligatoire pour ce mode). L'interrogation se fait en saisissant les
contraintes dans les colonnes de la relation (cela s'exprime sous la forme d'un opérateur
de comparaison, = par exemple, suivi d'une constante ou d'un nom d'attribut.
- HYP (pour (HYPpertexte) : c'est le mode qui permet une navigation dans la base. Le
point de départ doit être une requête SQL de type SELECT. Le principe de la navigation
est d'interpréter les clés primaires comme donnant un accès en mode NOR au tuple
sélectionné et les clés étrangères comme donnant un accès en mode NOR au tuple
sélectionné. Les clés primaires et étrangères peuvent être soit calculées à partir du
dictionnaire de données (si la requête spécifiée porte sur une seule relation) ou bien
données dans les variables pkey et fkey. Pour distinguer à l'affichage les clés primaires
et étrangères, nous utilisons la couleur bleu dans les boutons représentant les clés
primaires et la couleur rouge pour les clés secondaires. Lors du premier appel en mode
HYP, les boutons permettant la génération des formulaires d'interrogation type QBE et
d'insertion d'un tuple sont générés.
pkey, obligatoire en mode HYP si la requête porte sur plus d'une relation (sauf si fkey est
présente). La valeur de pkey est une liste (d'au moins un élément) de couples nom d'attribut,
nom de relation. Le séparateur entre attribut et relation est le caractère « : » et le séparateur
entre couples est le caractère « ; ».
Par exemple NUM:VINS;NVIN:RECOLTES .
Il faut noter qu'il ne faut pas de caractères blancs et que les noms d'attributs et de relations
doivent être en majuscules.
Les attributs et relations cités dans la variable pkey doivent apparaitre dans la requête donnée
dans la variable sqlstatement. Celle ci peut être multi-relations (c'est pourquoi un nom de
relation est associé au nom de l'attribut).
Seules les clés mono-attributs peuvent être utilisées. De même, l'ordre d'énumération des
couples doit être conforme à celui des attributs dans la clause SELECT de la requête.
fkey, obligatoire en mode HYP si la requête porte sur plus d'une relation (sauf si pkey est
présente). La valeur de fkey est une liste de triplets (d'au moins un élément) nom d'attribut (dans
la relation source), nom de relation cible, nom d'attribut dans la relation cible. Le séparateur à
l'intérieur du triplet est le caractère « : » et le séparateur de triplets est le caractère « ; ».
Si on veut indiquer que l'attribut NVIN de la requête est clé étrangère sur l'attribut NUM de la
relation VINS, on notera :
NVIN:VINS:NUM .
Si par hasard, le nom de l'attribut cible est le même que celui de l'attribut source, il peut être
omis (on aura alors un couple et non un triplet).
On retrouve également les contraintes de pkey portant sur les caractères majuscules et blancs,
l'appartenance des attributs sources à la requête, le fait que la clé doit être mono-attribut ainsi
que l'ordre d'écriture des triplets.
table, obligatoire en mode INS ou en mode HYP si pkey et fkey ne sont pas présentes. Par
exemple RECOLTES.
copy, optionnel, permet de produire comme résultat un formulaire permettant de copier la valeur
d'un attribut retourné dans une variable d'un autre formulaire. Ceci n'est possible qu'en mode