我有一箇中央數據庫和一個獨特的數據庫爲我正在處理的項目。中央數據庫允許我爲用戶提供默認選項和數據。如何避免主鍵衝突時合併兩個相同的表與視圖
獨特的數據庫中心數據庫結構相匹配,讓用戶自己定製的數據。我認爲聯合每個相同的表對。
在每個視圖中的「主關鍵字」字段被設置爲在我使用(LINQ到SQL)dbml的主鍵。然後我將關聯添加到dbml中的其他表。
這意味着我不能將兩個表都設置爲自動遞增,其基數爲0,因爲主鍵在獨特的數據庫表中用作「外鍵」(我知道它們在此實例中不是嚴格的外鍵)。
因此,在本視圖中,我需要從每個表對所有記錄具有唯一的主鍵。
我曾經想過在1000000什麼設置獨特的數據庫PK基數,但當全球數據庫(0基地)趕上這最終可能會在我身上適得其反。
我也儘管在視圖中用數字前綴,例如,
全球:11,12,13,14,15,16,17,18,19,110,111 唯一:21,22,23,24,25,26,27,28,29,210, 211
我擔心如何查詢時,這可能會影響性能,這必須是儘可能高效。
不確定最佳方法?
只要確保在每種情況下使用的數字範圍足夠大。一個INT的上限超過20億,如果這還不夠,你可以使用一個數據庫從零遞減的負數,另一個從零遞增的正數。如果仍然不夠,則使用BIGINT或NUMERIC。 – sqlvogel
我喜歡這個消極的選擇,在這個例子中,我會繼續這樣做!乾杯! – Oliver