2015-01-14 42 views
0

我正在做一个个人项目,我有一个布尔问题的测验。每个问题将有两个答案选择“真”和“假”。根据选定的答案,一个新的问题将被问到类似的模式,并基于另一个问题。任何问题都可能有或没有数量的子问题。测验分层数据的数据库结构?

树中的最后一个问题(E,D)和没有子问题(F)的问题也将存储来自“true”或“false”的正确答案。

字母A,B,C,D,E,F是问题。测验可以有任何数量的主要问题(如A),子问题(如B,C,D,E)和单个问题(如F)。

请帮助我为这种测验设计一个简单的数据库模式。我对于关系型(mysql)和文档(mongodb)数据库均开放。

concept diagram

回答

0

如何(假设关系)问题,答案和解答以下问题的链接。

Questions 
--------- 
Question_Id 
Question details 

Answers 
------- 
Question_Id 
Correct FLAG 
Next_Question (fk to Question_Id) 

当下一个问题为空时,您可以假设测验已结束。

我不认为noSql自然会出现这种问题。除非你对nosql有特殊需求,否则我会坚持使用关系型,或者你可以考虑使用图形数据库。