我有一個披露表格,要求用戶輸入一系列約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