2

下の画像を参照してください ここに画像の説明を入力してください

1つのアカウントには1つのプロファイル関係があるのに、なぜプロファイルテーブルがあるのですか?ステータスの保存とは別に、プロファイルテーブルの目的は何ですか。アカウントテーブルにステータスを含めて、「アカウント」テーブルからBasicInformation、PersonalInformationなどに直接関係を作成してみませんか。

http://i.stack.imgur.com/u7GKB.jpg

4

4 に答える 4

3

将来、1 つのアカウントが複数のプロファイルを持つことができるようにモデルを変更する場合、1 つだけよりも 2 つのテーブルを使用する方がはるかに優れています。

結合のコストに関しては、それを定量化し、速度の違いを気にする必要がない場所を判断する必要があります。ジョインによって速度が低下するのではないかと過度に恐れることは、リレーショナル データベースの初心者が犯す最も一般的な間違いの 1 つです。

于 2011-05-30T14:31:42.543 に答える
2

いくつかのアイデアと経験に基づいた推測。

  • 概念レベルでは、アカウントとプロファイルは 2 つの異なるものです。
  • アカウント テーブルにプロファイル ステータスを追加すると、そのテーブルの幅が広くなり、速度が低下します。
  • ステータスには最新の投稿のみが保持されるため (そうですか?)、そのテーブルは別のテーブルスペースに置くことができます。おそらく、高速検索用の非常に高速なディスク アレイに配置できます。
  • ステータスは、おそらくアカウント テーブル内の何よりも頻繁に検索されます。
  • セキュリティの管理がより簡単になります。多くのサードパーティ アプリは、ステータスへのアクセスを許可されている可能性がありますが、必ずしもメール アドレスとパスワードへのアクセスを許可する必要はありません。物理的な分離 (個別のテーブル) は、明らかに正しく行うのは非常に簡単です。
于 2011-05-30T12:03:44.687 に答える
1

すべてのアカウントにプロファイルが関連付けられているわけではないためだと思います。つまり、関係は実際には 1:0/1 であり、1:1 ではありません。

于 2011-05-30T14:36:12.783 に答える
0

それは単なる抽象化の問題です。

アカウントにはプロファイル データがあります。したがって、プロファイルのインスタンス (テーブル) があります。

このようにして、プロファイル データに個別にアクセスでき、将来的にはアカウントにさらにデータを追加できます。

于 2011-05-30T08:44:59.800 に答える