diff --git a/SAEBDD.sql b/SAEBDD.sql index 984f6d9..08d1385 100644 --- a/SAEBDD.sql +++ b/SAEBDD.sql @@ -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), @@ -95,31 +81,4 @@ INSERT INTO Fournisseur VALUES('Tutur2Luxe','Achat','12/09/2022'); 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); +INSERT INTO Fournisseur VALUES('Formili1','Achat','03/03/2022'); \ No newline at end of file