(1) MATIERE a pour attributs matiereId et matiereNom :
— matiereId est ce qu’on appelle un identifiant, permettant de distinguer chaque instance (occurrence) de MATIERE, c'est-à-dire que deux instances ne peuvent pas avoir la même valeur pour cet identifiant (interdiction des doublons) ;
— matiereNom permet d’affecter un nom : « Huile d'arachide », « Huile de palme », etc.
Exemple tabulaire :
matiereId matiereNom
1 Huile d'arachide
2 Huile de palme
... ...
7 Pétrole
... ...
(2) UNITE a pour attributs uniteId (identifiant) et uniteLibelle :
uniteId uniteLibelle
1 $/t
2 BRENT $/bl
... ...
(3) MATIERE_COURS a pour identifiant le triplet {R.MATIERE, annee, mois}, c'est-à-dire le triplet {matiereId, annee, mois}, où matiereId est hérité de MATIERE via l’association VALOIR :
matiereId annee mois valeur
1 2006 01 930
1 2006 02 921
... ... ... ...
1 2006 12 1173
1 2007 01 1180
... ... ... ...
2 2006 01 424
... ... ... ...
7 2015 04 60.8
... ... ... ...
Vous noterez en passant que, contrairement à ce qui se passe dans le cas d’Excel, au lieu d’avoir à ajouter des attributs au fil du temps, on se bornera à ajouter des instances : la structure n’est pas touchée, elle reste la suivante :
{matiereId, annee, mois, valeur}.
INSERT INTO UNITE (uniteId, uniteLibelle) VALUES
(1, '$/t'), (2, 'BRENT $/bl') ;
INSERT INTO MATIERE (matiereId, matiereNom, uniteId) VALUES
(1, 'Huile d''arachide', 1)
, (2, 'Huile de palme', 1)
, (3, 'Riz', 1)
, (4, 'Maïs', 1)
, (5, 'Coton', 1)
, (6, 'Phosphate', 1)
, (7, 'Pétrole', 2)
;
INSERT INTO MATIERE_COURS (matiereId, annee, mois, valeur) VALUES
(1, 2006, 1, 930), (1, 2006, 2, 921), (1, 2006, 3, 902), (1, 2006, 4, 899), (1, 2006, 5, 892), (1, 2006, 6, 898)
, (1, 2006, 7, 928), (1, 2006, 8, 944), (1, 2006, 9, 959), (1, 2006, 10, 1068), (1, 2006, 11, 1120), (1, 2006, 12, 1173)
, (1, 2007, 1, 1180), (1, 2007, 2, 1173), (1, 2007, 3, 1157), (1, 2007, 4, 1202), (1, 2007, 5, 1159), (1, 2007, 6, 1209)
, (1, 2007, 7, 1342), (1, 2007, 8, 1414), (1, 2007, 9, 1445), (1, 2007, 10, 1486), (1, 2007, 11, 1691), (1, 2007, 12, 1777)
, (2, 2006, 1, 424), (2, 2006, 2, 445), (2, 2006, 3, 440), (2, 2006, 4, 439), (2, 2006, 5, 440), (2, 2006, 6, 437)
, (2, 2006, 7, 471), (2, 2006, 8, 510), (2, 2006, 9, 498), (2, 2006, 10, 506.92), (2, 2006, 11, 547.03), (2, 2006, 12, 582.94)
, (2, 2007, 1, 599.21), (2, 2007, 2, 605), (2, 2007, 3, 622), (2, 2007, 4, 710), (2, 2007, 5, 772), (2, 2007, 6, 805)
, (2, 2007, 7, 811), (2, 2007, 8, 821), (2, 2007, 9, 835), (2, 2007, 10, 881), (2, 2007, 11, 952), (2, 2007, 12, 950)
;
Visualisation des tables :
Partager