|
|
|
@ -5,8 +5,8 @@ CREATE TABLE Voiture(
|
|
|
|
|
marque VARCHAR(50) NOT NULL,
|
|
|
|
|
kilométrage NUMERIC(6) NOT NULL,
|
|
|
|
|
couleur VARCHAR(40) NOT NULL,
|
|
|
|
|
modèle VARCHAR(50) NOT NULL REFERENCES Type,
|
|
|
|
|
année NUMERIC(4) NOT NULL CHECK(année > 1900 AND DATE_PART('year', current_date) - année >= 0)
|
|
|
|
|
année NUMERIC(4) NOT NULL CHECK(année > 1900 AND DATE_PART('year', current_date) - année >= 0),
|
|
|
|
|
modèle VARCHAR(50) NOT NULL REFERENCES Type
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -19,7 +19,7 @@ CREATE TABLE Client(
|
|
|
|
|
num_permis CHAR(15) PRIMARY KEY,
|
|
|
|
|
nom VARCHAR(40) NOT NULL,
|
|
|
|
|
prenom VARCHAR(40) NOT NULL,
|
|
|
|
|
date_obtention NUMERIC(4) NOT NULL CONSTRAINT Problème_Date CHECK(date_obtention <= DATE_PART('year', current_date) - 3 AND date_obtention > 1942),
|
|
|
|
|
année_obtention NUMERIC(4) NOT NULL CONSTRAINT Problème_Date CHECK(date_obtention <= DATE_PART('year', current_date) - 3 AND date_obtention > 1942),
|
|
|
|
|
adresse VARCHAR(100) NOT NULL,
|
|
|
|
|
code_postal NUMERIC(5) NOT NULL CHECK(9999 < code_postal AND code_postal < 99999),
|
|
|
|
|
ville VARCHAR(100) NOT NULL,
|
|
|
|
@ -27,24 +27,10 @@ CREATE TABLE Client(
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE Réservartion(
|
|
|
|
|
|
|
|
|
|
num_reservation NUMERIC(12) CONSTRAINT Numéro_Réservation PRIMARY KEY,
|
|
|
|
|
DateReservation DATE CONSTRAINT Date_Réservation NOT NULL,
|
|
|
|
|
forfait NUMERIC(5,2) CONSTRAINT Problème_Forfait CHECK (Forfait > 0.00),
|
|
|
|
|
DateRetour DATE CONSTRAINT Date_Retour CHECK (dateretour > DateReservation AND dateRetour = DateReservation + Durée),
|
|
|
|
|
Durée NUMERIC(2) CONSTRAINT Problème_Durée CHECK(Durée <= 7 AND Durée >= 1)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE Stock(
|
|
|
|
|
immatriculation CHAR(9) REFERENCES Voiture CHECK(immatriculation LIKE '(A-Z)(A-Z)(0-9)(0-9)(0-9)(A-Z)(A-Z)'),
|
|
|
|
|
num_reservation NUMERIC(12) REFERENCES Réservartion,
|
|
|
|
|
disponibilité CHAR(3) NOT NULL CONSTRAINT Problème_Disponibilité,
|
|
|
|
|
PRIMARY KEY(immatriculation, num_reservation)
|
|
|
|
|
|
|
|
|
|
CREATE TABLE Réservation(
|
|
|
|
|
num_reservation NUMERIC(12) PRIMARY KEY,
|
|
|
|
|
immatriculation CHAR(9) REFERENCES Voiture CHECK(immatriculation LIKE '[A-Z][A-Z]-[0-9][0-9][0-9]-[A-Z][A-Z]'),
|
|
|
|
|
num_permis CHAR(15) REFERENCES Client,
|
|
|
|
|
disponibilité NUMERIC(1) NOT NULL CHECK(disponibilité = 0 OR disponibilité = 1),
|
|
|
|
|
DateReservation DATE NOT NULL,
|
|
|
|
|
forfait NUMERIC(5,2) CONSTRAINT Problème_Forfait CHECK (Forfait > 0.00),
|
|
|
|
@ -96,30 +82,3 @@ INSERT INTO Fournisseur VALUES('Ford','Essai','09/11/2022');
|
|
|
|
|
INSERT INTO Fournisseur VALUES('LaQimatra','Location','01/04/2022');
|
|
|
|
|
INSERT INTO Fournisseur VALUES('Roux2Scoure','Achat','06/06/2022');
|
|
|
|
|
INSERT INTO Fournisseur VALUES('Formili1','Achat','03/03/2022');
|
|
|
|
|
|
|
|
|
|
INSERT INTO Réservartion VALUES('168493756259','PO-726-TG',0,'28/09/2022','01/10/2022',3,465.81);
|
|
|
|
|
INSERT INTO Réservartion VALUES('563248946321','VI-404-MS',0,'12/05/2022','13/05/2022',1,113.61);
|
|
|
|
|
INSERT INTO Réservartion VALUES('468723496457','BI-132-NO',0,'5/12/2022','12/12/2022',7,927.12);
|
|
|
|
|
INSERT INTO Réservartion VALUES('282758252532','PO-726-TG',0,'27/07/2022','29/07/2022',2,276.73);
|
|
|
|
|
INSERT INTO Réservartion VALUES('587287914563','PQ-100-DB',0,'2/04/2022','8/07/2022',6,784.20);
|
|
|
|
|
INSERT INTO Réservartion VALUES('987526341287','PO-726-TG',0,'27/08/2022','2/09/2022',5,693.35);
|
|
|
|
|
INSERT INTO Réservartion VALUES('282758252532','VI-404-MS',0,'18/03/2022','23/03/2022',5,471.09);
|
|
|
|
|
INSERT INTO Réservartion VALUES('462597585579','CO-138-OL',0,'11/11/2022','13/11/2022',2,228.40);
|
|
|
|
|
INSERT INTO Réservartion VALUES('474517621275','EZ-667-EK',0,'30/11/2022','5/12/2022',6,815.63);
|
|
|
|
|
INSERT INTO Réservartion VALUES('754798782598','GR-056-ON',0,'13/05/2022','14/05/2022',1,142.47);#
|
|
|
|
|
INSERT INTO Réservartion VALUES('267687528757','VI-404-MS',0,'03/07/2022','5/07/2022',2,259.49);
|
|
|
|
|
INSERT INTO Réservartion VALUES('785872778678','GR-056-ON',0,'15/02/2022','20/02/2022',5,803.75);
|
|
|
|
|
INSERT INTO Réservartion VALUES('525287258724','BI-132-NO',0,'27/07/2022','30/07/2022',3,290.53);
|
|
|
|
|
INSERT INTO Réservartion VALUES('282758252867','PO-726-TG',0,'07/03/2022','11/03/2022',4,354.25);
|
|
|
|
|
INSERT INTO Réservartion VALUES('257695794285','BI-132-NO',0,'09/05/2022','16/05/2022',7,998.99);#
|
|
|
|
|
INSERT INTO Réservartion VALUES('229883782794','VI-404-MS',0,'02/04/2022','03/04/2022',1,099.27);
|
|
|
|
|
|
|
|
|
|
INSERT INTO Réservartion VALUES('419411149497','EZ-667-EK',0,'24/12/2022','26/12/2022',2,359.24);
|
|
|
|
|
INSERT INTO Réservartion VALUES('484651178468','PO-726-TG',0,'31/12/2022','1/01/2023',1,102.69);
|
|
|
|
|
INSERT INTO Réservartion VALUES('978615615984','CO-138-OL',0,'03/03/2023','10/03/2023',7,964.25);#
|
|
|
|
|
INSERT INTO Réservartion VALUES('257695794285','CO-138-OL',0,'19/12/2022','23/12/2022',4,387.18);
|
|
|
|
|
INSERT INTO Réservartion VALUES('971269215996','VI-404-MS',0,'12/02/2023','14/03/2023',2,217.89);
|
|
|
|
|
INSERT INTO Réservartion VALUES('945816374982','BI-132-NO',0,'17/01/2023','23/01/2023',6,704.18);
|
|
|
|
|
INSERT INTO Réservartion VALUES('978615615984','PQ-100-DB',0,'17/04/2023','20/04/2023',3,248.67);
|
|
|
|
|
INSERT INTO Réservartion VALUES('858852278728','PO-726-TG',0,'09/03/2023','10/03/2023',1,076.43);#
|
|
|
|
|
INSERT INTO Réservartion VALUES('528424598754','BI-132-NO',0,'27/06/2023','1/07/2023',4,964.25);
|
|
|
|
|