1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
CREATE TABLE FOURNISSEUR (
FournisseurId CHAR(04) NOT NULL
, Etc VARCHAR(48) NOT NULL
, CONSTRAINT FOURNISSEUR_PK PRIMARY KEY (FournisseurId))
;
CREATE TABLE PRODUIT (
ProduitId CHAR(04) NOT NULL
, Etc VARCHAR(48) NOT NULL
, CONSTRAINT PRODUIT_PK PRIMARY KEY (ProduitId))
;
CREATE TABLE PROD_FOUR (
ProduitId CHAR(04) NOT NULL
, FournisseurId CHAR(04) NOT NULL
, Etc VARCHAR(48) NOT NULL
, PRIMARY KEY (ProduitId, FournisseurId)
, CONSTRAINT PROD_FOUR_FOUR_FK FOREIGN KEY (FournisseurId)
REFERENCES FOURNISSEUR (FournisseurId)
, CONSTRAINT PROD_FOUR_PROD_FK FOREIGN KEY (ProduitId)
REFERENCES PRODUIT (ProduitId))
;
CREATE TABLE COMMANDE (
CommandeId CHAR(04) NOT NULL
, FournisseurId CHAR(04) NOT NULL
, Etc VARCHAR(48) NOT NULL
CONSTRAINT COMMANDE_PK PRIMARY KEY (CommandeId)
, CONSTRAINT COMMANDE_FOUR_FK FOREIGN KEY (FournisseurId)
REFERENCES FOURNISSEUR (FournisseurId))
;
CREATE TABLE CDE_PROD (
CommandeId CHAR(04) NOT NULL
, ProduitId CHAR(04) NOT NULL
, Quantite INT NOT NULL
, Montant INT NOT NULL
, CONSTRAINT CDE_PROD_PK PRIMARY KEY (CommandeId, ProduitId)
, CONSTRAINT CDE_PROD_CDE_FK FOREIGN KEY (CommandeId)
REFERENCES COMMANDE (CommandeId)
, CONSTRAINT CDE_PRODUIT_FK FOREIGN KEY (ProduitId)
REFERENCES PRODUIT (ProduitId))
;
-----------------------------------------------------------------
INSERT INTO FOURNISSEUR VALUES ('F01', 'un 1er fournisseur') ;
INSERT INTO FOURNISSEUR VALUES ('F02', 'un 2e fournisseur') ;
INSERT INTO FOURNISSEUR VALUES ('F03', 'un 3e fournisseur') ;
INSERT INTO FOURNISSEUR VALUES ('F04', 'un 4e fournisseur') ;
INSERT INTO PRODUIT VALUES ('P01', 'un 1er produit') ;
INSERT INTO PRODUIT VALUES ('P02', 'un 2e produit') ;
INSERT INTO PROD_FOUR VALUES ('P01', 'F01', 'une 1ère paire produit / fournisseur') ;
INSERT INTO PROD_FOUR VALUES ('P01', 'F02', 'une 2e paire produit / fournisseur') ;
INSERT INTO PROD_FOUR VALUES ('P01', 'F03', 'une 3e paire produit / fournisseur') ;
INSERT INTO PROD_FOUR VALUES ('P02', 'F02', 'une 4e paire produit / fournisseur') ;
INSERT INTO PROD_FOUR VALUES ('P02', 'F03', 'une 5e paire produit / fournisseur') ;
INSERT INTO PROD_FOUR VALUES ('P02', 'F04', 'une 6e paire produit / fournisseur') ;
INSERT INTO COMMANDE VALUES ('CD01', 'F01', 'une 1ère commande') ;
INSERT INTO COMMANDE VALUES ('CD02', 'F02', 'une 2e commande') ;
INSERT INTO COMMANDE VALUES ('CD03', 'F03', 'une 3e commande') ;
INSERT INTO CDE_PROD VALUES ('CD01', 'P01', 100, 1000) ;
INSERT INTO CDE_PROD VALUES ('CD01', 'P02', 200, 2000) ;
SELECT '' AS FOURNISSEUR, * FROM FOURNISSEUR ;
SELECT '' AS PRODUIT, * FROM PRODUIT ;
SELECT '' AS PROD_FOUR, * FROM PROD_FOUR ;
SELECT '' AS COMMANDE, * FROM COMMANDE ;
SELECT '' AS CDE_PROD, * FROM CDE_PROD ;
UPDATE CDE_PROD
SET ProduitId = 'P02' WHERE CommandeId = 'CD01'
SELECT '' AS CDE_PROD, * FROM CDE_PROD ; |
Partager