私は複数の選択肢のクイズを実装しようとしており、すべての質問と回答をSQLiteデータベースに保存したいと考えています。私は多くの疑問を抱き、それぞれの質問に対して2つ以上の答えが表示されます。データベースに複数の選択肢のクイズを保存する - スキーマを決定する
私の質問は、質問と回答をデータベースにどのように保存すればよいですか? (:INT、questionString:文字列、correctAnswerID:int型questionID)
私は(太字の主キー)質問(多くの多くの)として
- スキーマのための2つのアイデアを持っています
の回答(answerID:INT、answerString:String)を
questions_and_answers(questionID、answerID)
2.
質問(questionID:INT、questionString:文字列、correctAnswerID:int型)
の回答(answerID:INT、answerString:文字列、questionID: int 外部キー)
どちらが良いか、別の方法があるかわかりません。
おそらく
questions_and_answers
が非常に大きくなり、長い検索時間とメモリの問題が発生しますか?次に、私はquestion_and_answers
が主キーで索引付けされると仮定します。 2番目のスキーマでは、answers
はに索引付けされ、questionID
ではなく?テーブル全体を検索する必要があるため、検索時間が増えるでしょうか?〜10,000〜20,000件の回答があります。 (クイズはモバイルデバイス上で実行される可能性があり、質問は「瞬時に」表示する必要があります)
注:質問間の回答の重複はあまりありません。
questions_and_answers
テーブルで必要な余分なスペースを考慮して、重複量が少なくて済むとは思いません。
あなたの回答は複数の質問に重複している可能性がありますか? – Tenner
おおまかな推測では、回答の30%が複数の質問に表示される可能性があります。 –