2011-10-23 38 views
1

我正在考慮如何爲即將推出的項目設置我的數據庫。該項目是一個頁面內部公司測驗應用程序。用戶回答問題,輸入他們的姓名和電子郵件,如果他們得到他們所有權利,他們進入一個「彩票」獎。用於測驗項目的Postgresql數據庫設計

有4組問題每月發佈。我想跟蹤所有用戶的所有問題的所有答案,以便我可以在管理部分生成該數據。每個月有5個問題,每個問題都是多種選擇。

我的第一個想法是爲每個問題創建一個列,並將它們命名爲:M1Q1,M1Q2,M1Q2,然後是第二個M2Q1等。對於每個用戶,這是20列,似乎沒有必要。 我應該爲每個月存儲一組「答案」嗎?或者其他方式?

還有一個類似的問題在這裏:MySql database design for a quiz但我不需要存儲問題,我只需要保存每個用戶的所有問題的所有月份。我正在使用rails,所以我可以訪問域邏輯等與上面的問題。

謝謝。

回答

1

您可以使用兩個表格。一列有四列:

userid month question answer 
1  1  1  A 
1  1  2  C 
1  1  3  B 
etc... 

主鍵是(用戶,月,問題)。

userid是存儲用戶信息的用戶表的外鍵。

+0

這是最佳設計? – Lsdafjklsd