-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.sql
More file actions
60 lines (55 loc) · 1.93 KB
/
Copy pathdatabase.sql
File metadata and controls
60 lines (55 loc) · 1.93 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
60
-- 1. Création et sélection de la base de données
CREATE DATABASE IF NOT EXISTS gestion_location;
USE gestion_location;
-- 2. Suppression des tables pour réinitialisation (ordre respectant les clés étrangères)
DROP TABLE IF EXISTS LOCATAIRE;
DROP TABLE IF EXISTS LOGEMENT;
DROP TABLE IF EXISTS PROPRIETAIRE;
DROP TABLE IF EXISTS COMPTE;
-- 3. Table COMPTE (Base commune selon IMG_2844.jpg)
CREATE TABLE COMPTE (
id_compte INT NOT NULL AUTO_INCREMENT,
nom VARCHAR(100),
prenom VARCHAR(100),
email VARCHAR(150) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
image VARCHAR(255),
contact VARCHAR(100),
PRIMARY KEY (id_compte)
) ENGINE=InnoDB;
-- 4. Table PROPRIETAIRE (Héritage)
CREATE TABLE PROPRIETAIRE (
id_compte INT NOT NULL,
PRIMARY KEY (id_compte),
CONSTRAINT fk_proprio_compte
FOREIGN KEY (id_compte) REFERENCES COMPTE(id_compte) ON DELETE CASCADE
) ENGINE=InnoDB;
-- 5. Table LOGEMENT
CREATE TABLE LOGEMENT (
id_logement INT NOT NULL AUTO_INCREMENT,
description TEXT,
longitude DOUBLE,
latitude DOUBLE,
image VARCHAR(255),
acces_eau BOOLEAN DEFAULT FALSE,
acces_electricite BOOLEAN DEFAULT FALSE,
prix DECIMAL(10, 2),
`condition` TEXT,
nomduquartier VARCHAR(150),
nb_collocataire INT DEFAULT 1, -- Valeur par défaut mise à 1
id_proprietaire INT NOT NULL,
PRIMARY KEY (id_logement),
CONSTRAINT fk_log_proprio
FOREIGN KEY (id_proprietaire) REFERENCES PROPRIETAIRE(id_compte)
) ENGINE=InnoDB;
-- 6. Table LOCATAIRE (Héritage + Relation Louer)
CREATE TABLE LOCATAIRE (
id_compte INT NOT NULL,
etat_logem VARCHAR(100), -- Tiré de IMG_2844.jpg
id_logement INT DEFAULT NULL,
PRIMARY KEY (id_compte),
CONSTRAINT fk_locat_compte
FOREIGN KEY (id_compte) REFERENCES COMPTE(id_compte) ON DELETE CASCADE,
CONSTRAINT fk_locat_logement
FOREIGN KEY (id_logement) REFERENCES LOGEMENT(id_logement)
) ENGINE=InnoDB;