Donc voici :
CREATE TABLE MEMBRE (
DateInscription date check (DateInscription <= CURRENT_DATE),
NomDiscussion char(40) NOT NULL,
NomStatut char(15) NOT NULL,
MotDePasse char(40) NOT NULL,
Htaccess char(40) NOT NULL,
Pseudo char(15) NOT NULL,
UNIQUE (Pseudo),
PRIMARY KEY (Pseudo, NomDiscussion, NomStatut),
FOREIGN KEY NomStatut REFERENCES STATUT(NomStatut),
FOREIGN KEY NomDiscussion REFERENCES DISCUSSION(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES DONNEES(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES STOCKAGE(NomDiscussion),
FOREIGN KEY Pseudo REFERENCES STATUT(Pseudo),
FOREIGN KEY Pseudo REFERENCES DISCUSSION(Pseudo) )
CREATE TABLE DISCUSSION (
Pseudo char(15) NOT NULL,
NomSection char(15) NOT NULL,
QuotaDiscussion integer check ( QuotaDiscussion >= 0),
NomDiscussion char(40) NOT NULL,
PRIMARY KEY (Pseudo, NomDiscussion, NomSection),
FOREIGN KEY NomSection REFERENCES STATUT(NomSection),
FOREIGN KEY NomDiscussion REFERENCES STOCKAGE(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES MEMBRE(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES DONNEES(NomDiscussion),
FOREIGN KEY Pseudo REFERENCES STATUT(Pseudo),
FOREIGN KEY Pseudo REFERENCES MEMBRE(Pseudo) )
CREATE TABLE STOCKAGE (
NomStcockage char(200) NOT NULL UNIQUE, check (NomStcockage LIKE "ftp://%"),
Type char(15) NOT NULL,
VitesseUp integer check ( VitesseUp > 40),
VitesseDl integer check ( VitesseDl > 100),
NbConnexions integer check ( NbConnexions > 0),
PlaceDD integer NOT check ( PlaceDD > 0),
Localisation char(15) check (Localisation <> RIPE NCC),
NomDiscussion char(40) NOT NULL,
PRIMARY KEY (NomStcockage, NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES DONNEES(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES DISCUSSION(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES MEMBRE(NomDiscussion) )
CREATE TABLE STATUT (
Pseudo char(15) NOT NULL,
NomStatut char(15) NOT NULL,
QuotaTotal integer check ( QuotaTotal >= QuotaCours)
QuotaMois integer check (QuotaMois >= 0),
QuotaCours integer check (QuotaMois >= 0),
NomSection char(15) NOT NULL,
UNIQUE (Pseudo),
PRIMARY KEY (Pseudo, NomStatut, NomSection),
FOREIGN KEY NomStatut REFERENCES MEMBRE(NomStatut),
FOREIGN KEY Pseudo REFERENCES DISCUSSION(Pseudo),
FOREIGN KEY Pseudo REFERENCES MEMBRE(Pseudo)
FOREIGN KEY NomSection REFERENCES DISCUSSION(NomSection) )
CREATE TABLE DONNEES (
Archivage char(40) NOT NULL,
Encodage char(40) NOT NULL,
TailleDonnee integer check ( TailleDonnee >= 0),
NomDiscussion char(40) NOT NULL,
NomDonnee char(40) NOT NULL,
TypeDonnee char(15) NOT NULL,
Langue char(40) NOT NULL,
PRIMARY KEY (NomDiscussion, NomDonnee),
FOREIGN KEY NomDiscussion REFERENCES STOCKAGE(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES DISCUSSION(NomDiscussion),
FOREIGN KEY NomDiscussion REFERENCES MEMBRE(NomDiscussion) )
Voila ce que j'ai ecrit, mais ca marche pas vraiment, surement les clés primares / etrangeres qui deconnent, mais je sais pas (plus) pourquoi.
Merci de me filer un coup de main ;))
@+
