0

ASP.Net Web サイトのドキュメントに取り組んでいます。ウェブサイトは c-sharpcorner.com のように見え、ユーザーは記事、質問、仕事の機会、仕事の依頼を投稿できます。Web サイトの ER ダイアグラムを設計しているときに、すべてのユーザーの投稿の種類 (記事、クエスト、ホブなど) を 1 つのテーブルに入れ、それらを区別するために type 属性を作成する必要があるのか​​、それともそれぞれを分離する必要があるのか​​ 混乱します。分離されたエンティティの投稿タイプ..何が良いですか? それは私にとっても同じですが、その問題を処理する最善の方法を教えてくれる専門家が必要です。ありがとう

4

2 に答える 2

1

ER 図が概念的なデータ モデルを表すことを意図している場合は、一般化/専門化を使用して、投稿がいくつかの異なる種類の投稿の 1 つであるという事実を示すことができます。

ダイアグラムが、データのリレーショナル モデルを使用して論理データ モデルを表すことを意図している場合、設計上の決定を下す必要があります。

このタグの下に 1 つの代替案が示されています:

というタグの下に、別の代替手段が示されています。

2 番目の選択肢を選択し、一般的な posts テーブルと各特殊テーブルの間に 1 対 1 の関係を強制したい場合は、このタグをチェックしてください: .

3 つのタグすべてで、情報タブに詳細が表示されます。

于 2013-03-30T16:38:03.273 に答える
1

ソリューション固有であるため、質問に対するすぐに使える回答はありません。

次の質問を自問してください。答えは自分で得られます。

テーブルに存在するヌル フィールドの数は? 投稿のみに使用される列がある場合、その列は他のすべての回答タイプでは null になります。データベースに多くの null 値がある場合、それは本当に良い設計ではありません。

その要件は時間の経過とともに変化し、カスタマイズする必要があるか、投稿の種類を増やす必要がある可能性はどのくらいありますか? 後でカスタマイズする必要が生じる可能性が高いほど、投稿の種類ごとに別の表を使用する方が適切です。

各タイプの相対的な投稿数は? 1 つのタイプの回答が 90% で、他のすべてのタイプの回答が 10% しかない場合は、テーブルを分けて、10% で作業するときにパフォーマンスの問題を回避することをお勧めします...

繰り返しますが、ここには正解も不正解もありません。具体的に何が最適かを考え出すには、特定のソリューションをさらに分析する必要があります。

于 2013-04-01T09:00:58.143 に答える