You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.5 KiB
93 lines
2.5 KiB
DROP TABLE IF EXISTS APPROVISIONNER;
|
|
DROP TABLE IF EXISTS STOCKER;
|
|
DROP TABLE IF EXISTS RESERVER;
|
|
DROP TABLE IF EXISTS PRODUIT;
|
|
DROP TABLE IF EXISTS MAGASIN;
|
|
DROP TABLE IF EXISTS FOURNISSEUR;
|
|
DROP TABLE IF EXISTS CLIENT;
|
|
DROP TABLE IF EXISTS CATEGORIE;
|
|
|
|
CREATE TABLE CATEGORIE (
|
|
idcategorie char(5) NOT NULL UNIQUE,
|
|
nom varchar(30) NOT NULL,
|
|
PRIMARY KEY (idcategorie)
|
|
);
|
|
|
|
CREATE TABLE CLIENT (
|
|
idclient char(5) NOT NULL UNIQUE,
|
|
nom varchar(30) NOT NULL,
|
|
prenom varchar(20) NOT NULL,
|
|
date_de_naissance date,
|
|
adresse varchar(42),
|
|
ville varchar(30),
|
|
pays char(2),
|
|
code_postal char(5),
|
|
telephone char(10),
|
|
email varchar(40) NOT NULL,
|
|
type varchar CHECK(type IN ('particulier','entreprise','ecole','centre de loisir')),
|
|
PRIMARY KEY (idclient)
|
|
);
|
|
|
|
CREATE TABLE FOURNISSEUR (
|
|
idfournisseur char(5) NOT NULL UNIQUE,
|
|
nom varchar(30) NOT NULL,
|
|
adresse varchar(40) NOT NULL,
|
|
ville varchar(30) NOT NULL,
|
|
code_postal char(5) NOT NULL,
|
|
telephone char(10) NOT NULL,
|
|
email varchar(40) NOT NULL,
|
|
PRIMARY KEY (idfournisseur)
|
|
);
|
|
|
|
CREATE TABLE MAGASIN (
|
|
idmagasin char(5) NOT NULL UNIQUE,
|
|
nom varchar(30) NOT NULL,
|
|
adresse varchar(40) NOT NULL,
|
|
ville varchar(30) NOT NULL,
|
|
code_postal char(5) NOT NULL,
|
|
telephone char(10) NOT NULL,
|
|
email varchar(42) NOT NULL,
|
|
PRIMARY KEY (idmagasin)
|
|
);
|
|
|
|
CREATE TABLE PRODUIT (
|
|
idproduit char(5) NOT NULL UNIQUE,
|
|
nom varchar(40) NOT NULL,
|
|
marque varchar(30) NOT NULL,
|
|
taille varchar(20) NOT NULL,
|
|
prix numeric NOT NULL,
|
|
idcategorie char(5) NOT NULL,
|
|
FOREIGN KEY (idcategorie) REFERENCES CATEGORIE (idcategorie),
|
|
PRIMARY KEY (idproduit)
|
|
);
|
|
|
|
CREATE TABLE RESERVER (
|
|
idclient char(5) NOT NULL,
|
|
idproduit char(5) NOT NULL,
|
|
quantite numeric NOT NULL,
|
|
date_debut date NOT NULL,
|
|
date_fin date NOT NULL,
|
|
FOREIGN KEY (idproduit) REFERENCES PRODUIT (idproduit),
|
|
FOREIGN KEY (idclient) REFERENCES CLIENT (idclient),
|
|
PRIMARY KEY (idclient, idproduit)
|
|
);
|
|
|
|
CREATE TABLE STOCKER (
|
|
idmagasin char(5) NOT NULL,
|
|
idproduit char(5) NOT NULL,
|
|
quantite numeric NOT NULL,
|
|
FOREIGN KEY (idproduit) REFERENCES PRODUIT (idproduit),
|
|
FOREIGN KEY (idmagasin) REFERENCES MAGASIN (idmagasin),
|
|
PRIMARY KEY (idmagasin, idproduit)
|
|
);
|
|
|
|
CREATE TABLE APPROVISIONNER (
|
|
idfournisseur char(5) NOT NULL,
|
|
idproduit char(5) NOT NULL,
|
|
quantite numeric NOT NULL,
|
|
date_approvisionnement date,
|
|
FOREIGN KEY (idproduit) REFERENCES PRODUIT (idproduit),
|
|
FOREIGN KEY (idfournisseur) REFERENCES FOURNISSEUR (idfournisseur),
|
|
PRIMARY KEY (idfournisseur, idproduit)
|
|
);
|