1

データベース設計に関する簡単な質問です。

データベースにデータを保存しているとすれば、ユーザーに関連付けられたUser2 つの (一見) 別々の形式のデータを特定できます。アカウント データ、およびプロファイル データ

ほとんどのプロファイル データはオプションであり、不必要です (可能であり、多くの場合そうなるでしょうNULL) が、アカウント データはユーザーにとって不可欠であり、サービスを使用する能力 (ほとんどまたはまったくない可能性がありますNULL)

これを 2 つのテーブルに分割する利点はあります1-to-1か? 単に設計の観点から見ると、論理的に思えますが、パフォーマンスについて話すとき、これは一般的な (良い) 習慣ですか?

4

2 に答える 2

3

論理設計の観点から、エンティティタイプはそれが持つ属性によって定義されます。属性の一意のセットはそれぞれ異なるものを定義し、別の方法で行う正当な理由がない限り、独自のテーブルに配置する必要があります。正規形や直交設計の原則などの設計原則を使用して、どの属性がどのテーブルに属しているかを確認します。

これを行う利点は、存在しない属性値に対してnullまたはダミー値を作成する必要がないことです。このようにnullを使用すると、ほとんどの場合、エラー、あいまいな結果、および後で妥協することになります。

于 2011-07-25T09:33:58.497 に答える
3

プロファイル データとアカウント データ用に別々のテーブルを作成することは、一般的な良い方法だと思います。私はそのスタイルを何度も見たり使用したりしました。

于 2011-07-25T05:58:17.070 に答える