Vous êtes sur la page 1sur 28

La base de données

La base de données

 Le schéma de la base de données

 Le langage de requête SQL


La base de données

Le schéma de la base de données


Exemple développé
Gestion des réclamations clients dans une
entreprise d’électroménager :

CLIENT (Numcli, Nomcli, Prenomcli, Adrcli,


Villecli, Cpcli)
PRODUIT (Refprod, Desiprod, Marqueprod,
Prixprod)
RECLAMATION (Coderec, Daterec, Raisonrec,
#Numcli, #Refprod)
La base de données :
vocabulaire
 Les TABLES correspondent aux relations

 Les CHAMPS correspondent aux


attributs (= colonne)

 Les ENREGISTREMENTS correspondent


aux données saisies (= ligne)
La base de données : les
tables
numcli nomcli prenomcli adrcli cpcli villecli
10003 ANDRE Thomas 10 rue courtalon 75014 PARIS
102778 BULI Patrice 20 cours Vuitton 69006 LYON
124682 VERIN Didier 10 rue Schuman 75002 PARIS
125941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
140621 BALOIR Claude 10 place des cordeliers 75008 PARIS
143025 BLANC Cécile 12 rue Cortier 89000 AUXERRE
147963 DOLMEN Christian 145 cous Lafayette 75015 PARIS
148254 JORET Geneviève 10 rue des provinces 69005 LYON
150763 MALOT Berthe 39 rue denfert rochereau 75014 PARIS
157269 OLIVE Virginie 20 rue Berliet 21000 DIJON
164025 PALO Nicole 10 rue de la Préfecture 75001 PARIS
172436 MARIE Olivier 43 rue de l'église 06000 NICE
172596 BELO Vincent 15 rue des chèvrefeuilles 75002 PARIS
175298 GIDOT Sylvie 20 rue de Melun 75013 PARIS
175496 FAVRE Caroline 61 rue du calvaire 10000 TROYES Table CLIENT
240573 VIAR Stéphane 68 rue Anatole France 75016 PARIS
279246 MAIRE René 28 rue de l'Orme 69003 LYON
La base de données : les
champs

Champs de la table CLIENT

numcli nomcli prenomcli adrcli cpcli villecli


10003 ANDRE Thomas 10 rue courtalon 75014 PARIS
102778 BULI Patrice 20 cours Vuitton 69006 LYON
124682 VERIN Didier 10 rue Schuman 75002 PARIS
125941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
La base de données : les
enregistrements
numcli nomcli prenomcli adrcli cpcli villecli
10003 ANDRE Thomas 10 rue courtalon 75014 PARIS
102778 BULI Patrice 20 cours Vuitton 69006 LYON
124682 VERIN Didier 10 rue Schuman 75002 PARIS
125941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
140621 BALOIR Claude 10 place des cordeliers 75008 PARIS
143025 BLANC Cécile 12 rue Cortier 89000 AUXERRE
147963 DOLMEN Christian 145 cous Lafayette 75015 PARIS
148254 JORET Geneviève 10 rue des provinces 69005 LYON
150763 MALOT Berthe 39 rue denfert rochereau 75014 PARIS
157269 OLIVE Virginie 20 rue Berliet 21000 DIJON Un enregistrement
164025
172436
PALO
MARIE
Nicole
Olivier
10 rue de la Préfecture
43 rue de l'église
75001
06000
PARIS
NICE
de la table CLIENT
172596 BELO Vincent 15 rue des chèvrefeuilles 75002 PARIS
175298 GIDOT Sylvie 20 rue de Melun 75013 PARIS
175496 FAVRE Caroline 61 rue du calvaire 10000 TROYES
240573 VIAR Stéphane 68 rue Anatole France 75016 PARIS
279246 MAIRE René 28 rue de l'Orme 69003 LYON
La base de données : les
contraintes d’intégrité
 Contrainte de DOMAINE

 Contrainte de RELATION

 Contrainte de REFERENCE
La base de données :
contrainte de domaine
La base de données :
contrainte de relation
La base de données :
contrainte de référence
refprod
CG2054
desiprod
CONGELATEUR
marqueprod
MOULINEX
prixprod
245,00 €
CG4210 CONGELATEUR BRANDT 229,00 €
CG4921 CONGELATEUR MOULINEX 200,00 €
CG5327 CONGELATEUR MIELE 215,00 €
CS1572 CUISINIERE MOULINEX 790,00 €
CS547 CUISINIERE ARTHUR MARTIN 950,00 €
CS7814 CUISINIERE ROSIERES 900,00 €

??? LL1043
LL1050
LAVE LINGE
LAVE LINGE
BRANDT
MOULINEX
610,00 €
520,00 €
LL450 LAVE LINGE ARTHUR MARTIN 250,00 €
LV2050 LAVE VAISSELLE BRANDT 1 035,00 €
LV5790 LAVE VAISSELLE MIELE 1 050,00 €
RF147 REFRIGERATEUR MIELE 750,00 €
RF2047 REFRIGERATEUR BRANDT 1 020,00 €
RF243 REFRIGERATEUR WHIRLPOOL 990,00 €
La base de données : prise en
compte des contraintes d’intégrité
 Saisir en premier les données des tables
qui ne contiennent pas de clé étrangère
 Bien définir les types de données lors
de la création de la structure
 Cocher l’application de l’intégrité
référentielle lors de la mise en place des
liaisons
La base de données

Le langage de requête SQL


Le langage de requête SQL
Trois types d’opérations :

 Projection : projette les champs sélectionnés

 Restriction : projette les enregistrements


demandés

 Tri : ordonne les enregistrements demandés


selon un critère
Le langage de requête SQL :
la projection
refprod desiprod
refprod desiprod marqueprod prixprod
CG2054 CONGELATEUR
CG2054 CONGELATEUR MOULINEX 245,00 €
CG4210 CONGELATEUR
CG4210 CONGELATEUR BRANDT 229,00 €
CG4921 CONGELATEUR
CG4921 CONGELATEUR MOULINEX 200,00 €
CG5327 CONGELATEUR
CG5327 CONGELATEUR MIELE 215,00 €
CS1572 CUISINIERE
CS1572 CUISINIERE MOULINEX 790,00 €
CS547 CUISINIERE
Projection :
CS547 CUISINIERE ARTHUR MARTIN 950,00 €
CS7814 CUISINIERE
CS7814 CUISINIERE ROSIERES 900,00 €
LL1043 LAVE LINGE
LL1043 LAVE LINGE BRANDT 610,00 €
LL1050 LAVE LINGE
LL1050 LAVE LINGE MOULINEX 520,00 €
LL450 LAVE LINGE ARTHUR MARTIN 250,00 € - refprod LL450 LAVE LINGE
LV2050 LAVE VAISSELLE
LV2050 LAVE VAISSELLE BRANDT 1 035,00 €
LV5790 LAVE VAISSELLE MIELE 1 050,00 € - desiprod LV5790 LAVE VAISSELLE
RF147 REFRIGERATEUR
RF147 REFRIGERATEUR MIELE 750,00 €
RF2047 REFRIGERATEUR
RF2047 REFRIGERATEUR BRANDT 1 020,00 €
RF243 REFRIGERATEUR
RF243 REFRIGERATEUR WHIRLPOOL 990,00 €
Le langage de requête SQL :
la restriction
refprod desiprod marqueprod prixprod
CG2054 CONGELATEUR MOULINEX 245,00 €
CG4210 CONGELATEUR BRANDT 229,00 €
CG4921 CONGELATEUR MOULINEX 200,00 €
CG5327 CONGELATEUR MIELE 215,00 € Restriction :
CS1572 CUISINIERE MOULINEX 790,00 €
CS547 CUISINIERE ARTHUR MARTIN 950,00 €
seulement les
CS7814 CUISINIERE ROSIERES 900,00 € congélateurs
LL1043 LAVE LINGE BRANDT 610,00 €
LL1050 LAVE LINGE MOULINEX 520,00 €
LL450 LAVE LINGE ARTHUR MARTIN 250,00 €
refprod desiprod marqueprod prixprod
LV2050 LAVE VAISSELLE BRANDT 1 035,00 €
CG2054 CONGELATEUR MOULINEX 245,00 €
LV5790 LAVE VAISSELLE MIELE 1 050,00 €
CG4210 CONGELATEUR BRANDT 229,00 €
RF147 REFRIGERATEUR MIELE 750,00 €
CG4921 CONGELATEUR MOULINEX 200,00 €
RF2047 REFRIGERATEUR BRANDT 1 020,00 €
CG5327 CONGELATEUR MIELE 215,00 €
RF243 REFRIGERATEUR WHIRLPOOL 990,00 €
Le langage de requête SQL :
le tri
refprod desiprod marqueprod prixprod
refprod desiprod marqueprod prixprod
CG4921 CONGELATEUR MOULINEX 200,00 €
CG2054 CONGELATEUR MOULINEX 245,00 €
CG4210 CONGELATEUR BRANDT 229,00 €
Tri par CG5327
CG4210
CONGELATEUR
CONGELATEUR
MIELE
BRANDT
215,00 €
229,00 €
CG4921 CONGELATEUR MOULINEX 200,00 €
CG2054 CONGELATEUR MOULINEX 245,00 €
CG5327
CS1572
CONGELATEUR
CUISINIERE
MIELE
MOULINEX
215,00 €
790,00 €
ordre LL450 LAVE LINGE ARTHUR MARTIN 250,00 €
LL1050 LAVE LINGE MOULINEX 520,00 €
CS547 CUISINIERE ARTHUR MARTIN 950,00 €
CS7814 CUISINIERE ROSIERES 900,00 € de prix LL1043 LAVE LINGE BRANDT 610,00 €
RF147 REFRIGERATEUR MIELE 750,00 €
LL1043 LAVE LINGE BRANDT 610,00 €
CS1572 CUISINIERE MOULINEX 790,00 €
LL1050 LAVE LINGE MOULINEX 520,00 €
CS7814 CUISINIERE ROSIERES 900,00 €
LL450 LAVE LINGE ARTHUR MARTIN 250,00 €
CS547 CUISINIERE ARTHUR MARTIN 950,00 €
LV2050 LAVE VAISSELLE BRANDT 1 035,00 €
RF243 REFRIGERATEUR WHIRLPOOL 990,00 €
LV5790 LAVE VAISSELLE MIELE 1 050,00 €
RF2047 REFRIGERATEUR BRANDT 1 020,00 €
RF147 REFRIGERATEUR MIELE 750,00 €
LV2050 LAVE VAISSELLE BRANDT 1 035,00 €
RF2047 REFRIGERATEUR BRANDT 1 020,00 €
LV5790 LAVE VAISSELLE MIELE 1 050,00 €
RF243 REFRIGERATEUR WHIRLPOOL 990,00 €
Le langage de requête SQL :
la jointure
Liste des clients ayant fait une
réclamation pour une cuisinière :

 Projection du nom des clients


 Restriction sur la désignation du produit
mcli nomcli prenomcli adrcli cpcli villecli
003 ANDRE Thomas 10 rue courtalon 75014 PARIS
refprod desiprod marqueprod prixprod
2778 BULI Patrice 20 cours Vuitton 69006 LYON
CG2054 CONGELATEUR MOULINEX 245,00 €
4682 VERIN Didier 10 rue Schuman 75002 PARIS
CG4210 CONGELATEUR BRANDT 229,00 €
5941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
CG4921 CONGELATEUR MOULINEX 200,00 €
0621 BALOIR Claude 10 place des cordeliers 75008 PARIS
CG5327 CONGELATEUR MIELE 215,00 €
3025 BLANC Cécile 12 rue Cortier 89000 AUXERRE
CS1572 CUISINIERE MOULINEX 790,00 €
7963 DOLMEN Christian 145 cous Lafayette 75015 PARIS
CS547 CUISINIERE ARTHUR MARTIN 950,00 €
8254 JORET Geneviève 10 rue des provinces 69005 LYON
CS7814 CUISINIERE ROSIERES 900,00 €
0763 MALOT Berthe 39 rue denfert rochereau 75014 PARIS
LL1043 LAVE LINGE BRANDT 610,00 €
7269 OLIVE Virginie 20 rue Berliet 21000 DIJON
LL1050 LAVE LINGE MOULINEX 520,00 €
4025 PALO Nicole 10 rue de la Préfecture 75001 PARIS
LL450 LAVE LINGE ARTHUR MARTIN 250,00 €
2436 MARIE Olivier 43 rue de l'église 06000 NICE
LV2050 LAVE VAISSELLE BRANDT 1 035,00 €
2596 BELO Vincent 15 rue des chèvrefeuilles 75002 PARIS
LV5790 LAVE VAISSELLE MIELE 1 050,00 €
5298 GIDOT Sylvie 20 rue de Melun 75013 PARIS
RF147 REFRIGERATEUR MIELE 750,00 €
5496 FAVRE Caroline 61 rue du calvaire 10000 TROYES
RF2047 REFRIGERATEUR BRANDT 1 020,00 €
0573 VIAR Stéphane 68 rue Anatole France 75016 PARIS
RF243 REFRIGERATEUR WHIRLPOOL 990,00 €
9246 MAIRE René 28 rue de l'Orme 69003 LYON
9346 TAR Delphine 8 rue de Marseille 75013 PARIS
7951 FOURNE Pascal 2 rue des Marroniers 18000 BOURGES
7952 TIRU Anne 10 cours Lafayette 75016 PARIS
7142 ARTI Mireille 10 rue Bossuet 21000 DIJON
2218 VOLO Sophie 20 impasse Potet 75019 PARIS
1072 FUTIR Gérard 25 rue Gallieni 10300 STE SAVINE
7852 ELIA Bernard 105 avenue Charlemagne 75020 PARIS
7365 MOUR Arnaud 14 place Jules Ferry 89000 AUXERRE
7369 YZER Jean 20 Cours Vuitton 75007 PARIS
 Aucun lien entre les tables

nomcli desiprod
ANDRE CONGELATEUR
ANDRE CONGELATEUR
ANDRE CONGELATEUR
ANDRE CONGELATEUR
BULI CONGELATEUR
BULI CONGELATEUR
BULI CONGELATEUR
BULI CONGELATEUR
VERIN CONGELATEUR
VERIN CONGELATEUR
VERIN CONGELATEUR
VERIN CONGELATEUR
GADRON CONGELATEUR
GADRON CONGELATEUR
GADRON CONGELATEUR
GADRON CONGELATEUR
BALOIR CONGELATEUR
BALOIR CONGELATEUR
BALOIR CONGELATEUR
 Le lien se fait grâce à la relation RECLAMATION
 Jointure : lien entre les tables

nomcli desiprod

VOLO CONGELATEUR

MOUR CONGELATEUR

ARTI CONGELATEUR

BALOIR CONGELATEUR

BULI CONGELATEUR

VIAR CONGELATEUR

PALO CONGELATEUR
Le langage de requête SQL :
les opérateurs
 Projection : SELECT
 Restriction : WHERE / AND
 Tri : ORDER BY … ASC / DESC
 Jointure : WHERE
Le langage de requête SQL /
structure des requêtes
SELECT champ1, champ2
FROM table1
WHERE champ1 = « … »
ORDER BY champ2 ASC ;
Le langage de requête SQL /
structure des requêtes
Exemple : liste des clients habitant Paris
par ordre alphabétique

SELECT nomcli
FROM client
WHERE villecli = « Paris »
ORDER BY nomcli ASC ;
Le langage de requête SQL /
structure des requêtes

SELECT champ1, champ2


FROM table1, table2
WHEREtable1.cléprimaire=table2.cléétrangère
AND champ1 = « … » ;
Le langage de requête SQL /
structure des requêtes
Exemple : nom des clients ayant fait une
réclamation pour un lave linge

SELECT nomcli
FROM client, produit, réclamation
WHERE client.numcli = réclamation.numcli
AND produit.refprod = réclamation.refprod
AND desiprod = « lave linge » ;

Vous aimerez peut-être aussi