Is the following database design proper for this Quiz Engine System?
I need to implement a simple quiz engine system which is somehow similar to the example explained in the
ASP.NET website (for more information, please see this [LINK]). I have some quite difficult requirements that let me confused with the proper database design. I did one design and I am not sure about it. So I need your help and recommendation. Example Question Types So Far: - Multiple Choice (4 choices or 2 choices) with a Single Answer - Multiple Choice with Multiple Answer (like select the possible answers) Some requirement that I have to consider them: 1. the quiz may contain more than one question 3. Many question may designed as a four multiple choice question, so I may have a possible answer (or choice) such as (All of the above) repeated or used in most of the questions. Therefore, I think my current design now will let me get a data redundancy regarding this requirement. What do you think? If this is bad, which design you recommend? 4. Each question might have an answer explanation which be displayed to the user if he gets the wrong answer 5. I may need to add an image to some of the questions and I don't know where I should put this from the database design. My database design is as following: ![enter image description here] :
I think it looks OK. If I were doing it, I think I'd break apart the make-up of the quiz and the answers provided by the user, which I don't see in your design. But I like how you can use the same answers over & over for different questions. I would make sure you have an alternate key (a unique index) on the QuizContent table so that for any given quiz you don't get the same question & answer. Other than that, I think it looks OK.