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.

71 lines
3.0 KiB

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,
modèle VARCHAR(50) NOT NULL REFERENCES Type,
);
CREATE TABLE Type(
modèle VARCHAR(50) PRIMARY KEY CONSTRAINT Problème_Modèle,
caution NUMERIC(5) NOT NULL CONSTRAINT Poblème_Caution
);
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 DATE NOT NULL CONSTRAINT Problème_Date CHECK(date_obtention < (CURRENT_DATE - INTERVAL '3 year')),
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)'))
);
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 >= 500.00 AND Forfait > 0.00),
DateRetour DATE CONSTRAINT Date_Retour CHECK (dateretour > DateReservation),
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 Fournisseur(
nom_fournisseur VARCHAR(100) PRIMARY KEY,
type_contrat VARCHAR(100) NOT NULL,
date_contrat DATE NOT NULL CONSTRAINT Problème_Date_Contrat
);
INSERT INTO Voiture VALUES('GR-056-ON','Bugatti',23189,'Noir','Chiron',2018);
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('PQ-100-DB','Lamborghini',8765,'Vert','Aventador SV',2022);
INSERT INTO Type VALUES('Veyron',150000);
INSERT INTO Type VALUES('Chiron',240000);
INSERT INTO Type VALUES('Regera',230000);
INSERT INTO Type VALUES('458 Italia',30000);
INSERT INTO Type VALUES('Cybertruck',9500);
INSERT INTO Type VALUES('Mustang GT',12300);
INSERT INTO Type VALUES('Aventador SV',35000);
INSERT INTO Client VALUES()