我想實現一個多項選擇測驗,並希望將所有問題和答案存儲在SQLite數據庫中。我會有很多問題,每個問題都會有2個或更多可能的答案來顯示。在數據庫中存儲多項選擇測驗 - 決定模式
我的問題是,我應該如何將問題和答案存儲在數據庫中?我有一個模式兩種想法(粗體主鍵)
- 爲(多對多)
問題(questionID:INT,questionString:字符串,correctAnswerID:INT)
答案(answerID:INT,answerString:字符串)
questions_and_answers(questionID,answerID)
2.
問題(questionID:INT,questionString:字符串,correctAnswerID:INT)
答案(answerID:INT,answerString:字符串,questionID: int 外鍵)
我不確定哪一個更好,或者如果有其他方法?
也許questions_and_answers
會變得非常大,並導致檢索時間長和內存問題?然後再次,我假設question_and_answers
將被索引在主鍵上。在第二個模式中,answers
將在上索引,而不是questionID
?這意味着搜索時間將會增加,因爲整個表格將不得不被搜索?
可能有〜10,000 - 20,000個答案。 (測驗可能在移動設備上運行,問題需要立即顯示)
注意:我不認爲問題之間的答案會有太多重疊。考慮到questions_and_answers
表
你的答案是否真的可能在多個問題上被重複? – Tenner 2012-04-10 03:37:19
粗略推測,我會說可能有30%的答案會出現在多個問題 – 2012-04-10 03:42:05