Skip to content
Snippets Groups Projects
Commit e1e525ea authored by SAEZ Theo's avatar SAEZ Theo
Browse files

Mise a jour du fichier SQL pour la création des tables

parent 26e27d3e
No related branches found
No related tags found
No related merge requests found
......@@ -2,12 +2,13 @@ DROP TABLE VILLES;
CREATE TABLE Villes (
NomV VARCHAR(50) PRIMARY KEY NOT NULL
NomV VARCHAR2(50) PRIMARY KEY NOT NULL
)
CREATE TABLE Bus (
NumB INT PRIMARY KEY NOT NULL,
CapacitéB INT Check(CapacitéB > 0) NOT NULL
CapacitéB INT NOT NULL,
CONSTRAINT chk_capacity Check(CapacitéB > 0)
)
CREATE TABLE Trajets (
......@@ -17,37 +18,43 @@ CREATE TABLE Trajets (
)
CREATE TABLE Etapes (
NumT INT PRIMARY KEY NOT NULL,
NumT INT NOT NULL,
NomV VARCHAR2(50) NOT NULL,
DateA DATE NOT NULL,
DateD DATE NOT NULL,
PRIMARY KEY (NumT, NomV),
FOREIGN KEY (NumT) REFERENCES Trajets(NumT),
NomV VARCHAR(50) PRIMARY KEY NOT NULL,
FOREIGN KEY (NomV) REFERENCES Villes(NomV),
DateA DATE NOT NULL,
DateD DATE NOT NULL
CONSTRAINT chk_duree_arret CHECK(DateD >= DateA + 5/1440)
)
CREATE TABLE Tarifs (
VilleD VARCHAR(50) PRIMARY KEY NOT NULL,
VilleD VARCHAR2(50) NOT NULL,
VilleA VARCHAR2(50) NOT NULL,
Prix NUMBER(10,2) NOT NULL,
PRIMARY KEY (VilleD, VilleA),
FOREIGN KEY (VilleD) REFERENCES Villes(NomV),
VilleA VARCHAR(50) PRIMARY KEY NOT NULL,
FOREIGN KEY (VilleA) REFERENCES Villes(NomV),
Prix DECIMAL(10,2) Check(Prix > 0) NOT NULL
CONSTRAINT chk_prix Check(Prix > 0),
CONSTRAINT chk_villes_diff CHECK (VilleA <> VilleD)
)
CREATE TABLE Clients (
NumC INT PRIMARY KEY NOT NULL,
NomC VARCHAR(50) NOT NULL,
AdresseC VARCHAR(50) NOT NULL
NomC VARCHAR2(50) NOT NULL,
AdresseC VARCHAR2(50) NOT NULL
)
CREATE TABLE Réservations (
NumR INT PRIMARY KEY NOT NULL,
NumC INT NOT NULL,
FOREIGN KEY (NumC) REFERENCES Clients(NumC),
NumT INT NOT NULL,
FOREIGN KEY (NumT) REFERENCES Trajets(NumT),
VilleD VARCHAR(50) NOT NULL,
FOREIGN KEY (VilleD) REFERENCES Villes(NomV),
VilleA VARCHAR(50) NOT NULL,
FOREIGN KEY (VilleA) REFERENCES Villes(NomV),
Nbplaces INT CHECK(Nbplaces > 0) NOT NULL
VilleD VARCHAR2(50) NOT NULL,
VilleA VARCHAR2(50) NOT NULL,
Nbplaces INT NOT NULL,
FOREIGN KEY (NumC) REFERENCES Clients(NumC),
FOREIGN KEY (NumT, VilleD) REFERENCES Etapes(NumT, NomV),
FOREIGN KEY (NumT, VilleA) REFERENCES Etapes(NumT, NomV),
FOREIGN KEY (VilleD, VilleA) REFERENCES Tarifs(VilleD, VilleA),
CONSTRAINT chk_places CHECK(Nbplaces > 0)
)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment