公司新專案,在執行學習測驗完成後,需要跳出一個問券讓使用者填寫, 問券的架構必須要在選取特定選項後,再展開相關對應的題目, 大致示意如下:
i、 請問你對於這次課程是否覺得有幫助?
-
有幫助
-
沒有(展開 1-1)
-
尚可 (展開 1-2)
1-1 請問為何覺得沒有幫助? -內容沒興趣 -講課時間過快 -其他______
1-2 請問您覺得可以更好的建議? -能加強實際體驗 -可以提供更多參考文獻 -時間可以在拉長
ii、請問您….
評估資料結構有兩種方式 (1) 單一表格 PARENT_ID與 CHILD_ID 方式,(2) 題目與選項拆開
(1) 單一表格 PARENT_ID與 CHILD_ID
範例:
問券題目選項
id | parent_id | child_id | is_option | title |
---|---|---|---|---|
1 | 0 | 0 | 0 | 請問你對於這次課程是否覺得有幫助? |
2 | 1 | 0 | 1 | 有幫助 |
3 | 1 | 5 | 1 | 沒有 |
4 | 1 | 9 | 1 | 內容沒興趣 |
5 | 1 | 0 | 0 | 請問為何覺得沒有幫助? |
6 | 1 | 0 | 1 | 內容沒興趣 |
7 | 1 | 0 | 1 | 講課時間過快 |
8 | 1 | 0 | 1 | 其他______ |
9 | 1 | 0 | 0 | 請問您…. |
填答紀錄
id | member_id | option_id | other |
---|---|---|---|
1 | 23 | 3 | |
2 | 23 | 8 | 太無聊 |
(2) 題目與選項拆開
範例:
題目
id | parent_id | title |
---|---|---|
1 | 0 | 請問你對於這次課程是否覺得有幫助? |
2 | 1 | 請問為何覺得沒有幫助? |
3 | 1 | 請問您覺得可以更好的建議? |
4 | 0 | 請問您…. |
選項
id | topic_id | child_id | title |
---|---|---|---|
1 | 1 | 0 | 有幫助 |
2 | 1 | 2 | 沒有 |
3 | 1 | 3 | 尚可 |
4 | 2 | 0 | 內容沒興趣 |
5 | 2 | 0 | 講課時間過快 |
6 | 2 | 0 | 其他______ |
7 | 3 | 0 | 能加強實際體驗 |
8 | 3 | 0 | 可以提供更多參考文獻 |
9 | 3 | 0 | 時間可以在拉長 |
填答紀錄
id | member_id | option_id | other |
---|---|---|---|
1 | 23 | 2 | |
2 | 23 | 6 | 太無聊 |
說明
最後,應該是採用第(1)種方式,將 parent_id 與 child_id 在同一張表統一指向參考主鍵 id,再透過其他 flag 方式來定義選項。 在資料表設計使用常見的 parent_id 來設計出無限子母層架構,is_option 則用於定義 0 為題目 1為選項,child_id 是在於選取該選項,要接續顯示子層的哪一題目