Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Forums FAQ Tutoriels SQL Livres Access DB2 Firebird InterBase MySQL Oracle PostGreSQL SQL-Server Sybase

Les requêtes QBE en long en large et en travers

Date de publication : 26/08/2003

Par SQLPro (autres articles) (CV)
 

niveau : intermédiaire

QBE est un langage de requêtes révolutionnaire concurrent à SQL. Il a été inventé par Moshe Zloof pour le compte de la compagnie IBM, en 1977.
Paradox, contrairement aux autres SGBDR, travaille nativement en interface QBE lorsque l’on veut écrire des réquêtes. QBE signifie, Query By Exemple, c’est à dire, « requête par l’exemple »...
En d’autre termes, 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. Une telle interface est bien plus proche de la demande de l’utilisateur, bien plus simple à mettre en oeuvre, mais possède certaines limites.
Particularité du QBE de Paradox, il ne fournit pas un pointeur sur une table existante, mais génère une nouvelle table, dite table réponse contenant à un instant T, l’image des données répondant à la requête...

Dans cet article, nous allons voir tout du QBE, du plus simple au plus compliqué...



Introduction
Préambule
Première partie
1. Requêtes monotabulaires
1.1. Le système QBE
1.2. Interrogation par égalité
1.3. Correspondance approchée
1.4. Les différentes types de coches
1.5. Les opérateurs logiques
1.6. Opérateurs de comparaisons
1.7. Les calculs dans les requêtes
1.8. Utilisation de valeurs exemples
1.9. Renommer un champ calculé
2. Requêtes multitables
2.1. Lier les tables
2.2. Jointures externes
2.3. Utiliser un modèle relationnel prédéfini
3. Requêtes de mise à jour
3.1. Insérer
3.2. Supprimer
3.3. Modifier
4. Requêtes sur des ensembles de valeurs
4.1. Opérateur ENSEMBLE
4.2. Coche GrouperPar
5. Quelques requêtes croustillantes... at autres problèmes
5.1. Requêtes réflexives et arborescences
5.1.1. Les racines de l'arbre...
5.1.2. Les noeuds et feuilles de niveau 1
5.1.3. Les noeuds et feuilles de niveau 2
5.1.4. Les feuilles de l'arbre
5.1.5. Le nombre de branches partant de tous les noeuds
5.2. Requêtes d'exclusion
5.3. Requêtes des n meilleurs
5.4. Requêtes sur table d'historisation
5.5. Erreurs syntaxiques dans les requêtes
Seconde partie
6. Paramétrage de l'exécution des requêtes
6.1. Propriété / Réponse
6.2. Propriété / QBE
6.3. Propriété / Tri de la réponse
6.4. Propriété / Structure de la réponse
6.5. Préférence d'exécution des requêtes
6.6. Préférence de base de données
6.7. Préférence du BDE
6.8. Obtenir le SQL équivalent au QBE
7. Accélérer l'exécution des requêtes
7.1. Indexation
7.2. Tampon mémoire
7.3. Éviter les jokers et champs mémo
7.4. N'extraire que la clef
7.5. Disque compressé
7.6. Utilisez du SQL !!!
8. Les requêtes dans le code
8.1. Les variables de type QBE
8.2. Autres paramètres dans le corps de la requête
8.3. Utiliser des variables dans les requêtes
8.4. Conseils importants pour les variables de requête
8.4.1. Toujours utiliser des variables string
8.4.2. Une seule variable par champ/ligne
9.4.3. Format des nombres réels et des dates
8.5. Manipulation des requêtes sous forme de chaînes de caractères
8.6. Manipulation des fichiers de requête
8.7. Manipulation des requêtes à l'aide des méthodes
8.8. Optimiser les requêtes dans le code
8.9. Des requêtes, des applications... un seul moteur
9. Encore quelques trucs en vrac
9.1. Jeux de mots... laids
9.1.1. Quelques recherche de mots ... commençant par, se terminant par, contenant ou encore avec les lettres placées ...
9.1.2. Les mots possédant les lettres ...
9.1.3. Les mots constitués uniquement des lettres ...
9.2. A la recherche des lignes filles
9.2.1. Recherches dans un sous ensembles de lignes
9.2.2. Linéariser un sous ensemble...
9.2.3. Linéariser un sous ensemble en un nombre fini de champs
9.3. A la recherche du vide
9.3.1. Les absents, levez le doigt !
9.3.2. Les présents, avez vous des absences ?
9.3.3. Les absents, devenez présents !
9.3.4. Rechercher les présences, sauf ce jour là...
9.4. Problèmes de date
9.4.1. Calculer l'âge
9.4.2. Calculer les anniversaires...
Conclusions
10. Annexes
10.1. BENCHMARK QBE / SQL sous BDE
10.2. APPENDICE A : OPÉRATEURS EN ANGLAIS




Livres
SQL - développement
SQL - le cours de référence sur le langage SQL
Avant d'aborder le SQL
Définitions
SGBDR fichier ou client/serveur ?
La base de données exemple (gestion d'un hôtel)
Modélisation MERISE
Mots réservés du SQL
Le SQL de A à Z
Les fondements
Le simple (?) SELECT
Les jointures, ou comment interroger plusieurs tables
Groupages, ensembles et sous-ensembles
Les sous-requêtes
Insérer, modifier, supprimer
Création des bases
Gérer les privilèges ("droits")
Toutes les fonctions de SQL
Les techniques des SGBDR
Les erreur les plus fréquentes en SQL
Les petits papiers de SQLPro
Conférence Borland 2003
L'héritage des données
Données et normes
Modélisation par méta données
Optimisez votre SGBDR et vos requêtes SQL
Le temps, sa mesure, ses calculs
QBE, le langage de ZLOOF
Des images dans ma base
La jointure manquante
Clefs auto incrémentées
L'indexation textuelle
L'art des "Soundex"
Une seule colonne, plusieurs données
La division relationnelle, mythe ou réalité ?
Gestion d'arborescence en SQL
L'avenir de SQL
Méthodes et standards
Les doublons
SQL Server
Eviter les curseurs
Un aperçu de TRANSACT SQL V 2000
SQL Server 2000 et les collations
Sécurisation des accès aux bases de données SQL Server
Des UDF pour SQL Server
SQL Server et le fichier de log...
Paradox
De vieux articles publiés entre 1995 et 1999 dans la défunte revue Point DBF

Copyright © 2003 Frédéric Brouard. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique SQL & SGBD : Frédéric Dubois (orafrance) - Contacter par EMail :
Vos questions techniques : forum d'entraide SQL & SGBD - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.