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 :

[Conception] Requête pour la création d'une table


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut [Conception] Requête pour la création d'une table
    Bonjour à tous,

    Débutant en programmation, j'ai télécharger et installer easyPHP afin d'utiliser la base de données MySQL. Mais voila mon probleme.

    J'ai une base de données avec une seule table (USER qui a pour clé primaire IDUSER). Je dois creer une deuxième table (PROJECT) qui a pour clé primaire IDPROJECT, et qui possede une colonne IDUSER qui fait reference a un USER et qui est un tableau de IDUSER (car plusieurs USER participent a un PROJECT).

    2 problemes se posent :
    - Y a-t-il besoin de faire une reference entre IDUSER de USER et IDUSER de PROJECT (et si oui comment ?) ou n'est ce pas necessaire ?
    - Comment créer le IDUSER de PROJECT afin de pouvoir mettre plusieurs IDUSER ? (j'ai essayé avec enum mais je n'ai pas réussis a creer ma table).

    Voila, si quelqu'un peux m'aider ca serait super cool. A+

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut
    je pense que tu n'es pas dans le bon forum

  3. #3
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    Pour ta première question il existe bien un mécanisme depuis la version 5 de Mysql de froeign key (qui protège les tables sur lesquelles pointent des foreign key par exemple). Je ne connais pas la syntaxe, mais selon ton projet tu n'est pas non plus obligé de le faire. Enfin si tu veux le faire recherche "foreign key mysql" et tu devrais trouver ton bonheur.

    Sinon pour l'autre problème c'est plus un problème de conception. Dans ce genre de cas d'interactions de table il faut définir une chose : la relation est elle de type
    1-n (1 user associé à n projet (mais pa s le contraire) )
    n-1 (1 projet est associé à n user mais pas le contraire)
    n-n (un user peut avoir plusieurs projet, et 1 projet peut avoir plusieur user)

    Dans les deux premiers cas c'est ce que tu as fait sauf qu'on place l'id soit dans la table user (n-1) en tant que id_projet, soit dans la table projet (1-n) en tant que id_user.

    Dans le cas n-n il faut par contre créer un troisieme qui contient et id_user et id_projet.

  4. #4
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut
    Désolé si j'ai pas poster dans la bonne section, je savais pas trop ou le faire.

    Merci de ta réponse !

    C'est une relation n-n, un user pouvant participer a plusieurs projets et un projet pouvant ètre effectué par plusieurs users.

    Si j'ai bien compris, j'ai juste a créer une nouvelle table contenant IDUSER et IDPROJECT ??

  5. #5
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    Voila....

    Par exemple dans cette table tu auras:

    ID_USER ID_PROJET
    1 3
    1 2
    2 3
    3 1

    etc... ce qui veut bien dire que tu peux avoir plusieurs utilisateur associé a un projet (1 et 2 associé a 3 par exemple) et vice et versa.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut
    Merci bcp !! Je savais pas qu'il fallait faire comme ca. Bonne journée, A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.6] Demande de conseil pour la création d'une table
    Par steel-finger dans le forum MySQL
    Réponses: 1
    Dernier message: 04/08/2014, 11h04
  2. Requête pour case à cocher d'une table.
    Par Milyshyn76 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/11/2007, 12h06
  3. Création d'une table par requête SQL
    Par mister3957 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 26/05/2006, 09h30
  4. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  5. Requête pour remplacer caractères dans une table
    Par elliott1961 dans le forum Installation
    Réponses: 5
    Dernier message: 16/01/2006, 01h47

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