La Recherche D'information
La Recherche D'information
La Recherche D'information
P a g e 2 | 15
Recherche d’information – BTS CG - ©Arnauhasse
I La base de données
Quelle que soit l’activité de l’entreprise, elle nécessite de stocker des données : une liste de produits en
vente, une liste de clients, une liste des commandes… Une base de données nait souvent par l’ajout
d’informations dans un traitement de texte ou dans un tableur, mais à mesure que le volume de données
devient important, cela devient de plus en plus difficile d’éviter les incohérences et les redondances de
données. Ajoutons à cela la difficulté, voire l’impossibilité d’accéder au contenu de ces fichiers simultanément
par plusieurs personnes, ou l’impossible garantie que seules les personnes autorisées y auront accès et
vous obtenez la liste des besoins auxquels répond un système de gestion de base de données
relationnelle (SGBDR). Il en existe une vingtaine sur le marché, les plus connus étant Oracle, Microsoft
SQL Server et MySQL.
P a g e 3 | 15
Recherche d’information – BTS CG - ©Arnauhasse
Le rôle d’une base de données est de faciliter le travail de collecte et d’organisation des informations. Dans
le cas d’une activité de vente de matériel informatique, on peut aisément imaginer que l’on aura un
catalogue de produits qui pourront être commandés par des clients. On doit donc disposer d’une table avec
des produits, et d’une autre table avec des clients.
P a g e 4 | 15
Recherche d’information – BTS CG - ©Arnauhasse
On parle de
SGBDR (Relationnel) lorsque l’on peut relier une table à une autre grâce à des champs
communs. Le rôle du SGBDR est d’assurer l’intégrité de la base de données : il veille à ce
qu’un champ qui fait référence à un autre champ dans une autre table ne puisse le faire qu’à
condition qu’il n’y ait pas d’erreur. Par exemple, ici, il serait impossible d’enregistrer une
commande avec un produit qui n’existe pas.
Un attribut est une colonne qui a un type et qui à ce titre ne peut contenir que des
valeurs de ce type de données.
ATTRIBUT Exemple : « NomCli » (nom des clients) est un attribut de la relation CLIENT qui est
de type « chaîne de caractères » et qui permet d’associer un nom au client.
La clé primaire est un des attributs d’une relation. C’est celui qui permet
systématiquement de retrouver les autres de manière sûre.
Exemple : si l’on recherche un bon de commande, connaître uniquement la date de
ATTRIBUT commande ne suffit pas car l’entreprise peut passer plusieurs commandes le même
CLÉ jour… Par contre, connaître le numéro de la commande suffit pour la retrouver de
PRIMAIRE manière sûre car toute commande est numérotée d’un numéro unique.
On notera également qu’une clé primaire contient forcément une valeur et que cette
valeur ne peut être présente qu’une seule fois dans une table.
P a g e 5 | 15
Recherche d’information – BTS CG - ©Arnauhasse
Un modèle relationnel est une représentation logique et rationnelle des données que le concepteur a utilisée
pour concevoir la base de données permettant ainsi de la rendre exploitable par un logiciel de type SGBDR.
Il est composé de plusieurs lignes. Chaque ligne s’appelle une relation. Les champs communs qui permettent
de relier les tables entre elles sont appelés « clés primaires » et « clés étrangères ».
La clé étrangère est un attribut d’une relation qui fait référence à la clé primaire
d’une autre relation.
Exemple : dans la relation COMMANDE, « NumCli » correspond à un numéro
de client dans la relation CLIENT.
CLÉ Toute valeur de l’attribut clé étrangère est obligatoirement présente dans les
ÉTRANGÈRE valeurs de l’attribut clé primaire. Par exemple, un bon de commande ne peut
pas faire référence à un numéro de client ne figurant pas dans la
relation CLIENT.
La clé étrangère a un rôle déterminant : elle établit les liaisons entre les
relations.
P a g e 6 | 15
Recherche d’information – BTS CG - ©Arnauhasse
I La projection
La projection est l’opération qui consiste à ne retenir que certains champs (colonnes) d’une table. Ainsi, le
résultat d’une projection sera une nouvelle table, plus étroite que celle interrogée.
Exemple
On souhaite connaître les noms des clients et la ville où ils sont domiciliés.
● Table interrogée : CLIENT
● Champs projetés : NomCli et AdresseVilleCli
→Tous les enregistrements (lignes) de la table sont présents, mais seuls les champs « NomCli » et
« AdresseVilleCli » sont affichés.
II La restriction
La restriction est l’opération qui consiste à ne retenir que certains enregistrements (lignes) d’une table, en
fonction d’un critère ou plusieurs critères donnés.
Exemple 1
On souhaite connaître les noms et adresses des clients domiciliés à Avignon.
● Table interrogée : CLIENT
● Champs projetés : NomCli et AdresseRueCli
● Restriction : AdresseVilleCli = « Avignon »
→ Seuls les enregistrements de la table dont le champ « AdresseVilleCli » contient
« Avignon » sont présents, et seuls les champs « NomCli » et « AdresseRueCli » sont affichés.
Exemple 2
On souhaite connaître la liste des produits de la marque « Acer ».
● Table interrogée : PRODUIT
● Champs projetés : Tous
● Restriction : DesignProd qui contient « Acer »
→ Seuls les enregistrements de la table dont le champ « DesignProd » contient « Acer »
sont présents, et tous les champs sont affichés.
Exemple 3
On souhaite sur la requête précédente ne garder que les produits qui coûtent moins de
1 000 €.
● Restriction :
- DesignProd qui contient « Acer »
- PUProd inférieur à 1 000
→ Seuls les enregistrements de la table dont le champ « DesignProd » contient « Acer » et dont le champ « PUProd » contient une valeur inférieure à 1 000
sont présents.
P a g e 7 | 15
Recherche d’information – BTS CG - ©Arnauhasse
III La jointure
La jointure est l’opération qui permet d’afficher des informations provenant de plusieurs tables. L’opération
se réalise grâce aux champs communs entre les différentes tables. Le SGBDR compare les valeurs d’un
champ avec les valeurs contenues dans le champ d’une autre table à laquelle il fait référence et ne retient
les informations demandées que lorsque les deux champs ont la même valeur.
Exemple
On souhaite connaître les numéros des commandes passées par les clients domiciliés à Avignon.
● Tables interrogées : CLIENT et COMMANDE
● Champs projetés : NomCli, AdresseRueCli et NumCom
● Restriction : AdresseVilleCli = « Avignon »
Pour produire ce résultat, il y a en réalité trois opérations successives :
Projection des champs NomCli et AdresseRueCli de la table « CLIENT », puis projection du champ NumCom de la table « COMMANDE ».
RESULTAT
P a g e 8 | 15
Recherche d’information – BTS CG - ©Arnauhasse
SQL est l’acronyme de Structured Query Language : langage structuré de requêtes. Ce langage permet
d’interagir avec tous les SGBDR. Sa syntaxe se présente sous la forme d’un pseudolangage prenant appui
sur des mots de la langue anglaise et reprenant la logique des opérateurs relationnels. C’est avec ce langage
que les PGI fonctionnent.
Exemple
On souhaite
connaître les
noms des
clients et la ville
où ils sont
domiciliés.
P a g e 9 | 15
Recherche d’information – BTS CG - ©Arnauhasse
Exemple
On souhaite
connaître…
les noms des
clients
domiciliés à
Avignon ou
Pernes
Dans une jointure, les champs communs utilisés portent souvent le même nom dans les deux tables. On
préfixe donc chacun des champs du nom de sa table pour qu’en exécutant la requête, le SGBDR sache
exactement de quel champ on parle. Il y aurait trop d’ambiguïté avec une jointure du type :
« WHERE NumCli = NumCli ».
Exemple
On souhaite connaître
les noms et adresses
des clients qui ont déjà
passé une commande
avec au moins deux
produits identiques et
l’on souhaite que la
désignation des
produits et la quantité
commandée
apparaissent
également.
P a g e 10 | 15
Recherche d’information – BTS CG - ©Arnauhasse
Toutes les tables mentionnées dans le FROM n’ont pas forcément de champs projetés dans le SELECT, ou
de champs concernés par une restriction. Mais toutes les tables devront être concernées par au moins une
jointure, sinon la requête est incohérente.
P a g e 11 | 15
Recherche d’information – BTS CG - ©Arnauhasse
SELECT NomCli, COUNT(NumCom) AS “Nb Cette requête permet de trouver le nom des clients
Commandes“ ayant effectué au moins 5 commandes dans l’année.
FROM CLIENT, COMMANDE Les clients sont regroupés (GROUP BY) par numéro.
WHERE COMMANDE.NumCli = Le décompte (COUNT) recommence donc à chaque
CLIENT.NumCli changement de client. On ne retiendra que (HAVING)
GROUP BY NumCli les noms des clients pour lesquels le décompte donne
HAVING COUNT(NumCom) >= 5 ; un montant d’au moins 5 commandes…
I Le tri
Le tri consiste à ordonner les informations d’une table. On peut trier par ordre croissant ou décroissant
une liste de nombres, par ordre chronologique des dates, ou par ordre alphabétique des chaînes de
caractères (de A à Z).
En SQL, c’est l’instruction ORDER BY qui permet de réaliser des tris.
L’instruction est suivie du champ que l’on souhaite trier puis de ASC (ordre croissant), ou DESC (ordre
décroissant).
L’instruction ORDER BY est toujours la dernière instruction de la requête.
Exemple
On souhaite afficher la liste des commandes, mais en plaçant les plus récentes en
premier.
SELECT NumCom, DateCom, NumCli
FROM COMMANDE
ORDER
BY DateCom DESC ;
Pour la liste des commandes avec affichage en premier des plus anciennes, la fin de
la requête serait :
ORDER BY DateCom ASC ;
P a g e 12 | 15
Recherche d’information – BTS CG - ©Arnauhasse
Exemple 1
On souhaite connaître le nombre de clients que l’on a par ville,
en affichant en premier les villes avec le plus de clients.
Exemple 2
On souhaite connaître le chiffre d’affaires que l’on réalise par
ville, en affichant en premier les villes où l’on a le plus gros
chiffre d’affaires.
Exemple 3
Une requête très similaire permet de connaitre le pourcentage de
chiffre d’affaires par ville…
SELECT SUM(PUProd*Quantite)/n AS “%CA“, AdresseVilleCli[…]
ORDER BY SUM(PUProd*Quantite)/n DESC, AdresseVilleCli ASC ;
n → CA total
P a g e 13 | 15
Recherche d’information – BTS CG - ©Arnauhasse
En cliquant sur le menu Outils > Outil de requêtage, vous ouvrirez l’« Outil de requêtage » :
● En cliquant sur « Ajouter des colonnes », EBP propose la liste complète des champs qui composent la
structure de ses bases de données. Cela permet au besoin de rechercher précisément des champs.
P a g e 14 | 15
Recherche d’information – BTS CG - ©Arnauhasse
● En cliquant sur « Ajouter des tables », EBP propose la liste complète des tables qui composent la
structure de ses bases de données. Cela permet au besoin de rechercher précisément des tables.
P a g e 15 | 15