2013-10-31 103 views
-1

我需要創建測驗網站,我不知道應該如何處理統計信息。該網站需要跟蹤每個用戶的進度(答案是如何回答的,回答每個問題需要多少時間等)。用於處理測驗網站統計信息的數據庫設計

我應該創建一個新表(我們假設'統計信息),並且每次用戶完成測驗時應該創建一個新行嗎?所以,統計

  • user_id說明
  • quiz_id
  • 解答(以連載的形式,因爲題量是可變的)
  • time_of_answer(同上)
  • points_for_each_answer(同以上)

這不會太慢,如果管理員想要檢查一些統計數據,假設有多少用戶在第三次測驗中正確回答了問題#2?

+0

我會用'answer_id'交換'quiz_id',因爲大概答案意味着測驗(所以統計被鏈接到答案,這是連接到測驗)。然後你可以單獨記錄答案,並避免序列化。 – halfer

回答

1

如果你需要他們作爲一個真實的實體,不要序列化答案 - 只要給他們一個quiz_id外鍵,讓你知道他們屬於哪個測驗,使用合適的索引,並且一切都將平穩運行。

+0

在答案下,我的意思是用戶給出的每個問題的實際答案。所以我們說有4個答案,那麼我需要存儲答案給出的相應數字:2,3,1,4。由於一次測驗下的問題數量會有所不同(從3到10),因此答案數量可能會有所不同,最好的方法是存儲那些給出答案的答案。 對不起,如果我的問題有點跛腳:) – joe007

+0

你需要一個'answers'表,其中'answer_id'爲PK,'quiz_id'爲FK,'value' /'choice' /不管作爲真正的答案主體。那麼你不必關心數量。 – moonwave99

+0

聽起來不錯,謝謝:) – joe007