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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| -- création de la base
CREATE DATABASE B_FORUM ;
-- création du schéma dans la base de données
CREATE SCHEMA S_NEWS ;
-- table : T_UTILISATEUR_USR
CREATE TABLE S_NEWS.T_UTILISATEUR_USR
( USR_ID INTEGER NOT NULL PRIMARY KEY,
USR_MAIL VARCHAR(256) NOT NULL,
USR_TITRE CHAR(6) NULL DEFAULT M.
CHECK (USR_TITRE IN (M., Mlle., Mme.)),
USR_NOM CHAR(32) NOT NULL,
USR_PRENOM VARCHAR(32) NULL,
USR_ORGANISATION VARCHAR(128) NULL)
-- table : T_FORUM_FRM
CREATE TABLE S_NEWS.T_FORUM_FRM
( FRM_ID INTEGER NOT NULL PRIMARY KEY,
FRM_NOM CHAR(64) NOT NULL,
FRM_SUJET VARCHAR(256) NULL,
FRM_DATE_CREATION TIMESTAMP NOT NULL)
-- table : T_FOURNINET_FAI
CREATE TABLE S_NEWS.T_FOURNINET_FAI
( FAI_ID INTEGER NOT NULL PRIMARY KEY,
FAI_NOM CHAR(64) NOT NULL)
-- table : T_J_ABONNE_ABN
CREATE TABLE TJ_ABONNE_ABN
( USR_ID INTEGER NOT NULL,
FAI_ID INTEGER NOT NULL,
CONSTRAINT PK_ABN PRIMARY KEY (USR_ID, FAI_ID),
CONSTRAINT FK_ABN_FAI FOREIGN KEY (FAI_ID)
REFERENCES S_NEWS.T_FOURNINET_FAI (FAI_ID),
CONSTRAINT FK_ABN_USR FOREIGN KEY (USR_ID)
REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID))
-- table : T_J_INSCRIT_ISC
CREATE TABLE S_NEWS.T_J_INSCRIT_ISC
( USR_ID INTEGER NOT NULL,
FRM_ID INTEGER NOT NULL,
ISC_MOMENT TIMESTAMP NOT NULL,
CONSTRAINT PK_ISC PRIMARY KEY (USR_ID, FRM_ID),
CONSTRAINT FK_ISC_FRM FOREIGN KEY (FRM_ID)
REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID),
CONSTRAINT FK_ISC_USR FOREIGN KEY (USR_ID)
REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID))
-- table : T_SERVEUR_SRV
CREATE TABLE S_NEWS.T_SERVEUR_SRV
( SRV_ID INTEGER NOT NULL PRIMARY KEY,
FAI_ID INTEGER NOT NULL,
SRV_ADR_IP VARCHAR(15) NOT NULL,
SRV_NOM VARCHAR(256) NOT NULL,
CONSTRAINT FK_SRV_FAI FOREIGN KEY (FAI_ID)
REFERENCES S_NEWS.T_FOURNINET_FAI (FAI_ID))
-- table : T_J_RECENSE_RCS
CREATE TABLE S_NEWS.T_J_RECENSE_RCS
( SRV_ID INTEGER NOT NULL,
FRM_ID INTEGER NOT NULL,
CONSTRAINT PK_RCS PRIMARY KEY (SRV_ID, FRM_ID),
CONSTRAINT FK_RCS_FRM FOREIGN KEY (FRM_ID)
REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID),
CONSTRAINT FK_RCS_SRV FOREIGN KEY (SRV_ID)
REFERENCES S_NEWS.T_SERVEUR_SRV (SRV_ID))
--- table : T_NEWS_NEW
CREATE TABLE S_NEWS.T_NEWS_NEW
( NEW_ID INTEGER NOT NULL PRIMARY KEY,
NEW_ID_PERE INTEGER NULL,
USR_ID INTEGER NOT NULL,
FRM_ID INTEGER NOT NULL,
NEW_MOMENT TIMESTAMP NOT NULL,
NEW_GLOBAL_ID CHAR(36) NOT NULL,
NEW_TITRE CHAR(256) NOT NULL,
NEW_TEXT CLOB(2 GB) NULL,
CONSTRAINT FK_NEW_FRM FOREIGN KEY (FRM_ID)
REFERENCES S_NEWS.T_FORUM_FRM (FRM_ID),
CONSTRAINT FK_NEW_USR FOREIGN KEY (USR_ID)
REFERENCES S_NEWS.T_UTILISATEUR_USR (USR_ID),
CONSTRAINT FK_NEW_NEW FOREIGN KEY (NEW_ID_PERE)
REFERENCES S_NEWS.T_NEWS_NEW (NEW_ID))
-- table : T_FICHIER_FIC
CREATE TABLE S_NEWS.T_FICHIER_FIC
( FIC_ID INTEGER NOT NUL PRIMARY KEY,
NEW_ID INTEGER NOT NULL,
FIC_NOM VARCHAR(128) NOT NULL,
FIC_TAILLE_O INTEGER NOT NULL,
CONSTRAINT FK_FIC_NEW FOREIGN KEY (NEW_ID)
REFERENCES S_NEWS.T_NEWS_NEW (NEW_ID)) |
Partager