コース用のテーブルと、多肢選択問題(MCQ)と通常の質問(NQ)用の2つのテーブルがあるとします。
各コースには、複数のMCQとNQを含めることができます。私は、生徒に表示され、統計目的で使用されるように、彼らの数を追跡することになっています。
どうすれば接続できますか?各試験の種類を追跡するために、質問とコースの中間のテーブル(たとえば、試験ラベル)を使用することになっていたのですが、友人から、シーケンス(Postgresなど)などを使用するように言われました。
何をお勧めしますか?
コース用のテーブルと、多肢選択問題(MCQ)と通常の質問(NQ)用の2つのテーブルがあるとします。
各コースには、複数のMCQとNQを含めることができます。私は、生徒に表示され、統計目的で使用されるように、彼らの数を追跡することになっています。
どうすれば接続できますか?各試験の種類を追跡するために、質問とコースの中間のテーブル(たとえば、試験ラベル)を使用することになっていたのですが、友人から、シーケンス(Postgresなど)などを使用するように言われました。
何をお勧めしますか?
シーケンスは、単調に増加する数値の単なるジェネレーターです。ここでどのように適用されるかわかりません (代理 PK 値の生成以外)。
必要なものはおそらくこれに似ています:
注: このモデルでは質問のみを取り上げました。回答を保存するには、追加のデータ構造が必要です。
記号はカテゴリ (別名、継承、サブクラス化、一般化階層など) を示します。これを物理データベースに実装するには、主に 3 つの戦略があります。詳細については、 ERwin メソッド ガイドの「サブタイプの関係」の章を参照してください。
各 MCQ と NQ は、複数のコースに表示できますか? その場合、質問とコースの外部キーを保持するマッピング テーブルが必要です。特定の問題が 1 つのコースでしか使用できない場合は、問題テーブルにコースの外部キーを保持させます。
このシナリオでは、シーケンスの適用可能性がわかりません...
コーステーブルと質問テーブルからの外部キーを保持する別のテーブルが必要になり、カウントに追いつくことだけが必要な場合は、インクリメントできる別の列を追加します。テスト問題の種類ごとに関連テーブルを 1 つ用意します。