合理的設計是構建成功的 SQL Remote 系統的一個重要部分。本文將介紹適用於SQL Remote for Adaptive Server Anywhere 的合理設計原則。
每個預訂都必須是完整的關系數據庫
遠程數據庫與統一數據庫共享它們的預訂中的信息。預訂既是在統一站點保存的關系數據庫的子集,同時又是遠程站點的整個關系數據庫。因此,預訂中的信息所遵從的規則與任何其它關系數據庫所遵從的規則相同:
•外鍵關系必須有效 對於外鍵中的每個條目,數據庫中必須有對應的主鍵條目。
數據庫抽取實用程序可確保遠程數據庫的 CREATE TABLE 語句沒有將外鍵定義到不存在的遠程表。
•必須保持主鍵唯一性
沒有辦法檢查在其它站點已經輸入但尚未復制的新行。設計過程必須避免不同站點的用戶添加具有相同主鍵值的行,因為這樣會導致在將這些行復制到統一數據庫時發生沖突。
在沒有鎖定的情況下必須保持事務完整性
即使對於任何特定行沒有系統范圍的鎖定機制,分散數據庫 (由統一數據庫和所有遠程數據庫組成)中的數據也必須在所有站點進行更新時保持其完整性。
•必須防止或解決鎖定沖突
在 SQL Remote 系統中,沒有辦法在所有數據庫中鎖定一些行來防止不同的用戶同時更改這些行。必須通過相應的設計來防止系統中發生這類沖突或在統一數據庫中以適當的方式解決這類沖突。