什麼是使用多個數據庫中關於同一對象,這將最終最終將生活在一箇中央數據庫中記錄信息的接受的方式是什麼時候?
例
有棵左右一個主SQL數據庫。
該數據庫保存來自英國各地的獨特樹木的信息。
要收集信息,將創建一個空白Sqlite數據庫(具有相同的模式)並將其帶到手機上的樹中。
然後將收集到的信息存儲在Sqlite數據庫中,直到它被帶回主數據庫,然後將其傳輸到主數據庫中。
現在,只要一次只有一個Sqlite數據庫出現在任何一棵樹上,它就能正常工作。
但是,如果兩個人想同時爲同一棵樹收集不同的信息,當他們都回來並試圖將他們的數據傳輸到主數據庫時,他們的主鍵約束將會發生衝突。
ID計劃(與實施例的數據)
有一個樹表,其具有稱爲treeID
TreeID唯一標識符 - TREENAME - 位置
1001 - Teddington的字段 - 普利茅斯
分支表
BranchID - BRANCHNAME - TreeID
1001-10001 - 第一科 - 10011001-10002 - 二店-1001
休假表
LeafID - LeafName - BranchId
1001-10001-1 - 臥室 - 1001-100011001-10002-2 - 浴室 - 1001-10001
可能的想法
- 分配每個數據庫1000唯一的ID然後他們回來,因爲ID已經被分配到每個數據庫上的ID不會相互衝突。
倒臺
這是不是很動態的,可能無法在其預分配的ID如果一個數據庫超支。
是否有另一種方法來實現相同的靈活性,但沒有上述的垮臺?
那麼,首先,你將如何唯一識別一棵樹?這是進一步考慮的一個起點。因爲如果你不能在99%以上的情況下準確地解決這個問題,你將會有一個相當髒的重複數據集。從你的問題來看,它幾乎聽起來就像事先擁有樹ID一樣。你能詳細說明你的獨特的身份證計劃嗎?澄清:關於您的業務,而不是數據庫方面。例如,是一個精確的GPS位置? –
關於你的可能想法:這個ID的問題是多少? 「中央」數據庫不能在插入時創建它們,並且如果它們需要與移動數據庫同步,則需要將值返回。 – Mackan
@JLPeyret,每棵樹都有一個唯一的四位數字。所以可以唯一地標識每棵樹。主數據庫中的每個樹都有一個ID,並從中創建sqlite。我認爲收集樹木信息的例子很糟糕。我將更改示例並添加更多信息。 –