|
|
|
@ -20,14 +20,15 @@ CREATE TABLE FOURNISSEUR {
|
|
|
|
|
CREATE TABLE LIVRAISON {
|
|
|
|
|
id_livraison char(4) PRIMARY KEY,
|
|
|
|
|
date_livraison date NOT NULL,
|
|
|
|
|
if_fournisseur char(4) REFERENCES FOURNISSEUR
|
|
|
|
|
id_fournisseur char(4) REFERENCES FOURNISSEUR
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE PRODUIT {
|
|
|
|
|
id_produit char(4) PRIMARY KEY,
|
|
|
|
|
designation varchar(50) UNIQUE NOT NULL,
|
|
|
|
|
nom varchar(50) UNIQUE NOT NULL,
|
|
|
|
|
qte numeric NOT NULL CHECK(qte >= 0),
|
|
|
|
|
prix numeric(6,2) NOT NULL CHECK(prix > 0),
|
|
|
|
|
prix_loca numeric(6,2) NOT NULL CHECK(prix_loca > 0),
|
|
|
|
|
prix_reserve numeric NOT NULL CHECK(prix_reserve > 0)
|
|
|
|
|
id_type char(4) REFERENCES TYPE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -43,10 +44,8 @@ CREATE TABLE TYPE {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE RESERVATION {
|
|
|
|
|
id_reservation char(4) PRIMARY KEY,
|
|
|
|
|
date_deb date NOT NULL,
|
|
|
|
|
quantite numeric() NOT NULL CHECK (quantite > 0),
|
|
|
|
|
prix_caution numeric(4,2) NOT NULL CHECK (prix > 0)
|
|
|
|
|
id_reservation char(4) PRIMARY KEY,
|
|
|
|
|
date_reservation date NOT NULL
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE CONTIENT {
|
|
|
|
@ -54,12 +53,16 @@ CREATE TABLE CONTIENT {
|
|
|
|
|
id_produit char(4) REFERENCES PRODUIT,
|
|
|
|
|
id_reservation char(4) REFERENCES RESERVATION
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ETAT_PROD {
|
|
|
|
|
etat_prod char(4) PRIMARY KEY,
|
|
|
|
|
caution numeric(4,2) NOT NULL CHECK (caution > 0)
|
|
|
|
|
}
|
|
|
|
|
CREATE TABLE LOCATION {
|
|
|
|
|
id_location char(4) PRIMARY KEY,
|
|
|
|
|
nom varchar(30) NOT NULL,
|
|
|
|
|
note numeric () NOT NULL CHECK (note > 0 AND note <= 5),
|
|
|
|
|
description varchar(50)
|
|
|
|
|
id_location char(4) PRIMARY KEY,
|
|
|
|
|
nom varchar(30) NOT NULL,
|
|
|
|
|
note numeric () NOT NULL CHECK (note > 0 AND note <= 5),
|
|
|
|
|
description varchar(50),
|
|
|
|
|
etat_prod char(4) REFERENCES ETAT_PROD
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE AVOIR {
|
|
|
|
@ -69,25 +72,90 @@ CREATE TABLE AVOIR {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE CLIENT {
|
|
|
|
|
id_client char(4) PRIMARY KEY,
|
|
|
|
|
nom varchar(30) NOT NULL,
|
|
|
|
|
num_tel numeric(10) UNIQUE NOT NULL,
|
|
|
|
|
num_rue numeric(),
|
|
|
|
|
code_postal char(5) NOT NULL,
|
|
|
|
|
ville varchar(20) NOT NULL,
|
|
|
|
|
type_client varchar(30) NOT NULL,
|
|
|
|
|
id_location char(4) REFERENCES LOCATION,
|
|
|
|
|
id_reservation char(4) REFERENCES RESERVATION,
|
|
|
|
|
num_region numeric() REFERENCES ZONE_GEOGRAPHIQUE
|
|
|
|
|
id_client char(4) PRIMARY KEY,
|
|
|
|
|
nom varchar(30) NOT NULL,
|
|
|
|
|
num_tel numeric(10) UNIQUE NOT NULL,
|
|
|
|
|
num_rue numeric(),
|
|
|
|
|
code_postal char(5) NOT NULL,
|
|
|
|
|
ville varchar(20) NOT NULL,
|
|
|
|
|
type_client varchar(30) NOT NULL,
|
|
|
|
|
authorize_reduc char(1) NOT NULL CHECK(authorize_reduc = 'y' OR authorize_reduc ='n'),
|
|
|
|
|
id_location char(4) REFERENCES LOCATION,
|
|
|
|
|
id_reservation char(4) REFERENCES RESERVATION,
|
|
|
|
|
num_region numeric() REFERENCES ZONE_GEOGRAPHIQUE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE RETOUR {
|
|
|
|
|
date_retour date NOT NULL,
|
|
|
|
|
id_location char(4) REFERENCES LOCATION,
|
|
|
|
|
id_client char(4) REFERENCES CLIENT
|
|
|
|
|
date_retour date NOT NULL,
|
|
|
|
|
id_location char(4) REFERENCES LOCATION,
|
|
|
|
|
id_client char(4) REFERENCES CLIENT
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
CREATE TABLE ZONE_GEOGRAPHIQUE {
|
|
|
|
|
num_region numeric() NOT NULL,
|
|
|
|
|
num_region numeric() PRIMARY KEY,
|
|
|
|
|
region varchar(30) NOT NULL
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INSERT INTO FOURNISSEUR VALUES('F001', 'JEFOURNIS', '4', 'Fournisseur');
|
|
|
|
|
INSERT INTO FOURNISSEUR VALUES('F002', 'FOURNIER', '3', 'Fournisseur ');
|
|
|
|
|
INSERT INTO FOURNISSEUR VALUES('F003', 'FOURNOIS', '5', 'Excellent fournisseur');
|
|
|
|
|
INSERT INTO FOURNISSEUR VALUES('F004', 'FOURNETOUT', '2', 'Ce fournisseur pourrait mieux faire');
|
|
|
|
|
INSERT INTO FOURNISSEUR VALUES('F005', 'FOURNETTE', '4', 'Un bon fournisseur');
|
|
|
|
|
INSERT INTO FOURNISSEUR VALUES('F006', 'FOURNESOL', '3', 'Assez bon fournisseur');
|
|
|
|
|
|
|
|
|
|
INSERT INTO LIVRAISON VALUES('L001', '12-01-2022', 'F002');
|
|
|
|
|
INSERT INTO LIVRAISON VALUES('L002', '12-01-2022', 'F001');
|
|
|
|
|
INSERT INTO LIVRAISON VALUES('L003', '13-01-2022', 'F004');
|
|
|
|
|
INSERT INTO LIVRAISON VALUES('L004', '13-01-2022', 'F005');
|
|
|
|
|
INSERT INTO LIVRAISON VALUES('L005', '13-01-2022', 'F002');
|
|
|
|
|
INSERT INTO LIVRAISON VALUES('L006', '15-01-2022', 'F003');
|
|
|
|
|
|
|
|
|
|
INSERT INTO PRODUIT VALUES('P001', 'Monopoly', '125', '1.70', '5', 'T006');
|
|
|
|
|
INSERT INTO PRODUIT VALUES('P002', 'Echecs', '50', '1.80', '7', 'T001');
|
|
|
|
|
INSERT INTO PRODUIT VALUES('P003', 'Carcassonne', '200', '1.90', '5', 'T003');
|
|
|
|
|
INSERT INTO PRODUIT VALUES('P004', 'Mikado', '70', '1.50', '3', 'T007');
|
|
|
|
|
INSERT INTO PRODUIT VALUES('P005', 'UNO', '200', '1.10', '2', 'T005');
|
|
|
|
|
INSERT INTO PRODUIT VALUES('P006', 'Qui est ce ?', '200', '2.20', '3', 'T002');
|
|
|
|
|
|
|
|
|
|
INSERT INTO POSSEDE VALUES('5', 'P001', 'L003');
|
|
|
|
|
INSERT INTO POSSEDE VALUES('2', 'P002', 'L001');
|
|
|
|
|
INSERT INTO POSSEDE VALUES('1', 'P006', 'L002');
|
|
|
|
|
INSERT INTO POSSEDE VALUES('9', 'P005', 'L006');
|
|
|
|
|
INSERT INTO POSSEDE VALUES('22', 'P001', 'L005');
|
|
|
|
|
INSERT INTO POSSEDE VALUES('6', 'P004', 'L004');
|
|
|
|
|
|
|
|
|
|
INSERT INTO TYPE VALUES('T001', 'jeu de strategie');
|
|
|
|
|
INSERT INTO TYPE VALUES('T002', 'jeu d enfants');
|
|
|
|
|
INSERT INTO TYPE VALUES('T003', 'jeu de famille');
|
|
|
|
|
INSERT INTO TYPE VALUES('T004', 'jeu d adulte');
|
|
|
|
|
INSERT INTO TYPE VALUES('T005', 'jeu de cartes');
|
|
|
|
|
INSERT INTO TYPE VALUES('T006', 'jeu de plateau');
|
|
|
|
|
INSERT INTO TYPE VALUES('T007', 'jeu d adresse');
|
|
|
|
|
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R001', '18-01-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R002', '19-01-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R003', '25-01-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R004', '30-01-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R005', '31-01-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R006', '06-02-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R007', '18-02-2022');
|
|
|
|
|
INSERT INTO RESERVATION VALUES('R008', '01-03-2022');
|
|
|
|
|
|
|
|
|
|
INSERT INTO CONTIENT VALUES('5', 'P001');
|
|
|
|
|
|
|
|
|
|
INSERT INTO ETAT_PROD VALUES('E001','1');
|
|
|
|
|
INSERT INTO ETAT_PROD VALUES('E002','1.50');
|
|
|
|
|
INSERT INTO ETAT_PROD VALUES('E003','2');
|
|
|
|
|
INSERT INTO ETAT_PROD VALUES('E004','2.50');
|
|
|
|
|
INSERT INTO ETAT_PROD VALUES('E005','3');
|
|
|
|
|
|
|
|
|
|
INSERT INTO LOCATION VALUES('L001', 'Dunkerque', '4', 'Lieu ');
|
|
|
|
|
INSERT INTO LOCATION VALUES('L002');
|
|
|
|
|
INSERT INTO LOCATION VALUES('L003');
|
|
|
|
|
|
|
|
|
|
INSERT INTO AVOIR VALUES();
|
|
|
|
|
INSERT INTO CLIENT VALUES();
|
|
|
|
|
INSERT INTO RETOUR VALUES();
|
|
|
|
|
INSERT INTO ZONE_GEOGRAPHIQUE VALUES();
|