我有一個應用程序與SQLite數據庫存儲用戶的帳戶信息。我設計數據庫時假定應用程序只有一個用戶。因此,用戶的ID不存儲在數據庫中(但它存儲在服務器上的中央數據庫中)。但是,可以註銷應用程序並讓其他用戶登錄,但目前存在的問題是,他們的數據會下載並附加到其他用戶的數據。這不是我想要發生的,但我不確定如何更好地改變數據庫設計來解決這個問題。我曾經想過:每個用戶SQLite數據庫爲Android應用程序與潛在的多個用戶
- 一個數據庫。如果用戶只是在他們的朋友的手機上登錄一次,並且永遠不會再次登錄,可能會導致不必要的數據存儲。另外我想這可能很難管理。
- 爲所有表添加用戶標識列,所以追加不會導致問題。還有(1)有的不必要的數據問題,並且失去了1的模塊性。
- 用戶註銷時擦除數據庫。如果用戶在服務器上有大量數據,則在應用程序啓動時需要很長時間才能同步數據(這將在另一個線程上完成,但仍然很痛苦)。
是這些方法好一個?還是有更好的方法來做到這一點?
我喜歡LRU方法 - 我正在考慮跟蹤它們何時被修改,但是您的建議將會更容易實現。我真的懷疑有超過1名用戶會在同一臺設備上使用該應用,但你永遠不知道!謝謝:) – Pikaling
建議1優於建議2的實際優勢是什麼?什麼「模塊化」丟失?什麼「性能影響」?有人聽說過關於規範化和關係數據庫的原則嗎?如何爲設備上保存的多個數據庫執行升級/更改數據庫結構? – Ewoks