我正在實施一個比賽系統,用戶必須在其中選擇多個問題的正確答案。每個星期都有一套新的問題。 我正在嘗試找到將用戶參與存儲在數據庫中的正確方法。現在,我有以下數據模型:如何正常化每週參與與每週問題之間的關聯?
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添加到答案中並沒有幫助。
什麼是正確的方式來表示這些信息?
這並不妨礙來自不同周的答案的相同參與。 – 2009-07-30 16:26:14