0

我有一个问题如下所示:

1.Are you a good boy ? 
  ans:Yes/No
 OR,Are you a good girl?
  ans:Yes/No
 Or,Are you a good father?
  ans:Yes/No

如果对上述三个问题中的任何一个的回答是“是”,请询问

  1.1 What is your age?ans:textbox
      OR
      What is your birth date?ans:textbox

   1.1.1 Where were you born?ans:textbox //this is the question inside the sub-question         

现在在问题 (1) 中实际上有 3 个问题,但它们的所有 id 都是 1....并且 (1.1) 是问题编号 (1) 的子问题,它实际上由两个具有相同 id 的问题组成(这里是可以是任何数字,不一定是 1.1)。

1.1.1是子问题里面的问题。

现在我如何在 sql server 中创建一个包含上述所有数据的表,以便回答上述问题将适当地插入到表中。如果解决方案被规范化而不是非规范化,将不胜感激。

如果答案表显示了所有要插入的选项,例如是/否,描述性答案,我们将不胜感激。

4

3 回答 3

0

This is slightly confusing and I am not sure about your current schema but if the questions are predefined from a set values, this schema is the one to go with.

Questions
=================
questionID
optionID
subID            (0 if not a subquestion)
Question
Composite Primary Key (questionID, subID)

Answers
=================
userID
questionID
optionID
subID
answer
Composite Primary Key (questionID, subID)

another approach can be..

Questions
===============
questionID      //Unique question ID
questionRank    //On which question number it is available i.e. 1 for "Are you a good..."
subCategory     //0 if main question, sub ID number if a sub question
question        //Actual question

UserAnswers
===============
userID
questionID
answer
于 2012-12-21T14:45:02.700 回答
0

假设表格是问题。那里有一个类型列。说主要问题你插入 1 和分支你插入 2。如果你谈论主键,它们不能有相同的 id。您可以做一件事,即根据需要显示表格中的项目。字段可能是这样的。1. ID,2. 类型,3. 问题。安息你的心愿

于 2012-12-21T09:19:37.927 回答
0

您可以按照Bhrugesh Patel的建议存储问题和答案。

为了对哪些问题应该遵循哪些其他问题进行建模,您需要一个状态转换表

状态转换表是一个表格,显示基于当前状态和其他输入,有限半自动机或有限状态机将移动到什么状态(或在非确定性有限自动机的情况下的状态)。

于 2012-12-21T15:26:03.057 回答