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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
CREATE TABLE Preteur(
Id_Preteur COUNTER,
nom VARCHAR(30) NOT NULL,
compte BYTE NOT NULL UNIQUE,
CONSTRAINT PK_Preteur PRIMARY KEY(Id_Preteur)
);
CREATE TABLE Projet(
Id_Projet COUNTER,
nom VARCHAR(10) NOT NULL,
CONSTRAINT PK_Projet PRIMARY KEY(Id_Projet)
);
CREATE TABLE Devise(
Id_Devise COUNTER,
Libelle VARCHAR(30) NOT NULL,
code CHAR(3) NOT NULL,
dateDebut DATE,
dateFin DATE,
CONSTRAINT PK_Devise PRIMARY KEY(Id_Devise)
);
CREATE TABLE Phase(
FKId_Projet INT,
numeroPhase BYTE,
Description VARCHAR(10) NOT NULL,
CONSTRAINT PK_Phase PRIMARY KEY(FKId_Projet, numeroPhase),
CONSTRAINT FK_Phase_Projet FOREIGN KEY(FKId_Projet) REFERENCES Projet(Id_Projet)
);
CREATE TABLE Emprunt(
FKId_Projet INT,
Id_Emprunt COUNTER,
dateE DATE NOT NULL,
montant CURRENCY NOT NULL,
tauxInteretAnnuel DECIMAL(5,3) NOT NULL,
duree BYTE NOT NULL,
FKId_Devise INT NOT NULL,
CONSTRAINT PK_Emprunt PRIMARY KEY(FKId_Projet, Id_Emprunt),
CONSTRAINT FK_Emprunt_Projet FOREIGN KEY(FKId_Projet) REFERENCES Projet(Id_Projet),
CONSTRAINT FK_Emprunt_Devise FOREIGN KEY(FKId_Devise) REFERENCES Devise(Id_Devise)
);
CREATE TABLE Tirage(
FKId_Projet INT,
FKId_Emprunt INT,
numeroTirage BYTE,
reference VARCHAR(30) NOT NULL,
dateDemande DATE NOT NULL,
montant CURRENCY NOT NULL,
CONSTRAINT PK_Tirage PRIMARY KEY(FKId_Projet, FKId_Emprunt, numeroTirage),
CONSTRAINT FK_Tirage_Emprunt FOREIGN KEY(FKId_Projet, FKId_Emprunt) REFERENCES Emprunt(FKId_Projet, Id_Emprunt)
);
CREATE TABLE octroyer(
FKId_Preteur INT,
FKId_Projet INT,
FKId_Emprunt INT,
FKnumeroTirage BYTE,
datePaiementTirage DATE NOT NULL,
CONSTRAINT PK_octroyer PRIMARY KEY(FKId_Preteur, FKId_Projet, FKId_Emprunt, FKnumeroTirage),
CONSTRAINT FK_octroyer_Preteur FOREIGN KEY(FKId_Preteur) REFERENCES Preteur(Id_Preteur),
CONSTRAINT FK_octroyer_Tirage FOREIGN KEY(FKId_Projet, FKId_Emprunt, FKnumeroTirage) REFERENCES Tirage(FKId_Projet, FKId_Emprunt, numeroTirage)
);
CREATE TABLE Financer(
FKId_Projet INT,
FKId_Emprunt INT,
FKnumeroTirage BYTE,
FKId_Projet_1 INT,
FKnumeroPhase BYTE,
CONSTRAINT PK_Financer PRIMARY KEY(FKId_Projet, FKId_Emprunt, FKnumeroTirage, FKId_Projet_1, FKnumeroPhase),
CONSTRAINT FK_Financer_Tirage FOREIGN KEY(FKId_Projet, FKId_Emprunt, FKnumeroTirage) REFERENCES Tirage(FKId_Projet, FKId_Emprunt, numeroTirage),
CONSTRAINT FK_Financer_Phase_1 FOREIGN KEY(FKId_Projet_1, FKnumeroPhase) REFERENCES Phase(FKId_Projet, numeroPhase)
); |
Partager