Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/10/2011, 18h37   #1
Membre du Club
 
Inscription : janvier 2008
Messages : 706
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 706
Points : 66
Points : 66
Par défaut 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
kate59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 20h27   #2
Membre habitué
 
Avatar de rinuom99
 
Étudiant
Inscription : août 2007
Messages : 238
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2007
Messages : 238
Points : 125
Points : 125
Envoyer un message via MSN à rinuom99
si tu donnes le message d'erreur t'auras plus de chance d'avoir une réponse satisfaisante
rinuom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 20h38   #3
Membre du Club
 
Inscription : janvier 2008
Messages : 706
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 706
Points : 66
Points : 66
voila j'ai créer une table mais j'ai cette erreur:
Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '110-105' for key 1.

mais je pense que ce la configuration de ma base groupe_membre qui en faite nommer participation membre dans les explications qui n'est pas bonne.

merci.
kate59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 22h31   #4
Membre habitué
 
Avatar de rinuom99
 
Étudiant
Inscription : août 2007
Messages : 238
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2007
Messages : 238
Points : 125
Points : 125
Envoyer un message via MSN à rinuom99
au niveau de la création de ta table groupe_membre tu as déclaré ref_membre comme clé primaire donc tu peux pas attribuer la valeur "1" a plusieurs enregistrements au même temps

Citation:
INSERT INTO `groupe_membre` VALUES (1, 3, 1);
INSERT INTO `groupe_membre` VALUES (1, 109, 1);
INSERT INTO `groupe_membre` VALUES (1, 114, 1);
rinuom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 12h52   #5
Membre du Club
 
Inscription : janvier 2008
Messages : 706
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 706
Points : 66
Points : 66
comment je doit faire la structure de la table a ton avis avec les instructions qu'on m'avait donner et que j'ai noter plus haut?
MERCI.
kate59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 19h18   #6
Membre confirmé
 
Avatar de bourvil
 
Inscription : juin 2002
Messages : 351
Détails du profil
Informations personnelles :
Localisation : Israël

Informations forums :
Inscription : juin 2002
Messages : 351
Points : 217
Points : 217
Citation:
Envoyé par rinuom99 Voir le message
au niveau de la création de ta table groupe_membre tu as déclaré ref_membre comme clé primaire donc tu peux pas attribuer la valeur "1" a plusieurs enregistrements au même temps
Non, il/elle a declare ref_membre etref_groupe comme clef primaire
Citation:
PRIMARY KEY (`ref_membre`,`ref_groupe`),
donc le probleme ne vient pas de la.

ou apparait le pb? apres le insert? ou apres alter table?
et les autres tables/ comment les cree tu?
__________________
Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
Coluche
bourvil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web