我正在为我正在进行的项目设计数据库。我有3个任务(用户可以选择)
n.b。随着问题数量的增加,测试结果的准确性将会提高。
对于每个问题,将有两个答案。 Answer 1
和Answer 2
。因此,如果有10个问题,则总共会记录20个答案。
到目前为止我设计的是user
表和test_result
表。 test_result
表是我在设计时遇到的问题。
user
表具有以下属性
test_result
表具有以下属性
我的问题是我不知道如何有效地记录10~30个问题答案。
我正在考虑使用test_result
表
test_result
表将具有以下属性
但我认为应该有一种更有效的方法。
修改
澄清......
每个问题将记录2个不同的答案。
一直到10~30个问题(问题数量因您选择的任务而异)
---- ::编辑2 ::
好的......所以我想出了一个改进的设计,但我仍在苦苦挣扎。
看起来像:
User
(user_id,Name,reg_date)
Test
(test_id,输入[1,2,3],类别[有5种不同的类别])
Response
(Response_id,user_id,test_id,response_date,response_1a,response_1b,response_2a,response_2b,...,response_30a,response_30b)
但是,我再次遇到Response
表有+120列的问题。每个响应都是0~1.0的数值。
请注意,如果test_id
为1,则只有10个问题,因此从Response
到response_11a
的{{1}}表中的列将为{{1} }。
示例记录将是:
response_30b
(1,1,1,2015 / 04 / 30,0.5,0.5,0.7,0.7,0.8,0.8,......(很多记录)......,1.0,0.3, null,null,null,(所有空值,因为test_id只有10个问题。))
我想不出另一种方法。 :/
这是设计数据库的好方法吗?
答案 0 :(得分:0)
似乎是一个良好的开端,因为那里总是一个&一个B
TestAnswers(ID, TestID, AnswerA, AnswerB)
那说它很清楚哪个答案与哪个问题有关......