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
|
-- Table Immeuble
CREATE TABLE Immeuble
(
nomImm VARCHAR(15) NOT NULL,
adresse VARCHAR(50) NOT NULL,
nbEtages TINYINT,
anneeConstruction SMALLINT,
nomGerant VARCHAR(15) NOT NULL,
PRIMARY KEY(nomImm)
)ENGINE=InnoDB;
-- Table Appart
CREATE TABLE Appart
(
nomImm VARCHAR(15) NOT NULL,
noApp TINYINT NOT NULL,
superficie SMALLINT,
etage TINYINT,
PRIMARY KEY (nomImm, noApp),
FOREIGN KEY (nomImm) REFERENCES Immeuble( nomImm ) ON DELETE CASCADE
)ENGINE=InnoDB;
-- Table Personne
CREATE TABLE Personne
(
nom VARCHAR(15) NOT NULL,
age TINYINT,
profession VARCHAR(15) NOT NULL,
PRIMARY KEY (nom)
)ENGINE=InnoDB;
-- Table Occupant
CREATE TABLE Occupant
(
nomImm VARCHAR(15) NOT NULL,
noApp TINYINT NOT NULL,
nomOcc VARCHAR(15) NOT NULL,
anneeArrivee SMALLINT,
PRIMARY KEY (nomImm, noApp, nomOcc),
FOREIGN KEY (nomImm) REFERENCES Immeuble( nomImm ) ON DELETE CASCADE,
FOREIGN KEY (nomOcc) REFERENCES Personne( nom ) ON DELETE CASCADE,
FOREIGN KEY (noApp) REFERENCES Appart( noApp ) ON DELETE CASCADE
)ENGINE=InnoDB; |
Partager