|
|
|
@ -1,17 +1,5 @@
|
|
|
|
|
DROP TABLE Voiture, Types, Client, Réservartion, Stock;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE Réservartion (
|
|
|
|
|
|
|
|
|
|
N°permis numeric(12) CONSTRAINT CPRéservation PRIMARY KEY,
|
|
|
|
|
DateReservation date CONSTRAINT date2Réservation NOT NULL,
|
|
|
|
|
Forfait numeric(5,2) CONSTRAINT forfaitPrix CHECK (Forfait >= 500.00 AND Forfait > 0.00),
|
|
|
|
|
DateRetour date CONSTRAINT date2Retour CHECK (dateretour > DateReservation),
|
|
|
|
|
Durée numeric(2) CONSTRAINT PbDurée CHECK( (Durée <= 7 AND Durée >= 1) AND (DateRetour - DateReservation == Durée) ),
|
|
|
|
|
PRIMARY KEY (nom)
|
|
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
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,
|
|
|
|
@ -24,4 +12,39 @@ CREATE TABLE Voiture(
|
|
|
|
|
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 '1 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
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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,
|
|
|
|
|
);
|