un exemple de BD relationnelle et SQL (Structured Query Language)
Cet ED est entièrement inspiré dans "introduction
au standard SQL" de Chris Date ed. InterEditions
Ce n'est pas un cours SQL, les notions qui nous intéresse sont introduites
au fur et à mesure.
Une base de données est un ensemble de tables.
Une table est un ensemble ordonné de lignes comportant toutes
le même nombre de colonnes.
Exemple (pour toute la suite) :
"Des fournisseurs ayant un nom, un statut et habitant dans une ville et livrant
une certaine quantité de piéces d'une certaine couleur et d'un
certain poids produites dans une ville."
Relation F : 4 champs
FNO | FNOM | STATUS | VILLE |
F1 | Smith | 20 | Londres |
F2 | Martin | 10 | Paris |
F3 | Robert | 30 | Paris |
F4 | Clark | 20 | Londres |
F5 | Dukakis | 30 | Athènes |
Relation P : 5 champs
PNO | PNOM | COULEUR | POIDS | VILLE |
P1 | Ecrou | Rouge | 12 | Londres |
P2 | Boulon | Vert | 17 | Paris |
P3 | Vis | Bleu | 17 | Rome |
P4 | Vis | Rouge | 14 | Londres |
P5 | Came | Bleu | 12 | Paris |
P6 | Pignon | Rouge | 19 | Londres |
Relation FP : 3 champs
FNO |
PNO | QTE |
F1 | P1 | 300 |
F1 | P2 | 200 |
F1 | P3 | 400 |
F1 | P4 | 200 |
F1 | P5 | 100 |
F1 | P6 | 100 |
F2 | P1 | 300 |
F2 | P2 | 400 |
F3 | P2 | 300 |
F4 | P2 | 200 |
F4 | P4 | 300 |
F4 | P5 | 400 |
La création d'une base se fait par un ordre de la forme :
CREATE TABLE "nom de la table"
(
"liste d'attributs et de types"
);
par exemple :
CREATE TABLE F
(
FNO CHAR(5) NOT NULL,
FNOM CHAR(20),
STATUT DECIMAL(3),
VILLE CHAR(15),
UNIQUE (FNO)
);
Contraintes d'intégrité :
NOT NULL => ne peut être vide
UNIQUE => toutes les valeurs doivent être différentes.