私は、ユーザーが複数の質問の正解を選択しなければならないコンテストシステムを実装しています。毎週新しい質問があります。 データベースへのユーザー参加を格納する正しい方法を見つけようとしています。私が思いついた唯一の解決策は、次の図に示すように、質問と参加を関連付け回答テーブルを追加することです毎週参加と週間質問との関連を正規化する方法は?
Participation Week
+--------------+ +--------------+
| Id | +----------->| Id |<-+
| UserId | | | StartDate | |
| WeekId |-----+ +--------------+ |
+--------------+ |
Question |
+--------------+ |
| Id | |
| WeekId |--+
| Text |
+--------------+
:
Participation Week
+--------------+ +--------------+
+->| Id | +----------->| Id |<-+
| | UserId | | | StartDate | |
| | WeekId |-----+ +--------------+ |
| +--------------+ |
| Question |
| Answer +--------------+ |
| +------------------+ +---->| Id | |
+------| ParticipationId | | | WeekId |--+
| QuestionId |----+ | Text |
| Value | +--------------+
+------------------+
今私は、以下のデータモデルを持っています
私はこのソリューションをリンクしていないので、別の週の質問に回答することができます。 WeekIdを回答に追加することは役に立ちません。
この情報を表す正しい方法は何ですか?
これは同じ参加が別の週の回答を持つことを妨げるものではありません。 –