Bu ayrı bir tabloda olası cevapları depolamak için daha iyi olurdu. Bu yerine sadece 4 soru başına cevapları herhangi bir miktarda olmasını sağlar. Ayrıca sorular cevaplardan farklı bir numaraya sahip olmanızı sağlar. Birden fazla sınav varsa, ayrıca bir Sınavlar Tablo isteyebilirsiniz.
Quizes:
id
name
Questions:
id
quiz
prompt
Answers:
id
question
prompt
QuizResult (someone taking a quiz)
id
quiz
// other information about the quiz taker, possibly including the time
Şimdi doğru cevap bir şey çok daha zor olur. Ben burada yüksek uygulamaları tercih:
Each question has a value and each answer has value
Geçenlerde sizinle çalışmış bir sistem her soru için bir puan değeri ve her bir cevabı atayabilirsiniz. Yanlış cevaplar genellikle 0 var, doğru cevap tam miktarda var. Ayrıca, bu yöntemi kullanarak kısmen doğru cevap olabilir. Bu ben gitmek istiyorum yöntemdir.
Sen git ve her soru 10 puan değerinde olduğunu söylemek ya da farklı sorulara farklı ağırlıklar atayabilirsiniz olabilir:
Questions:
id
quiz
prompt
value (you can make this question worth more or less)
Answers:
question
prompt
value (you can make this answer worth more or less)
Store the correct answer in the Answers Table
Daha basit (ama daha az sağlam) çözümü sadece Cevapları tabloda doğru olan cevabı söylemektir.
Answers:
question
prompt
is_correct
Store the correct answer in the Questions Table
Ben bunu tavsiye etmem. Bir soru oluşturduğunuzda birini eklemek kadar, bir doğru cevabı olmaz. Bu doğru bir soru yapmak için en az 3 sorguları demektir. Eğer yabancı anahtar bağımlılıkları kullanırsanız, bu hızla sinir bozucu alacak.