我在我的數據庫設計中引入了良好的版本控制問題。關係數據庫中的版本控制
讓我們來舉個簡單的例子。一點出租服務。
您有一個表Person (P_ID, Name)
,表Computer (C_ID, Type)
和表Rent (R_ID, P_ID, C_ID, FromData, ToData)
。
我想能夠改變說用戶名,創建一個新的版本,如果我需要它仍然有舊的東西。
我的目標是在我的網站上有一些類型的系統可以很容易地對錶中的某些記錄進行版本控制。
更多信息:
,要求,我可以釋放一個紀錄爲一個版本我的商業邏輯。我也必須能夠回滾到舊的。原因是我想要導出diffrent版本的數據。
這是我第一次接觸,但讓我們說有人在那裏改變名稱(在上面的例子中,然後你會在主實體中創建一個新版本,但是名稱表中的更改會破壞舊版本。在你的應用程序中,但是對於每個表更多,它需要更多的應用程序代碼,需要一個更通用的系統 – nickik 2010-10-07 12:32:50
在這種情況下,被版本化的實體是「用戶註冊記錄」,該記錄將具有PK,OriginalPK和VersionID字段,當名稱改變時,你將創建一個新的記錄,新的PK,OriginalPK設置爲「父」記錄上的OriginalPK,並且VersionID增加1.在任何情況下,您都不會複製甚至更新FK返回People表交易(因爲您希望保留與交易相關的用戶註冊的原始「版本」,但是您的用戶界面可能會顯示該用戶有更新的信息。 – 2010-10-07 13:11:39
多數民衆贊成在尋找感謝。 – nickik 2010-10-07 14:39:13