2

私はデータベースを扱い始めたばかりで、adventure-work-db テーブル設計の概念の理由を理解したいと思っています。BusinessEntity をテーブルと見なし、それを person テーブルに入れなかったのはなぜですか? それは一種の正規化されたテーブルではありませんか?

ここに画像の説明を入力

4

1 に答える 1

5

テーブルは通常、1 つの物/オブジェクト/概念を表す必要があります。Person 内に BusinessEntity のコンテンツを含める場合、モデルは PersonBusinessEntity であり、その逆であると言っていますが、これは実際には正しくないと思います。BusinessEntity には現在、Person への参照以外に何も含まれていないことは認めますが。

ただし、現状のモデルは簡単に拡張できます。将来、新しい列を BusinessEntity に追加することが必要になる場合があります (例: 会社番号、税務登録コード)。そのような属性は個人に属さないため、実際には Person テーブルに属しません。したがって、アプリケーションにビジネス エンティティの概念がある場合は、図のようにモデル化することをお勧めします。

于 2013-01-31T12:14:53.557 に答える