architecture complexe base MYSQL
bonjour,
voila je n'arrive pas créer dans ma base phmyadmin l'architecure que m'on conseiller:
Tables :
membre -1,n----creer----(1,1)- creation_groupe -(1,1)----associer----0,n- groupe
|-------------0,n----participer----0,n------------|
Tables :
membre (id_membre...)
groupe (id_groupe...)
creation_groupe (ref_membre, ref_groupe)
participation_groupe (ref_membre, ref_groupe, ref_createur)
Dans la dernière table, tu auras une clé étrangère qui référence la clé primaire de la table "creation_groupe", c'est à dire le couple {ref_membre, ref_groupe} de "creation_groupe".
Et "ref_membre" de "participation_groupe" référence "id_membre" de la table "membre".
voila ce que j'ai fait:
Code:
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
| CREATE TABLE `groupe_membre` (
`ref_membre` int(11) unsigned NOT NULL,
`ref_groupe` int(11) NOT NULL,
`ref_createur` int(11) unsigned NOT NULL,
PRIMARY KEY (`ref_membre`,`ref_groupe`),
KEY `ref_membre` (`ref_membre`),
KEY `ref_groupe` (`ref_groupe`),
KEY `ref_createur` (`ref_createur`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Contenu de la table `groupe_membre`
--
INSERT INTO `groupe_membre` VALUES (1, 3, 1);
INSERT INTO `groupe_membre` VALUES (1, 109, 1);
INSERT INTO `groupe_membre` VALUES (1, 114, 1);
INSERT INTO `groupe_membre` VALUES (2, 105, 1);
INSERT INTO `groupe_membre` VALUES (2, 111, 1);
INSERT INTO `groupe_membre` VALUES (2, 120, 1);
INSERT INTO `groupe_membre` VALUES (2, 122, 1);
INSERT INTO `groupe_membre` VALUES (6, 1, 1);
--
ALTER TABLE `groupe_membre`
ADD CONSTRAINT `groupe_membre_ibfk_2` FOREIGN KEY (`ref_groupe`) REFERENCES `associer_groupe` (`ref_groupe`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `groupe_membre_ibfk_4` FOREIGN KEY (`ref_membre`) REFERENCES `membre_ovip` (`id_membre`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `groupe_membre_ibfk_5` FOREIGN KEY (`ref_createur`) REFERENCES `associer_groupe` (`ref_membre`) ON DELETE CASCADE ON UPDATE CASCADE; |
mais je pense avoir fait une erreur, pouvez vous m'aider?
MERCI