Clé composite comme clé étrangère en SQL
Dans le scénario donné, vous disposez d'une table de didacticiel avec une clé primaire composite composée de (beggingTime , day, tutorId) et une table de groupe avec une clé primaire groupId. Votre objectif est d'établir une relation entre ces tables en créant une clé étrangère dans un groupe qui fait référence à la clé composite du didacticiel.
Pour y parvenir, vous pouvez ajouter la contrainte de clé étrangère suivante à votre table de groupe :
FOREIGN KEY (`beggingTime`, `day`, `tutorId`) REFERENCES tutorial(`beggingTime`, `day`, `tutorId`)
Cependant, il est important de noter que l'utilisation de clés primaires composites comme clés étrangères peut avoir un impact sur les performances. SQL est optimisé pour gérer les relations basées sur des clés primaires entières ou des clés de substitution. L'utilisation de clés composites peut introduire une complexité supplémentaire et réduire l'efficacité des requêtes.
Pour atténuer ce problème, envisagez de restructurer la table de votre didacticiel pour inclure une clé primaire de substitution, telle qu'une colonne entière à incrémentation automatique. Cela permettra une relation plus efficace entre les deux tables tout en conservant le caractère unique de votre clé composite. La clé composite peut ensuite être conservée comme index unique pour des recherches rapides si nécessaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!