AccueilđŸ‡«đŸ‡·Chercher

Query by Example

Query by Example (abrégé QBE, en français interrogation par l'exemple), est un type d'interface utilisateur servant à effectuer des recherches dans des bases de données relationnelles. Le principe d'une interface QBE est que l'utilisateur présente un exemple du résultat de recherche attendu - sous forme d'une matrice, puis le soumet au SGBD. Celui-ci recherchera alors toutes les données qui correspondent à cet exemple. Les tables de la base de données sont présentées à l'écran, et l'utilisateur peut les manipuler en vue de créer l'exemple[1] - [2].

L'interface QBE de Kexi

QBE a été inventé par Moshe Zloof pour le compte de IBM, en 1977.

Particularités

Avec ce systĂšme le rĂ©sultat prime sur les moyens de mise en Ɠuvre. Avec QBE, il ne s'agit pas, pour l'utilisateur, ni le dĂ©veloppeur, d'apprendre un langage de requĂȘtes, mais tout simplement de dĂ©finir une image de la rĂ©ponse que l'on veut obtenir, pour voir figurer les donnĂ©es rĂ©pondant Ă  l'interrogation demandĂ©e.

Il a été inventé par Moshe Zloof pour le compte de la compagnie IBM, en 1977. Commercialisé à partir de 1978, il a connu un certain succÚs grùce à son introduction au sein de la premiÚre version de Paradox (1.0 pour DOS) en 1985.

QBE est dĂšs l'origine un langage relationnel complet intĂ©grant la division relationnelle, opĂ©ration dĂ©crite dans l'algĂšbre relationnelle de Codd qui n'est toujours pas prĂ©sente de maniĂšre simple dans les plus rĂ©centes normes SQL (SQL:2003). En revanche QBE ne permet pas la rĂ©cursivitĂ© dans les requĂȘtes, alors que la version normative SQL:1999 le permet.

Exemple

Voici un exemple de requĂȘte QBE et son Ă©quivalent SQL :

RequĂȘte QBE

== T_CLIENT_CLI ===== CLI_NUM ============= CLI_NOM ===
                  | Check _join1!    | Check           |
                  |                  |                 |
== T_COMMANDE_CDE ===== CLI_NUM =========== CDE_DATE ================= CDE_MONTANT ===
                    | _join1         |   ≄  2000-01-01, ≀2000-03-31  | SOMME < 10000   |
                    |                |                               |                 |

RequĂȘte SQL

 SELECT CDE.CLI_NUM, CLI_NOM
 FROM   T_CLIENT_CLI CLI
        LEFT OUTER JOIN T_COMMANDE_CDE CDE
             ON  CLI.CLI_NUM = CDE.CLI_NUM
 WHERE  CDE_DATE BETWEEN DATE'2000-01-01' AND '2000-03-31'
 GROUP  BY CDE.CLI_NUM, CLI_NOM
 HAVING SUM(CDE_MONTANT) < 10000

Disponibilité

Les systÚmes de gestion de base de données suivant mettent à disposition une interface QBE :

Notes et références

  1. (en) Gad Ariav - James Clifford, New directions for database systems, Intellect Books - 1986, (ISBN 9780893913441)
  2. (en) Yannis Vassiliou - New York University, Human factors and interactive computer systems, Intellect Books - 1984, (ISBN 9780893911829)

Voir aussi

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.