MySQL non primaire clé étrangère

Je suis un peu un newbie et je ne peux pas obtenir ma tête autour de clés primaires des clés étrangères. Pour moi, les clés étrangères sont destinés à connecter deux lignes d'une table. Par conséquent, il serait logique d'utiliser l', par exemple, username de la user table de clé étrangère dans la picture table. Cela signifie que l'image en ligne appartient à l'utilisateur spécifié. Cependant, il semble que la pratique générale des faveurs de sens à l'aide de numéros de primaire Id. En outre, la clé étrangère doit/doivent se référer à la clé primaire. Que faire si je ne connais pas la clé primaire, mais je sais une autre colonne unique, dans ce cas username, comment pourrais-je obtenir la clé primaire dans une autre MySQL déclaration, ou, sinon, d'avoir la clé étrangère point de non clé primaire?

OriginalL'auteur puk | 2011-11-14