我正在爲用戶可能提交數據的Web應用程序構建數據庫。每個數據都是唯一的,並且多個用戶可以提交相同的數據。具有提交ID,用戶ID和提交順序的表的主鍵
從應用程序的角度來看,瞭解用戶提交數據的順序非常重要。
我爲此專門製作了一張桌子。它有以下領域:
SubmissionID
UserID
SubmissionOrder
... # and other non-important ones
我的問題是,我應該使哪些屬性的主鍵?
SubmissionID
和UserID
將允許重複SubmissionOrder
s對(SubmissionID, UserID)
對。
SubmissionID
和SubmissionOrder
將允許同一用戶提交相同的東西兩次。
UserID
和SubmissionOrder
......將大大限制用戶在什麼條件他可以提交:P
所有這三個將允許重複SubmissionOrder
S代表不同UserID
秒。
有沒有另一種解決方案,我不琢磨?
這個問題在應用程序級更好的解決了嗎?觸發器?
謝謝你的時間!
PS:一些技術細節,我懷疑你會發現有用:
- 的應用程序是用PHP
- 的數據庫sqlite3的
我認爲你已經提出了這個問題太模糊,可能通過試圖忽略域的細節。模擬一些如此模糊的東西很困難(有數據,而且我需要它,而這些沒有幫助定義的列似乎並不適合我)。 –
@MarkBrackett - 對不起。你還需要知道些什麼?用戶提交一段數據。另一位用戶提交相同的數據。我需要知道用戶提交上述數據的順序。 –