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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Clé étrangère avec phpMyAdmin


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Clé étrangère avec phpMyAdmin
    Bonjour,
    Je travaille sur un projet utilisant une base de données que j'ai créée.
    Malheureusement, sans relations entre tables, peu de choses sont possibles.
    Je gère ma BDD avec easyphp 2.0 version beta.
    J'ai mis toutes mes tables en innoDB.
    Mais pour la suite, pour créer une relation entre deux tables, je n'ai pas trouvé de mode d'emploi !!!
    Je sais qu'il y a la notion de clé étrangère (foreign key) mais es ce qu'il faut l'utiliser ? si oui, quand ?
    Pouvez vous m'éclaircir sur ce sujet ?
    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    il faut que chacune de tes table contienne une clef primaire, et que les tables que tu souhaites relier aient au moins un champs en commun.
    C'est avec ce champs que dans ta requete tu pourras relier tes données.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 97
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par noxia Voir le message
    il faut que chacune de tes table contienne une clef primaire, et que les tables que tu souhaites relier aient au moins un champs en commun.
    C'est avec ce champs que dans ta requete tu pourras relier tes données.
    Pour rebondir...
    Pour l'exemple si A est une table de réservation avec un champ IdRessource) et B une table des ressources avec une clé primaire IdRessource.
    Le champ IdRessource est une clé étrangère pourquoi faudrait-il qu'elle soit primaire?

    Et dans la gestion des relations comment doit on interpréter ce qu'il y a à cocher (ON DELETE, on UPDATE)?

  4. #4
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour
    Citation Envoyé par thierryG Voir le message
    Et dans la gestion des relations comment doit on interpréter ce qu'il y a à cocher (ON DELETE, on UPDATE)?
    Tout dépend de ce que tu veux faire.
    ON DELETE: Supprime les enregistrements en cascade. Quand un enregistrement dans une entité mère est supprimé, les enregistrements qui lui sont liés dans les tables enfants le sont aussi.

    ON UPDATE=ibidem à ON DELETE avec les mises à jour.

    Mais à priori, tu devrais un peu lire la doc sur la modélisation

    Bon courage!
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    | ADD [CONSTRAINT [symbol]]
            FOREIGN KEY [index_name] (index_col_name,...)

Discussions similaires

  1. [EasyPHP] Comment créer une clé étrangère avec phpMyAdmin?
    Par louisa78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 24/03/2014, 15h07
  2. [MySQL] Comment créer une clé étrangère avec phpmyadmin?
    Par Salsaboy60 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/04/2013, 18h05
  3. [phpMyAdmin] Clé étrangère avec l'interface phpMyAdmin
    Par silset dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 06/02/2012, 21h52
  4. [phpMyAdmin] Clé étrangère avec phpMyAdmin
    Par fayza dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/08/2008, 16h22
  5. [phpMyAdmin] Lier les tables (clés étrangères) avec phpMyAdmin
    Par tarik2a dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 23/05/2007, 18h28

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