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 61
| -- ----------------------------
-- Table CLIENT
-- ----------------------------
CREATE TABLE CLIENT (
ClientId INT NOT NULL,
ClientNom VARCHAR(45) NOT NULL,
PRIMARY KEY (ClientId))
;
-- ----------------------------
-- Table COMPTE_DESCRIPTION
-- ----------------------------
CREATE TABLE COMPTE_DESCRIPTION (
CompteDescId INT NOT NULL,
CompteDescLibelle VARCHAR(45) NOT NULL,
PRIMARY KEY (CompteDescId))
;
-- ----------------------------
-- Table COMPTE
-- ----------------------------
CREATE TABLE COMPTE (
ClientId INT NOT NULL,
CompteId INT NOT NULL,
CompteDate DATETIME NOT NULL,
CompteDescId INT NOT NULL,
PRIMARY KEY (ClientId, CompteId),
CONSTRAINT COMPTE_CLIENT_FK FOREIGN KEY (ClientId)
REFERENCES CLIENT (ClientId)
ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT COMPTE_COMPTE_DESCRIPTION_FK FOREIGN KEY (CompteDescId)
REFERENCES COMPTE_DESCRIPTION (CompteDescId)
ON DELETE NO ACTION ON UPDATE NO ACTION)
;
-- ----------------------------
-- Table VEHICULE
-- ----------------------------
CREATE TABLE VEHICULE (
ClientId INT NOT NULL,
CompteId INT NOT NULL,
VehiculeId INT NOT NULL,
VehImm VARCHAR(45) NOT NULL,
VehGespar VARCHAR(45) NOT NULL,
PRIMARY KEY (ClientId, CompteId, VehiculeId),
CONSTRAINT VEHICULE_COMPTE_FK FOREIGN KEY (ClientId, CompteId)
REFERENCES COMPTE (ClientId, CompteId)
ON DELETE NO ACTION ON UPDATE NO ACTION)
;
-- ----------------------------
-- Table NOMENCLATURE
-- ----------------------------
CREATE TABLE NOMENCLATURE (
ClientId INT NOT NULL,
CompteId INT NOT NULL,
CompteParentId INT NOT NULL,
PRIMARY KEY (ClientId, CompteId),
CONSTRAINT NOMENCLATURE_ENFANT_FK FOREIGN KEY (ClientId, CompteId)
REFERENCES COMPTE (ClientId, CompteId)
ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT NOMENCLATURE_PARENT_FK FOREIGN KEY (ClientId, CompteParentId)
REFERENCES COMPTE (ClientId, CompteId)
ON DELETE NO ACTION ON UPDATE NO ACTION)
; |
Partager