1. A5.3 & A7.1A5.3 & A7.1
GESTION DU SYSTÈMEGESTION DU SYSTÈME
D’INFORMATIOND’INFORMATION
GSI_Chap4-Interroger la base de données
LE LANGAGE SQL
AG
PME-PMI
BTS
1
2. PRODUITS (Refprod, Designprod, Condprod, PUprod)
SECTEURS (Numsecteur, Nomsecteur, Zone)
REPRESENTANTS (Numrepr, Nomrepr, Prenomrepr, Adresseruerepr,
AdresseCPrepr, Adressevillerepr, Telrepr)
LE MODÈLE RELATIONNEL
COMMANDES (Numcom, Datecom, Numcli #)
CLIENTS (Numcli, Nomcli, Adresseruecli , AdresseCPcli, Adressevillecli,
Conditionscli, Telcli, Numrepr #)
COMPRENDRE (Refprod #, Numcom#, Quantite)
INTERVENIR (Numrepr#, Numsecteur#, Tauxcomm)
Voici le modèle relationnel de la société Angélique spécialisée dans la
confiserie. Elle souhaite informatiser sa base de donnée avec un SGBDR
2GSI_Chap4-Interroger la base de données
3. LE MODÈLE PHYSIQUE
L’ensemble des tables et des liens créé par la présence d’attributs communs à plusieurs tables
(clés primaires et clés étrangères) représente la structure de la base de données. Cet ensemble
est appelé modèle physique.
Aucune table n’est isolée des autres.
3GSI_Chap4-Interroger la base de données
4. Les symboles 1 et sur le lien entre clé primaire et clé étrangère unissant deux tables indiquent
qu’une contrainte d’intégrité référentielle a été posée.
LES CONTRAINTES D’INTÉGRITÉ RÉFÉRENTIELLE
Interdiction de la saisie de la commande d’un client
inconnu de la base :
Un numéro de client ne pourra pas être saisi en tant que
clé étrangère dans la table commande, s’il n ’existe pas
en tant que clé primaire dans la table client.
Interdiction de la suppression d’un client lié par des
commandes :
Un enregistrement de la table contenant la clé primaire
ne pourra pas être supprimé s’il existe des
enregistrements correspondants dans la table contenant
la clé étrangère.
Possibilité de mise à jour du numéro de client :
Un numéro de client pourra être modifié dans la table
contenant la clé primaire et se répercuter dans la table
contenant la clé étrangère.
1∞
4GSI_Chap4-Interroger la base de données
5. LES REQUÊTES D’INTERROGATION DE LA BASE DE DONNÉES
Une requête permet d’interroger une base de données sur le contenu d’une ou plusieurs de ses tables.
Les logiciels de gestion de bases de données (SGBDR) mettent à disposition des utilisateurs un requêteur
graphique permettant de réaliser des requêtes facilement et intuitivement. Celui-ci est propre à chaque logiciel,
ses possibilités sont limitées lors de cas complexes.
Les logiciels SGBDR intègrent également un langage textuel de programmation de requêtes : le SQL (Structured
Query language) . Celui-ci est universel, normalisé et capable de traiter toutes les difficultés.
5GSI_Chap4-Interroger la base de données
6. LE REQUÊTEUR GRAPHIQUE
Exemple 1 : « Produits de qualité supérieure »
Liste des produits dont le prix est supérieur à 3 €, avec indication de la référence,
de la désignation et du prix unitaire du produit.
Table utilisée dans la
requête.
Projection des champs
retenus dans la requête.
Restriction sur le champ
« Puprod» en posant
comme critère >3
Cette requête met en jeu deux opérateurs relationnels : projection et restriction
VIDÉO
6GSI_Chap4-Interroger la base de données
7. UTILISATION DES OPÉRATEURS RELATIONNELS :
PROJECTION - RESTRICTION
La restriction
consiste en un
découpage
horizontal de la
table.
La projection
consiste en un
découpage vertical
de la table.
8. Pour écrire une requêtes en SQL le respect d’une syntaxe est nécessaire, notamment en matière de
ponctuation.
Les noms de champs et de
tables sont séparés par des
virgules.
Les requêtes se terminent
toujours par un point-
virgule.
LE RESPECT DE LA SYNTAXE SQL
Exemple 1 : « Produits de qualité supérieure »
Liste des produits dont le prix est supérieur à 3 €, avec indication de la référence,
de la désignation et du prix unitaire du produit.
8GSI_Chap4-Interroger la base de données
9. Exemple 2 : « Commandes de la journée »
Liste des commandes passées le 12/05/03, avec indication de la date de commande,
du numéro de commande et du nom du client.
Tables utilisées dans
la requête.
Projection des
champs retenus dans
la requête.
Restriction sur le
champ « datecom » en
posant comme critère
« 12/05/2003 ».
Cette requête met en jeu trois opérateurs relationnels : projection, restriction et
jointure
Jointure liant les deux
tables ayant un champ
commun : « numcli ».
VIDÉO
9
GSI_Chap4-Interroger la base de données
10. UTILISATION DES OPÉRATEURS RELATIONNELS :
PROJECTION-RESTRICTION-JOINTURE
La jointure permet de
lier deux tables ayant
un attribut commun.
La projection
consiste en un
découpage vertical.
La restriction
consiste en un
découpage
horizontal.
17
11. Les critères sont placés entre
guillemets pour un champ texte et
entre # pour un champ date. Aucune
ponctuation n’est nécessaire pour un
champ numérique.
Lorsque qu’un champ est
commun à plusieurs tables, le
nom de la table suivi d’un point
doit obligatoirement précéder le
nom du champ.
Exemple 2 : « Commandes de la journée »
Liste des commandes passées le 12/05/03, avec indication de la date de commande,
du numéro de commande et du nom du client.
11GSI_Chap4-Interroger la base de données
12. Tables utilisées dans la
requête.
La table « comprendre » est
indispensable car elle permet
de lier les tables « produits »
et « commandes ».
Projection des champs
retenus dans la requête.
Jointures liant les tables
ayant un champ commun.
Tri du champ « nomcli »
dans l ’ordre croissant.
Exemple 3 : « Clients concernés par un produit »
Liste des clients ayant commandé le produit « coca », avec indication
des noms des clients dans l’ordre croissant et des dates de commande.
Affichage non
demandé pour le
champ
« designprod ».
Case décochée.
Restriction sur le champ
« designprod » avec le critère
«coca ».
12GSI_Chap4-Interroger la base de données
14. Exemple 4 : « Quantités > à 30 de produits vendus par référence »
Liste des produits avec indication de la référence et de la somme des quantités (> à 30)
vendus pour chacun d’entre eux.
L’utilisation de cet opérateur est souvent liée à l’application d’une fonction de calcul
(agrégat) sur les valeurs d’un second attribut, donnant naissance à un attribut
calculé.
Table utilisée dans la
requête.
Projection des champs
retenus dans la requête.
Ajout de la ligne
opération (par le menu
affichage) permettant
l’utilisation du
regroupement et des
agrégats
Cette requête utilise l’opérateur de regroupement qui consiste à rassembler les enregistrements d’une table
en fonction des valeurs d’un premier attribut (1 seule ligne par valeur distincte).
Principaux agrégats : SOMME, MOYENNE, MIN, MAX, COMPTE
Restriction sur le champ
calculé
«sommedequantite » avec
le critère >30.
VIDÉO
14GSI_Chap4-Interroger la base de données
15. UTILISATION DE L’OPÉRATEUR DE REGROUPEMENT
La projection
consiste en un
découpage vertical.
La restriction
consiste en un
découpage
horizontal.
Le regroupement
consiste à rassembler
les enregistrements
16. Le nom du champ sur lequel
porte le calcul doit être mis entre
parenthèses.
Exemple 4 : « Quantités > à 30 de produits vendus par référence »
Liste des produits avec indication de la référence et de la somme des quantités (> à 30)
vendus pour chacun d’entre eux.
16GSI_Chap4-Interroger la base de données
17. SELECT liste des champs à afficher
FROM liste des tables utilisées
WHERE champ et critère de condition ou
champ commun aux tables utilisées
AND champ et critère de condition ou
champ commun aux tables utilisées
ORDER BY champ à trier ASC ou DESC
L’instruction SELECT permet de
lister les champs que l’on souhaite
obtenir, il correspond à l ’opérateur
de PROJECTION.
L’instruction FROM permet de
lister les tables utiles à la requête.
Les instructions WHERE et AND
sont liées. Elles permettent
d’introduire :
les critères de conditions
correspondant à l ’opérateur de
RESTRICTION.
les champs communs aux tables
utilisées correspondant à l’opérateur
de JOINTURE.
L’instruction ORDER BY permet de
demander un tri sur un champ (ASC
pour croissant et DESC pour
décroissant).
LE LANGAGE DE REQUÊTES SQL
Structure classique des requêtes en SQL
17GSI_Chap4-Interroger la base de données
18. SELECT SUM (champ sur lequel porte le calcul) AS nom du nouveau
champ
FROM nom de la table utilisée
GROUP BY champ à regrouper
HAVING SUM (champ sur lequel porte le calcul) et critère de
condition
Structure des requêtes en SQL avec utilisation d’un regroupement et d’un agrégat
L’instruction AS permet d’affecter un calcul
à un nouveau nom de champ
L’instruction GROUP BY permet de
regrouper les valeurs identiques d’un champ.
Il correspond à l’opérateur de
REGROUPEMENT.
L’instruction SUM est un des agrégats, elle
permet d’effectuer une somme sur le champ
indiqué entre parenthèses.
Autres instructions d’agrégats:
COUNT, AVERAGE, MIN, MAX
L’instruction HAVING permet de poser des
critères de conditions avec utilisation d’un
agrégat.
18GSI_Chap4-Interroger la base de données