2016-12-07 76 views
0

說明:我現在有成千上萬的任務和幾百人可以看到這些任務的數據庫。每個用戶都有自己的登錄名,但都看到相同的任務列表,並且都必須完成所有這些任務。任務管理腳本(1個任務的數據庫所有用戶必須單獨完成)?

我的問題:我希望每個用戶都能夠將每個任務完成標記爲在其帳戶中完成,而不會爲所有其他用戶標記完成。

我現在有什麼: 1個任務和描述表,1個用戶表,1個關於每個任務的討論表。用戶可以登錄並查看所有任務,但無法標記完成。

我不確定我是否可以解釋得這麼好,但我只是尋找任何洞察力,以便開始使用這種方法,因爲我碰到了一堵磚牆,需要比我更聰明的人給予他們的見解:)

謝謝大家提前爲您的意見。

回答

0

你需要一個更保存用戶和任務之間的關係表。 每次用戶完成你做的進入該表中的任務:

idx task_id user_id 
    1  1  3 
    2  4  3 
    3  1  5 ... 

誰已完成一個任務,或者由用戶完成的任務這樣,你可以查詢用戶,尚未完成的任務用戶等..

+0

謝謝,這似乎是一個選項,但我擔心數百萬最終可能會在幾年的使用被創建爲新的人加入記錄。任何關於表值中的某種數組的任何想法都可以保存所有已完成的任務? –

+0

這基本上是一個鍵值對,如果量是一個問題有幾種方法可以解決這個問題,如使用key-value存儲如HBase的。儘管我懷疑數百萬行中的表對於大多數RDBMS來說可能是太多問題。 書面方式與TASK_ID,USER_ID對陣列和更新它會比附加到一個關係表昂貴得多的交易。 您可以添加日期/時間戳列,然後使用它來過期數據。 – PabTorre

+1

這種方式完全適用於您提到的兩種方式,而且我正在使用一組完成值附加到每個用戶配置文件進行測試,幾天後將決定是否需要更改它。謝謝。 –