Repository navigation
Expand file tree
/
Copy pathEX3.sql
More file actions
59 lines (53 loc) · 1.36 KB
/
Copy pathEX3.sql
File metadata and controls
59 lines (53 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
CREATE DATABASE LocationVoitures;
USE LocationVoitures;
-- Clients
CREATE TABLE Clients (
IdClient INT PRIMARY KEY,
Nom VARCHAR(100),
Prenom VARCHAR(100),
Telephone VARCHAR(20),
Email VARCHAR(100)
);
-- Véhicules
CREATE TABLE Vehicules (
IdVehicule INT PRIMARY KEY,
Marque VARCHAR(50),
Modele VARCHAR(50),
Type VARCHAR(30), -- voiture, moto, utilitaire
Etat VARCHAR(30) -- disponible, en location, maintenance
);
-- Contrats
CREATE TABLE Contrats (
IdContrat INT PRIMARY KEY,
IdClient INT,
DateDebut DATE,
DateFin DATE,
CoutTotal DECIMAL(10,2),
Penalite DECIMAL(10,2),
FOREIGN KEY (IdClient) REFERENCES Clients(IdClient)
);
-- Contrat_Vehicules (relation N-N)
CREATE TABLE Contrat_Vehicules (
IdContrat INT,
IdVehicule INT,
PRIMARY KEY (IdContrat, IdVehicule),
FOREIGN KEY (IdContrat) REFERENCES Contrats(IdContrat),
FOREIGN KEY (IdVehicule) REFERENCES Vehicules(IdVehicule)
);
-- Paiements
CREATE TABLE Paiements (
IdPaiement INT PRIMARY KEY,
IdContrat INT,
Montant DECIMAL(10,2),
DatePaiement DATE,
FOREIGN KEY (IdContrat) REFERENCES Contrats(IdContrat)
);
-- Entretiens
CREATE TABLE Entretiens (
IdEntretien INT PRIMARY KEY,
IdVehicule INT,
Date DATE,
Description TEXT,
Cout DECIMAL(10,2),
FOREIGN KEY (IdVehicule) REFERENCES Vehicules(IdVehicule)
);