IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

architecture complexe base MYSQL


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre éclairé Avatar de rinuom99
    Étudiant
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Par défaut
    si tu donnes le message d'erreur t'auras plus de chance d'avoir une réponse satisfaisante

  3. #3
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    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.

  4. #4
    Membre éclairé Avatar de rinuom99
    Étudiant
    Inscrit en
    Août 2007
    Messages
    260
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 260
    Par défaut
    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

    INSERT INTO `groupe_membre` VALUES (1, 3, 1);
    INSERT INTO `groupe_membre` VALUES (1, 109, 1);
    INSERT INTO `groupe_membre` VALUES (1, 114, 1);

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    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.

  6. #6
    Membre éclairé Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Par défaut
    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
    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?

Discussions similaires

  1. Hébergeurs de bases MySQL
    Par Polluxlecastor dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 05/04/2004, 22h57
  2. Contenu DataSource.xml avec base Mysql
    Par PrinceMaster77 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 11/03/2004, 12h59
  3. Réponses: 3
    Dernier message: 12/11/2003, 00h34
  4. recréer une base mysql
    Par ryan dans le forum Administration
    Réponses: 2
    Dernier message: 27/06/2003, 23h04
  5. [Dev-C++] Accès à une base MySQL
    Par Beetlejuice dans le forum Dev-C++
    Réponses: 8
    Dernier message: 08/05/2003, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo