0

テーブルで外部キーを使用する場合、そのテーブルのキーの名前を変更して、キーがテーブルで実行する機能を明確にするのが適切な形式ですか、それとも元の名前を保持して作成するのが適切な形式ですか。それが外部キーであることを明確にしますか?

例: テーブルはユーザーを追跡し、主キーはuser_id

2番目のテーブルは、Webサイト上の記事を格納し、外部キーを使用して著者を追跡しますuser_id

2番目のテーブルのコンテキストでは、外部キーを呼び出す方が理にかなっていますauthor。データベース全体のコンテキストでは、外部キーを呼び出す方が理にかなっていますuser_id

この状況を扱う一般的な慣習はありますか、それともコメントの目的ですか?

4

2 に答える 2

1

データベース スキーマのモデリングと設計を理解することは一般的です。データベース管理者にとって意味のあるものは何でも。ビジネス ロジックは、データベースの命名方法には関係なく、結果のみに関係します。データベース管理者にとって、外部キーの author_id の名前を変更して別のテーブルの user_id を参照する方が理にかなっている場合は、そのようにして、T2.author_id が T1.user_id に存在する必要があることをいくつかのドキュメントに記します。モデリングからデータベースの設計に移行するとき (これが現在の状況です)、データベースをシンプルに保つことは理にかなっていますが、外部キー名を覚えている限り (および文書化することもできます)、外部キー名を変更できます。

于 2012-12-16T22:51:03.533 に答える
1

映画のテーブルがある場合は、person_id と person_id という名前の列ではなく、プロデューサーと監督、またはおそらく Producer_id と director_id、または Producer_person_id と director_person_id という名前の列が必要です。

映画には複数の監督と複数のプロデューサーがいる可能性があることを私は知っています。これはほんの一例です。テーブルに同じテーブルへの 2 つの外部キーがある場合は、原則として、列名にテーブル名のみを使用するという規則に完全に固執することはできないことがわかります。両方を使用できますが (producer_person_id の例のように)、列名が長くなります。

コメントは使用しないでください。誰もそれらを読みません。わかりました、それはおそらく皮肉なことでしたが、一般的に、コメントにはわかりやすい名前を付けることをお勧めします!

2 つの外部キーの問題を除けば、私は普遍的に受け入れられている慣習をあまり知りません。

于 2012-12-16T22:51:10.767 に答える