我有一个披露表格,要求用户输入一系列约30个问题的“是/否”答案。有没有更好的方法来构建处理用户问卷的SQL表?
有没有更好的方法来创建表格,而不是有30列相应的问题?
下面是我的MS-SQL脚本,但问题更多地涉及结构而不是语法。
CREATE TABLE Questionaire(
QuestionaireID int IDENTITY(1,1) NOT NULL,
UserID int NOT NULL,
Q1 bit NOT NULL,
Q2 bit NOT NULL,
Q3 bit NOT NULL,
... etc ...
... etc ...
Q30 bit NOT NULL
)
-- and to store the questions relating to Q1, Q2, etc...
CREATE TABLE Questions(
QuestionID int IDENTITY(1,1) NOT NULL,
Question varchar(30) NOT NULL
)
减少SQL使用的好处是什么?你已经说过它是给定的。 – 2009-08-16 00:28:20
谢谢。我曾考虑将JSON/XML存储在一个字段中,但对这些数据的报告对我来说将会非常棘手。所有问题都提到了是/否的答案,所有的答案都是“不”。也许最好的办法是只存储“显着”的答案,即用户在问题中选择“是”的地方。那么ID,UserID,QuestionID就足够了? – Joshua 2009-08-16 00:28:43
这个答案帮助我得出结论,我可以通过一个问题表(QuestionID int,Question varchar(max))和响应表(ResponseID int,QuestionID int,UserID int,响应位)很好地得到结论。 – Joshua 2009-08-16 00:37:25