|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Pascal Diogo AntunesÉtudiant Inscription : janvier 2008 Messages : 270 ![]() |
Bonjour, je voudrai simplement savoir si déclarer sa donnée en tant que clef étrangère était vraiment utile?
bah oui: Code :
Quel est le réelle intérêt de déclarer une donnée en clef étrangère ou j'ai mal compris qqchose ? |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Aucun, c'est totalement cosmétique. Si on met des clefs étrangères c'est pour le fun !
D'ailleurs beaucoup milite pour les retirer puisque ça sert à rien !!! et si vous lisiez un peu avant de poser des questions ???? A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
10
|
|
|
#3 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Caustique comme réponse, mais ça se comprend
Aller dafpp un début de réponse dans : Intégrité référentielle (FOREIGN KEY / REFERENCES) Sinon fait aussi des recherche sur CASCADE, un mot clé très important et extrèmement pratique des contraintes d'intégrités référentielles. |
|
|
00
|
|
|
#4 | |||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Citation:
Dura lex sed lex, serait-elle la devise de ce bon SQLpro. En cette fin de soirée je trouvais pourtant la candeur de ce post....rafraîchissante.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|||
|
10
|
|
|
#5 |
|
Membre habitué
![]() Pascal Diogo AntunesÉtudiant Inscription : janvier 2008 Messages : 270 ![]() |
je sais très bien ce que c'est une clef étrangère (désolé pour les clé et pas clef, on voit de tout sur le net, donc après on sait plus l’orthographe - même si ça paraissait plus logique pour clef... bref).
je voulais savoir ce qu'apportait vraiment d'indiquer foreign key, puisque un lien reste un lien, et si qu'on sait que a.id c'est la même chose que b.id, on a juste à sélectionner donc tout ce qui est égale. Je pensais par là en posant ma question s'il n'y avait pas quelque chose d'automatique, mais c'est pas le cas, donc résolu ! merci |
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Au passage, évitons de raviver la guerre des étoiles et, depuis 1982 (bientôt 20 ans ma doué!) la syntaxe normalisée pour les jointures est plutôt
Code :
Code :
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
||||
|
10
|
|
|
#7 |
|
Membre habitué
![]() Pascal Diogo AntunesÉtudiant Inscription : janvier 2008 Messages : 270 ![]() |
merci, j'en tiendrai bien compte
INNER JOIN ? je connaissais pas, je vais revoir tout ça. C'est plus rapide que WHERE ? ça permet de joindre 2 tables par rapport à leur clef étrangère directement ? edit: en effet, ,je viens de lire le cours de cyberzoide, qui est très bien expliqué, et qui indique que pour faire une jointure, il y a plus rapide: - ce que tu as dis juste au dessus. Merci à tous |
|
|
00
|
|
|
#8 |
![]() ![]() |
Ce n'est, en principe, ni plus rapide ni plus lent mais c'est surtout plus lisbile et évite des erreurs dans les requêtes car avec l'ancienne syntaxe il est très facile d'oublier une condition de jointure. Je ne compte plus le nombre de requêtes en erreur postées ici, écrites avec l'ancienne syntaxe, que j'ai résolues simplement en récrivant les jointures correctement. Dans 90% des cas, il manquait une condition de jointure !
Pour tout savoir sur les jointures : c'est encore chez SQLPro.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#9 |
|
Membre habitué
![]() Pascal Diogo AntunesÉtudiant Inscription : janvier 2008 Messages : 270 ![]() |
d'accord merci
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com