From 5a9365e554c79f57949e35eb43bf018e725064f0 Mon Sep 17 00:00:00 2001 From: "Johnny.Ratton" Date: Wed, 7 Dec 2022 15:10:19 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9bugage=20du=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SAEBDD.sql | 77 +++++++++++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 41 deletions(-) diff --git a/SAEBDD.sql b/SAEBDD.sql index 97a7d8c..93a8254 100644 --- a/SAEBDD.sql +++ b/SAEBDD.sql @@ -1,52 +1,47 @@ DROP TABLE Voiture, Types, Client, Réservartion, Stock; CREATE TABLE Voiture( - immatriculation CHAR(9) PRIMARY KEY CONSTRAINT Problème_Immatriculation CHECK(immatriculation LIKE '(A-Z)(A-Z)-(0-9)(0-9)(0-9)-(A-Z)(A-Z)'), - marque VARCHAR(50) NOT NULL CONSTRAINT Probmème_Marque, - kilométrage NUMERIC(6) NOT NULL CONSTRAINT Problème_Kilométrage, - couleur VARCHAR(40) NOT NULL CONSTRAINT Porblème_Couleur, + immatriculation CHAR(9) PRIMARY KEY CONSTRAINT Problème_Immatriculation CHECK(immatriculation ~ '[A-Z][A-Z]-[0-9][0-9][0-9]-[A-Z][A-Z]'), + 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) ); CREATE TABLE Type( - modèle VARCHAR(50) PRIMARY KEY CONSTRAINT Problème_Modèle, - caution NUMERIC(5) NOT NULL CONSTRAINT Poblème_Caution + modèle VARCHAR(50) PRIMARY KEY, + caution NUMERIC(6) NOT NULL ); CREATE TABLE Client( - num_permis VARCHAR(15) PRIMARY KEY CONSTRAINT Numéro_de_permis, - nom VARCHAR(40) NOT NULL CONSTRAINT Problème_Nom, - prenom VARCHAR(40) NOT NULL CONSTRAINT Problème_Prénom, - date_obtention NUMERIC(4) NOT NULL CONSTRAINT Problème_Date CHECK(date_obtention <= 2022 AND date_obtention > 1942), - adresse VARCHAR(100) NOT NULL CONSTRAINT Probleme_Adresse, - code_postal NUMERIC(4) NOT NULL CHECK(9999 < code_postal < 99999), - ville VARCHAR(100) NOT NULL CONSTRAINT Porblème_Ville, - tel CHAR(15) NOT NULL CONSTRAINT Problème_Téléphone CHECK(tel LIKE('(06,07).(0-9).(0-9).(0-9).(0-9)')) + 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), + adresse VARCHAR(100) NOT NULL, + code_postal NUMERIC(5) NOT NULL CHECK(9999 < code_postal AND code_postal < 99999), + ville VARCHAR(100) NOT NULL, + tel CHAR(15) NOT NULL CONSTRAINT Problème_Téléphone CHECK(tel ~ '[06,07].[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9]') ); -CREATE TABLE Réservartion( - - num_reservation NUMERIC(12) CONSTRAINT Numéro_Réservation PRIMARY KEY, - DateReservation DATE CONSTRAINT Date_Réservation NOT NULL, +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]'), + 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 >= 500.00 AND 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) + Durée NUMERIC(2) CONSTRAINT Problème_Durée CHECK(Durée <= 7 AND Durée >= 1), + DateRetour DATE CONSTRAINT Date_Retour CHECK (dateretour > DateReservation AND dateRetour = DateReservation + Durée * INTERVAL '1 day') ); CREATE TABLE Fournisseur( nom_fournisseur VARCHAR(100) PRIMARY KEY, type_contrat VARCHAR(100) NOT NULL, - date_contrat DATE NOT NULL CONSTRAINT Problème_Date_Contrat + date_contrat DATE NOT NULL ); @@ -55,7 +50,7 @@ INSERT INTO Voiture VALUES('EZ-667-EK','Koenigsegg',34129,'Jaune','Regera',2016) INSERT INTO Voiture VALUES('PO-726-TG','Ferrari',65023,'Rouge','458 Italia',2011); INSERT INTO Voiture VALUES('CO-138-OL','Ford',10298,'Argent','Mustang GT',1969); INSERT INTO Voiture VALUES('BI-132-NO','Bugatti',85543,'Noir et Rouge','Veyron',2009); -INSERT INTO Voiture VALUES('VI-404-MS','Tesla',10298,'Argent','Cybertruck',2023); +INSERT INTO Voiture VALUES('VI-404-MS','Tesla',10298,'Argent','Cybertruck',2022); INSERT INTO Voiture VALUES('PQ-100-DB','Lamborghini',8765,'Vert','Aventador SV',2022); INSERT INTO Type VALUES('Veyron',150000); @@ -66,18 +61,18 @@ INSERT INTO Type VALUES('Cybertruck',9500); INSERT INTO Type VALUES('Mustang GT',12300); INSERT INTO Type VALUES('Aventador SV',35000); -INSERT INTO Client VALUES(654684321685486,'Musk','Elon',1990,'3 Rue des Potiers',75000,'Paris', '06 18 16 69 48'); -INSERT INTO Client VALUES(546513546843546,'Natendo','Stéphane',1976,'21 Rue du Pape',21000,'Tisoumits','06 85 96 12 04'); -INSERT INTO Client VALUES(487465443154873,'Joseph','Hugue',2003,'91 Avenue de l’Union Soviétique',17742,'Mouscou','05 39 14 45 75'); -INSERT INTO Client VALUES(464384543544456,'Cénou','John',1999,'47 Rue du Combattant',93000,'Ring','07 83 53 73 76'); -INSERT INTO Client VALUES(248798745615644,'Delacroix','Joé',2012,'18 rue de Porte de la Chapelle',89623,'Saint-Augustin','06 65 87 64 45'); -INSERT INTO Client VALUES(454845115464846,'Du-Bourg-Palette','Sacha',2010,'30 Boulevard de Lavanville',10100,'Kanto','06 78 69 41 65'); -INSERT INTO Client VALUES(546843544654681,'Galaire','Geoffroy',1986,'7 Avenue de Fleury Mérogis',91700,'Bouchaire-sur-mer', '08 46 38 12 32'); -INSERT INTO Client VALUES(787543487343547,'Sangle','Glocou',2008,'6 Boulevard des Norutau',86853,'Papou','06 85 41 25 73'); -INSERT INTO Client VALUES(257272727376578,'Félicité','Alexis',1993,'58 Rue Montalembert',63000,'Clermont-Ferrand','06 13 46 38 68'); -INSERT INTO Client VALUES(284654984654389,'Hirrite','Sam',2007,'147 Avenue Léon Blum',63000,'Clermont-Ferrand','01 35 46 98 75'); -INSERT INTO Client VALUES(543484345484354,'Chiling Ben','Ben',1998,'18 Rue de Waterburries',41649,'Kentucky','06 23 60 87 01'); -INSERT INTO Client VALUES(126868621651645,'Mau','Enzo',2010,'62 Rue des Archives',75004,'Les Marais','06 69 96 48 85'); +INSERT INTO Client VALUES('654684321685486','Musk','Elon',1990,'3 Rue des Potiers',75000,'Paris', '06 18 16 69 48'); +INSERT INTO Client VALUES('546513546843546','Natendo','Stéphane',1976,'21 Rue du Pape',21000,'Tisoumits','06 85 96 12 04'); +INSERT INTO Client VALUES('487465443154873','Joseph','Hugue',2003,'91 Avenue de l’Union Soviétique',17742,'Mouscou','07 39 14 45 75'); +INSERT INTO Client VALUES('464384543544456','Cénou','John',1999,'47 Rue du Combattant',93000,'Ring','07 83 53 73 76'); +INSERT INTO Client VALUES('248798745615644','Delacroix','Joé',2012,'18 rue de Porte de la Chapelle',89623,'Saint-Augustin','06 65 87 64 45'); +INSERT INTO Client VALUES('454845115464846','Du-Bourg-Palette','Sacha',2010,'30 Boulevard de Lavanville',10100,'Kanto','06 78 69 41 65'); +INSERT INTO Client VALUES('546843544654681','Galaire','Geoffroy',1986,'7 Avenue de Fleury Mérogis',91700,'Bouchaire-sur-mer', '06 46 38 12 32'); +INSERT INTO Client VALUES('787543487343547','Sangle','Glocou',2008,'6 Boulevard des Norutau',86853,'Papou','06 85 41 25 73'); +INSERT INTO Client VALUES('257272727376578','Félicité','Alexis',1993,'58 Rue Montalembert',63000,'Clermont-Ferrand','06 13 46 38 68'); +INSERT INTO Client VALUES('284654984654389','Hirrite','Sam',2007,'147 Avenue Léon Blum',63000,'Clermont-Ferrand','07 35 46 98 75'); +INSERT INTO Client VALUES('543484345484354','Chiling Ben','Ben',1998,'18 Rue de Waterburries',41649,'Kentucky','06 23 60 87 01'); +INSERT INTO Client VALUES('126868621651645','Mau','Enzo',2010,'62 Rue des Archives',75004,'Les Marais','06 69 96 48 85'); INSERT INTO Fournisseur VALUES('Midas','Location','15/08/2022'); INSERT INTO Fournisseur VALUES('Clapette','Achat','14/02/2022');