1. ホーム
  2. database

[解決済み] 外部キーの命名規則

2022-04-21 02:12:19

質問

外部キーを初めて使うのですが、標準的な命名規則はありますか?

これらのテーブルがあるとします。

task (id, userid, title)
note (id, taskid, userid, note);
user (id, name)

タスクがノートを持つ場合、タスクはユーザーによって所有され、ユーザーはノートを作成します。

この場合、3つの外部キーはどのような名前になるのでしょうか?あるいは、その代わりに は、全く問題ないのでしょうか ?

アップデート : この質問は、外部キー名に関するもので、フィールド名ではありません

どのように解決するのですか?

SQL Server の標準的な規約は以下の通りです。

FK_ForeignKeyTable_PrimaryKeyTable

ですから、例えばノートとタスクの間のキーは、次のようになります。

FK_note_task

そして、タスクとユーザーの間のキーは、次のようになります。

FK_task_user

これにより、どのテーブルがキーに関与しているかが「一目瞭然」になり、特定のテーブル(最初の名前)がどのテーブルに依存しているか(2番目の名前)を簡単に確認することができます。このシナリオでは、キーの完全なセットは次のようになります。

FK_task_user
FK_note_task
FK_note_user

つまり、タスクはユーザーに依存し、ノートはタスクとユーザーの両方に依存していることがわかります。