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

Requêtes MySQL Discussion :

Quelle est l'utilité des Relations & Foreign Keys?


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Points : 50
    Points
    50
    Par défaut Quelle est l'utilité des Relations & Foreign Keys?
    Bonjour,

    Je ne trouve pas un site qui explique clairement avec quelques exemples l'utilité et le principe des relations entre tables et des clefs étrangères.

    Je ne comprends pas pourquoi on ne doit pas mettre simplement un champs integer sur la table B qui faire référence à l'id d'une ligne à la table A. Sans relation, sans key et ca marche aussi.

    Voilà si vous pouviez m'aiguiller :-)

    Byee

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    Les foreign keys permettent d'officialiser la liaison si tu veux...

    Si tu ne mets pas de foreign keys, tu peux inséré n'importe quoi dans ton champs int, y compris des id invalides ou qui n'existent plus.

    Les FK garantissent l'intégrité référentielle de tes données, elles garantissent que tu n'auras pas d'id qui ne pointent sur rien.

    De plus, il me semble qu'un mécanisme d'indexation permet d'accélérrer les jointures sur les FK...

    Sans compter que ça ajoute une valeur sémantique aux champs de ta table.
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Ok ca officilise et ca ajoute donc des contraintes utiles (id valide existant, etc).


    Car là, sur CASE Studio je fais ma première base "complexe" donc je veux la faire proprement. Maintenant j'ai 4 tables avec sur chaque table un ID unique mais le soucis étant que chaque tabel est liée à la suivante MAIS ca me rajoute des clefs en cascade. Sur la dernière table je me retrouve avec la colonne del a dernière table mais aussi de celles d'avant.

    Tu me comprends ou je me suis mal expliqué? En gros, la dernière table au lieu d'etre liée uniquement avec la 3eme se retrouve avec des PFK de la 1ere or que normalement la première est juste liée à la 2eme...

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Dans ce cas, c'est que tu avoir un micmac au moment où tu as créer tes tables, si les deux tables ne devraient pas être reliées (même indirectement) il n'y a pas à y avoir de FK entre les deux...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

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

Discussions similaires

  1. Quelle est l'utilité des permissions sandbox ?
    Par amauryxiv dans le forum Applets
    Réponses: 11
    Dernier message: 05/02/2014, 18h34
  2. Quelle est la syntaxe précise pour une foreign key ?
    Par vinze60 dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/09/2009, 09h45
  3. Réponses: 1
    Dernier message: 11/03/2006, 09h55
  4. [Requete][Where] Quelle est l'utilité d'une clause: 1=1 ?
    Par alpachico dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/12/2005, 18h40
  5. [D7] Quelle est l'utilité de MySQL Embedded avec Delphi ?
    Par raoulmania dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/11/2005, 18h40

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