Bonjour,
J'ai un dileme à résoudre.
Voila l'exemple
Une table A avec une clef primaire constituée d'une seule colonne : a_id
Une table B, avec un clef primaire constituée d'une seule colonne : b_id
J'ai une relation n-n entre ces deux tables : j'ai donc une table intermédiaire dont la clef primaire est constituée des 2 clefs étrangères vers A et B.
L'exemple est simple, mais il se complique lorsque la table intermédiaire est aussi utilisée dans une autre table et ainsi de suite...
Moralité : je me retrouve avec des clefs primaire composées à tiroir !
Est-il "acceptable" de concevoir sur ma table intermédiaire :
- un index unique constitué des deux clefs étrangères vers A et B
- une clef primaire d'une seule colonne (auto incrémentée) que je référencerai donc lorsque j'utiliserai cette table dans d'autres tables.
J'hésite entre les deux choix :
- le premier me permet de retrouver directement les informations des tables A ou B, puisque la clef composée les contient. Par contre, vu la structure de mes données, je vais me retrouver avec des clefs primaires à 4 voire 5 composantes !
- le deuxième est plus simple, mais dès que je dois retrouver un info dans les tables, il faut que je "remonte" la pelote de laine pour retrouver les clefs primaires....
Args, je craque !