我的火腿目前正在設計一個數據庫表和vb格式。該表格將向每個用戶詢問約40個預定義的是/否問題。我怎樣才能設計數據庫表,以便正確存儲答案。我寧願避免桌子上有40個左右的屬性。有沒有一種方法來設計它,以便當您查詢某個特定用戶的答案時,您會看到問題並且在其旁邊顯示他的答案(是/否) 謝謝數據庫設計建議 - 多個是或否問題
回答
您可以將問題和答案存儲在單獨的桌子。具體來說,您將有一個Questions
表,其中有40個是/否問題。 Answers
表將包含問題標識符,用戶標識符和答案的列(對於是/否問題,您可以只使用布爾值)。 AnswerChoices
也可以是單獨的表格。
根據您的需求有很多可能的靈活性。如果同一用戶可以多次參加調查,則可以使用用戶調查表並鏈接相應的答案。如果需要進行多項調查,您還可以製作調查問卷映射表。
謝謝你的幫助 –
這就是我該怎麼做的。列出QUESTION表中的所有問題。這也意味着只要添加新行就可以隨時添加新問題。
用戶
UserId | UserName |電子郵件|等..
問題
QuestionId |問題
USER_RESPONSE
UserId | QuestonId |響應
SELECT
user.Name,
question.Qustion,
user_response.Responce
FROM
user
INNER JOIN user_response
ON user.UserId = user_response.UserId
INNER JOIN question
ON user_response.QuestionId = question.QuestionId
WHERE
user.UserName = 'JoeBloggs'
謝謝斯科特... –
確定在最簡單的術語作出(「用戶」)與用戶名出發的現場表1 做問答表,在所有這些問題(前提是你不想要硬編碼這些在你的程序) 做一個答案表,這個表應該有2列...用戶ID和答案
你不需要外鍵這兩個,雖然它的長遠來看它更好,當它來刪除數據(它會讓你知道爲什麼你不能刪除一個用戶,例如,如果他還沒有刪除的問題,這是一個因爲用戶將被刪除,所以你真的不需要保留空白空間)
然後你要做的就是當你一次或一次提交問題1時,將用戶ID提供給答案表,回答。所以用戶1總是1,答案會改變。
如果我是你,我會創建問題表以及。所以整個事情看起來像
用戶表
用戶名,用戶名,爲userpass,用戶......,用戶...等
問表
QuestionID,問題
回答表
用戶名,QuestionID,答案
所以在你的程序,因爲你知道哪個問題對應哪個q uestionID,你會插入
1(用戶名),1(to40forQuestionID),answer.text(答案)爲答案表
那麼你將總是能夠抓住從答案表格您的所有信息,知道什麼答案屬於極其重要的問題,並適用於最終用戶等。
如果您需要使用術語來解釋他的解釋,那麼我試着將所有的術語全部留給簡化,以免您不知道它們。
謝謝你Pakk –
請不要忘記投票給你找到正確的,有幫助的答案:P快樂編碼 – Pakk
- 1. 數據庫設計建議
- 2. 數據庫設計建議
- 3. 數據庫設計問題(或問題)
- 4. 數據庫設計 - 建議
- 5. 建議最優的數據庫設計
- 6. 食譜數據庫設計建議
- 7. 關於數據庫設計的建議
- 8. mongodb數據庫設計(產品建議)
- 9. 數據庫設計問題 - 多個「或」參考
- 10. Firebase數據庫設計建議
- 11. MySQL數據庫設計建議
- 12. 建議爲競猜數據庫設計
- 13. NHibnerate數據設計建議
- 14. MySQL數據庫設計建議
- 15. SQL - 數據庫設計,需要建議
- 16. 這個數據庫設計是否適用於子問題?
- 17. 數據庫設計 - ERD。建模問題
- 18. 建議數據庫/設計選擇
- 19. 所需的數據庫設計建議
- 20. SQLite數據庫問題,設計問題(索引/多個字段)
- 21. 針對多個目錄的數據庫設計建議
- 22. 數據庫設計建議 - 多個條目
- 23. 需要數據庫設計建議
- 24. 數據庫設計問題
- 25. 數據庫設計問題
- 26. 數據庫設計問題
- 27. 數據庫設計問題
- 28. 數據庫設計問題:
- 29. 數據庫設計問題
- 30. 數據庫設計問題
一個表格有三個字段:UserID,QuestionID,AnswerText –
我看到圖片。謝謝 –