profiles
、 、という 3 つのテーブルがあるprofiles_skills
としskills
ます。これは HABTM 関係であり、1 つのプロファイルが複数のスキルを持つことができ、1 つのスキルが複数のプロファイルに属することができます。
これらのテーブル間に外部キー制約を設定する必要があります。私の質問は、外部キーはどの方向にあるべきですか? たとえば、次のようにしますか。
ALTER TABLE profiles_skills ADD FOREIGN KEY (skill_id) REFERENCES skills(id);
ALTER TABLE profiles_skills ADD FOREIGN KEY (profile_id) REFERENCES profiles(id);
または私はこれを行いますか:
ALTER TABLE profiles ADD FOREIGN KEY (id) REFERENCES profiles_skills(profile_id);
ALTER TABLE skills ADD FOREIGN KEY (id) REFERENCES profiles_skills(skill_id);
私は実際に慣例に従ったことはありません.私はそれを入力する方法でそれを行うだけで、問題はありませんでした. しかし、それが本当に重要なのかどうか、私はいつも心の奥底で疑問に思っていました.