2010-12-14 34 views
0

我有三張表Feed,VoteEvent數據庫設計:複雜投票系統

Feed 
+id 
+content 
+voteCount --> hold the number of votes on this feed 

Vote 
+id 
+feedId --> FK to id in Feed 
+eventId --> FK to id in Event 

Event 
+id 
+name 
+voteCount --> hold the number of votes on this event 

兩個eventfeed可以是由用戶上投票。 Vote表保持跟蹤誰投票了什麼,因爲每個投票只允許在eventfeed上投票一次。所以這裏是我的問題:當我創建一個event Y時,我將創建一個feed,比如X created event Y,它將出現在用戶X配置文件中。如果有人對要麼飼料事件Y,的event Y表決。feed的所述X created event Y應該投票表決1.

一個。達到上述的最佳方法是什麼?

b。此外,如果Xfeed提到X created event Y已經投票,那麼他不能在event Y了,反之亦然投票(因爲每個用戶只能對事件進行投票一次,在這種情況下,feedevent真的是一回事)

+1

根據你的問題,我認爲你需要飼料和事件之間的外鍵關係。 – orangepips 2010-12-14 16:32:12

回答

1

此數據模型分別處理事件和饋送,但可以記錄父母Candidate。組合選票的特殊(?)情況可以在應用程序層中處理,只允許投票根據候選人WHERE ParentId is NULL

alt text