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

 MySQL Discussion :

contrainte d'intégrité avec table intermédiaire


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 25
    Points
    25
    Par défaut contrainte d'intégrité avec table intermédiaire
    Bonjour à tous,

    Voilà je suis loin d'être le meilleur en BDD, et je voudrais faire quelque chose de tout bête, seulement je bloque au niveau des clés étrangères.

    J'ai 3 tables :

    users
    id_user
    username
    password
    ...

    application
    id_app
    name
    ...

    user_application
    id_user
    id_app

    Une table contient donc la liste des utilisateurs avec diverses infos, et idem pour la liste des applications.
    Dès lors qu'un utilisateur aura choisit une application, une nouvelle entrée sera définie dans la table user_application. Cette table est nécessaire puisqu'un utilisateur peut avoir plusieurs applications, et qu'une application peut être choisit par plusieurs utilisateurs.

    J'ai donc deux questions :
    1- Est-ce que je peux laisser la table user_application telle quelle ou je dois lui affecter une clé primaire, du style id_user_application ?

    2- Dans phpMyAdmin, je suis bien allé dans Gestion des relations de la table user_application et j'ai affecté :
    user_id à users.user_id
    app_id à applications.app_id

    Mais pourtant rien n'y fait, je peux créer une nouvelle entrée dans user_application avec des valeurs aléatoires, inexistantes dans les tables users et applications.
    Comment faire pour bien intégrer cette contrainte ?

    Merci d'avance pour vos réponses.
    Shatter

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Je ne connais pas particulièrement phpMyAdmin, mais tes 2 champs de la table User_Application doivent effectivement être des clé étrangères référençant les clé primaires de Users et de Applications.

    Ensuite tu n'as pas besoin de créer en nouveau champ pour la clé primaire, mais tu dois quand même en définir une. Celle-ci doit être définie comme étant constituée des 2 champs id_user et id_application, c'est à dire les 2 clés étrangères
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 25
    Points
    25
    Par défaut
    Ok ça marche, merci pour cette réponse !

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

Discussions similaires

  1. Jointure N-N avec table intermédiaire
    Par aspiman dans le forum Requêtes
    Réponses: 3
    Dernier message: 27/10/2018, 03h14
  2. [1.x] embedForms 1:n avec table intermédiaire
    Par Herode dans le forum Symfony
    Réponses: 3
    Dernier message: 19/11/2010, 17h44
  3. Contraintes d'intégrité des tables FLOWMETER, LOGCATCHER et STATCATCHER
    Par dcollart dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 17/03/2009, 14h35
  4. Requête avec table intermédiaire
    Par jgfa9 dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/03/2007, 18h51
  5. Réponses: 2
    Dernier message: 02/08/2006, 10h25

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