Tiens je suis etonné par ton affirmation Pollux.
Tu as bien raison sur le fait qu'une table n'a qu'une seule clé primaire.
Cependant, et tu le dis subtilement, une clé primaire peut être composé de plusieurs champs (Clé, composée de deux champs, symbolisée par (pk) dans l'exemple au dessus^^).
Donc, non sans erreur, il est habituel de penser à plusieurs clés primaires pour une table.
C'est une bonne precision de ta part, cependant pour les neophytes comme moi ce n'est pas inconcevable de penser de cette manière. Ce qui est souligner pour corriger cet conception de la clé primaire.
Amicalement
Pour repondre à la question initiale, il est donc possible d'avoir une clé primaire champ1(PK) d'une table A pointant sur la clé primaire champ1(pk) d'une table B. C'est d'ailleurs de cette maniere que l'on pourrait trouver les tables representant une généralisation en UML (pour le reverse engineering) meme si on a tendance a les regrouper en une seule table. Par contre je ne pourrais pas te dire quelle sera la reaction lors de l'enregistrement sur la table A, car un enregistrement ayant la meme clé primaire devrait aussi se trouver dans la table B. Faudrait il penser aux trigger pour lever ce problème ?