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
|
DROP TABLE personne CASCADE;
CREATE TABLE personne (
nom varchar(30) not null,
prenom varchar(30) not null,
date_naiss date not null,
adresse varchar(50) not null,
nom_pays varchar(20) not null,
num_secu char(9),
sexe char(1) CHECK (sexe IN ('M', 'F')),
PRIMARY KEY (num_secu),
FOREIGN KEY (nom_pays) REFERENCES pays(nom_pays)
);
DROP TABLE pays CASCADE;
CREATE TABLE pays (
nom_pays varchar(30),
PRIMARY KEY (nom_pays)
);
DROP TABLE societe CASCADE;
CREATE TABLE societe (
id_societe integer,
nom_societe varchar(20) not null,
PRIMARY KEY (id_societe)
);
DROP TABLE personnel CASCADE;
CREATE TABLE personnel (
id_personnel integer,
PRIMARY KEY (id_personnel)
);
DROP TABLE vehicule CASCADE;
CREATE TABLE vehicule (
id_vehicule integer, -- identifiant unique d'un véhicule
type_vehicule varchar(20) not null, -- ex: bateau, avion, voiture
marque varchar(20) not null,
id_sous_vehicule integer, -- identifiant unique d'un sous_véhicule
id_societe integer,
id_personnel integer,
PRIMARY KEY (id_vehicule),
FOREIGN KEY (id_sous_vehicule) REFERENCES sous_vehicule(id_sous_vehicule),
FOREIGN KEY (id_societe) REFERENCES societe(id_societe),
FOREIGN KEY (id_personnel) REFERENCES personnel(id_personnel)
);
DROP TABLE sous_vehicule CASCADE;
CREATE TABLE sous_vehicule (
id_sous_vehicule integer,
type_sous_vehicule varchar(20) not null,
marque varchar(20) not null,
id_vehicule integer,
id_societe integer,
id_personnel integer,
PRIMARY KEY (id_sous_vehicule),
FOREIGN KEY (id_vehicule) REFERENCES vehicule(id_vehicule),
FOREIGN KEY (id_societe) REFERENCES societe(id_societe),
FOREIGN KEY (id_personnel) REFERENCES personnel(id_personnel)
); |
Partager