Académique Documents
Professionnel Documents
Culture Documents
En ligne :
https://sqliteonline.com/
En local :
SQLite Manager
Trois tables :
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Trois tables :
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
articles
reference designation prix
r1 cahier 4.5
r2 colle 3
... ... ...
Trois tables :
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
articles
reference designation prix
r1 cahier 4.5
r2 colle 3
... ... ...
ventes
reference numclient date
r1 1 20190901
r5 2 20190902
... ... ...
MP - Lycée Pissarro - Pontoise Bases De Données 2020/2021 5 / 18
Un exemple de base de données : Pissarro boutique
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients qui habitent
Cergy.
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients qui habitent
Cergy.
articles
reference designation prix
r1 cahier 4.5
r2 colle 3
... ... ...
Écrire une requête SQL retournant la liste des désignations et des prix des
articles coutant moins de 5 euros.
articles
reference designation prix
r1 cahier 4.5
r2 colle 3
... ... ...
Écrire une requête SQL retournant la liste des désignations et des prix des
articles coutant moins de 5 euros.
ventes
reference numclient date
r1 1 20190901
r5 2 20190902
... ... ...
Écrire une requête SQL retournant la liste des références des articles vendu
entre le 03/09/2019 et le 12/09/2019.
ventes
reference numclient date
r1 1 20190901
r5 2 20190902
... ... ...
Écrire une requête SQL retournant la liste des références des articles vendu
entre le 03/09/2019 et le 12/09/2019.
SELECT reference FROM ventes WHERE date <= 20190912 AND date
>= 20190903
AND :
SELECT nom,adresse FROM clients WHERE adresse = "Paris" OR
adresse = "Cergy"
AND :
SELECT nom,adresse FROM clients WHERE adresse = "Paris" OR
adresse = "Cergy"
OR :
SELECT nom,adresse FROM clients WHERE adresse = "Paris" AND
adresse <> "Cergy"
AND :
SELECT nom,adresse FROM clients WHERE adresse = "Paris" OR
adresse = "Cergy"
OR :
SELECT nom,adresse FROM clients WHERE adresse = "Paris" AND
adresse <> "Cergy"
NOT :
SELECT nom,adresse FROM clients WHERE NOT adresse = "Paris"
Algèbre relationnelle
Théorie mathématique proche de la théorie des ensembles qui dénit des
opérations qui peuvent être eectuées sur des relations.
Établie par Edgar Frank Codd en 1970.
Projection
πatt1 ,att2 (Tab)
récupère les attributs att1 , att2 de la table Tab (supprime des
colonnes) et supprime les lignes inutiles.
Algèbre relationnelle :
πreference (ventes)
SQL :
SELECT DISTINCT reference FROM ventes
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients qui habitent
Cergy.
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients qui habitent
Cergy.
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients qui habitent
Cergy.
clients
numclient nom adresse
1 Camille Cergy
2 Daniel Pontoise
... ... ...
Écrire une requête SQL retournant la liste des noms des clients qui habitent
Cergy.
Renommage
SELECT reference AS r FROM articles
SELECT reference r FROM articles
Produit cartésien
R1 × R2 est formée par toutes les combinaisons possibles (l1 , l2 ) de
lignes l1 de R1 et de lignes l2 de R2 .
SELECT * FROM clients, ventes
SELECT * FROM clients c, ventes v
2 tables
clients ventes
numclient nom adresse reference numclient date
1 Camille Cergy r1 1 20190901
2 Daniel Pontoise r5 2 20190902
leur produit cartésien
clients × ventes
numclient nom adresse reference numclient date
1 Camille Cergy r1 1 20190901
1 Camille Cergy r5 2 20190902
2 Daniel Pontoise r1 1 20190901
2 Daniel Pontoise r5 2 20190902
MP - Lycée Pissarro - Pontoise Bases De Données 2020/2021 20 / 18
Vocabulaire des bases de données
Jointure
On considère deux relations R1 et R2 ayant des attributs en commun.
R1 ./C R2 est formée par toutes les combinaisons possibles (l1 , l2 ) de
lignes l1 de R1 et de lignes l2 de R2 pour lesquelles la condition C est
vériée.
SELECT * FROM clients, ventes WHERE clients.numclient =
ventes.numclient
SELECT * FROM clients c, ventes v WHERE c.numclient =
v.numclient
SELECT * FROM clients JOIN ventes ON clients.numclient =
ventes.numclient
SELECT * FROM clients c JOIN ventes v ON c.numclient =
v.numclient
2 tables
clients ventes
numclient nom adresse reference numclient date
1 Camille Cergy r1 1 20190901
2 Daniel Pontoise r5 2 20190902
leur jointure sur numclient
Jointure
Écrire une requête SQL retournant la liste des noms des clients qui ont fait
une commande avant le 15/09/2019.
Jointure
Écrire une requête SQL retournant la liste des noms des clients qui ont fait
une commande avant le 15/09/2019.
Jointure
Écrire une requête SQL retournant la liste des désignations des articles
achetés le 15/09/2019.
Jointure
Écrire une requête SQL retournant la liste des désignations des articles
achetés le 15/09/2019.
Jointure
Écrire une requête SQL retournant la liste des noms et adresses des clients
ayant acheté de la colle.
Jointure
Écrire une requête SQL retournant la liste des noms et adresses des clients
ayant acheté de la colle.
Min :
Comptage :
Somme :
Somme :
Somme :
Écrire une requête SQL retournant la liste des clients, avec pour chaque
client le montant de ses dépenses.
Somme :
Écrire une requête SQL retournant la liste des clients, avec pour chaque
client le montant de ses dépenses.
Moyenne :
Écrire une requête SQL retournant la liste des désignation des articles dont
le prix est supérieur au prix moyen des articles.
Moyenne :
Écrire une requête SQL retournant la liste des désignation des articles dont
le prix est supérieur au prix moyen des articles.
SELECT JOIN
DISTINCT ON
*
FROM AND
WHERE OR
AS NOT
GROUP AVG
ORDER MIN
COUNT MAX
BY SUM