Mysql
分層測驗的數據庫結構?
我正在做一個個人項目,我有一個帶有許多布爾問題的測驗。每個問題將有兩個答案選擇“真”和“假”。根據選擇的答案,將使用類似的模式提出一個新問題,並在此基礎上提出另一個問題。任何問題都可能有任何數量的子問題或沒有子問題。
樹中的最後一個問題(E、D)和沒有子問題的問題(F)也將儲存“真”或“假”的正確答案。
字母 A、B、C、D、E、F 是問題。測驗可以有任意數量的主問題(如 A)、子問題(如 B、C、D、E)和個別問題(如 F)。
請幫我為這種測驗設計一個簡單的數據庫模式。我對關係(mysql)和文件(mongodb)數據庫都開放。
在關係數據庫中,您應該創建一個名為 Questions 的表,其中應包含以下欄位:
ID
QuestionString
QuestionType
(大師,個人,子問題)TrueCase
(這裡你應該儲存下一個問題的ID。由於我們會將所有問題儲存在此表中,因此每個問題都有唯一的ID)FalseCase
(詢問答案是否正確的問題ID。如果ID為空,則應退出)希望能幫助到你。
* User - user_id auto integer - regtime datetime - username varchar - useremail varchar - userpass varchar * Question - question_id auto integer - question varchar - is_active enum(0,1) * Question_choices - choice_id auto integer - question_id integer - is_right_choice enum(0,1) - choice varchar * User_question_answer - user_id integer - question_id integer - choice_id integer - is_right enum(0,1) - answer_time datetime