Je suis la conception d'une base de données et ont les deux tableaux suivants:Est-ce une mauvaise idée d'avoir une clé primaire composite qui contient une clé étrangère?
t_model
(avec des champs:model_id
(PK),model_name
)t_model_version
(avec des champs:model_id
(PK, FK),model_version
(PK),start_validity_date
,end_validity_date
)
Comme on peut le voir, t_model_version
son PK est un composite PK. L'un des champs de la PK est également un FK (le PK de t_model
). Je me demandais si c'est une bonne ou une mauvaise pratique? Je voudrais éviter d'avoir des difficultés plus tard que je ne peux pas encore prévoir ...
t_model
détient différents modèles (par exemple différents modèles/formes fonctionnelles pour prédire la croissance macroéconomique). t_model_version
contient les numéros de version par modèle (par exemple, une version différente d'un modèle signifie que la forme fonctionnelle est conservée mais que les estimations de coefficient ont été mises à jour).
Edit: Ma question ne porte pas sur comment d'ajouter un FK lorsque le champ d'intérêt est déjà partie d'un PK composite, mais si ce une bonne pratique. Par conséquent, ma question n'est pas une duplication de Composite Primary Key + Foreign Key.
Copie possible de [Clé primaire composite + Clé étrangère] (https://stackoverflow.com/questions/11215494/composite-primary-key-foreign-key) – philipxy
Veuillez toujours, avant d'envoyer Google, indiquer clairement, concis, spécifique versions de votre question. (Si vous le demandez toujours, utilisez-en un comme titre.) Ici, j'ai répondu parce que je n'ai pas trouvé une copie claire que j'ai aimé tout de suite, mais googler la fin de votre titre donne beaucoup de résultats raisonnables. – philipxy