簡體   English   中英

簡單的調查數據庫設計

[英]Simple survey database design

我正在為我的活動的訪客創建調查。 但是,自從我創建數據庫以來已經有一段時間了。 所以我需要一些幫助。

我發現了一些解決方案,但它們是廣泛的,這是我不需要的。

訪問者需要保持匿名,但他們可以留下他們的電子郵件(單獨的表格電子郵件與任何atm沒有關聯)。 他們有大約20個問題,一些是開放的,一些是一個選項(無線電),一些是多個選項(復選框)。 這些問題需要重復使用。 就是這樣。 我只是不知道如何超越你在下面看到的圖中的多對多。 調查數據庫設計

我怎么離開這里? 答案表需要與?有關系? Surveys_have_Questions,還是有問題?

編輯:

正如以下鏈接中的答案所提到的,大多數調查都是基於經典的設計模式。 我的是其中一項調查。 以下鏈接中的更多信息: 哪些mysql數據庫表和關系將支持帶有條件問題的問答調查?

我可能會對用戶進行調查的事件進行建模,也許是一個名為“User_Answer_Session”的表格,該表格包含調查和用戶的鏈接; 然后是“User_Answers”,它們與會話和問題相關聯,並包含答案的實際blob。 究竟如何我模仿的答案將取決於幾件事情(我主要是如何穩健地希望能夠找一找)。 例如,我是否希望能夠為極快的報告索引多項選擇答案? 如果是這樣,那么你需要為此建模。 這可能包括創建一個“Question_Options”表,這是一個問題和可用選項之間的一對多...

這應該讓你思考一條好路。 :-)

好吧,我不明白為什么你需要所有這些表! 我認為它可以比這簡單得多。

surverys

desc VarChar
startDate timestamp
endDate timestamp
isOpen boolean

survery_questions

survery_id int (FK)
question Text
vote_count unsigned INT 

user_survery

user_id
survery_id 
unique key (user_id_survery_id) #to ensure no duplicate votes

那一切:)。 什么時候用戶投票只是運行

insert into user_survery (user_id,survery_id) VALUES (1,1);
update survery_questions set vote_count = vote_count+1;

當你需要得到一個結果

select * from survery_questions where survery_id = X;

等等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM