這個問題更多的是關於代碼的體系結構和想法。針對分佈式數據庫的解決方案/設計,具有時間同步的PK/FK解決方案
問題: 讓我們有一個存儲所有內容的後端主數據庫。 然後我們有一個前端本地數據庫(SQLLite或類似的),它只存儲用戶/設備的相關數據。
用戶可以在前端創建數據。但是,有幾個用戶可以同時創建同一種類型(即收據),如果我們使用簡單的int自動增量PK,則後端會發生衝突。
提出的解決方案是: 我們使用複合PK,其中所述PK組成: -autoincrement整數 -device ID -user ID
現在,logicaly,設備ID和用戶ID應該是FK到設備和用戶表,但是由於幾個原因,在每個前端設備上存儲所有設備/用戶不可行/不可行,所以FK使其成爲問題。
建議的解決方案是爲了省略FK請求並僅在後端檢查數據完整性,但說實話,我不確定風險/收益是否值得。
有沒有人對此有所瞭解和/或在部署後有一些經驗? 你有什麼想法? 非常感謝。
SQLite不提供UUID或GUID函數,但現在大多數編程語言都這樣做。因此,您可以在應用程序代碼中生成GUID,然後將其存儲在SQLite數據庫中。你*可以*在C中創建一個函數並將其編譯到SQLite中,但我認爲這通常比它的價值更麻煩。 –
很高興知道。謝謝! –