保存數據的變化是否有一種設計模式,構建數據模型的銀行應用程序需要的數據變化要經過權限等級時,需要考慮數據模型的設計模式?授權之前由其他用戶
例如,如果ADMIN1更改爲customer1表中的電話號碼,變化不應該直到Admin2的授予它是有效的。
我們計劃要實現的解決方案是一個臨時表來保存更改的記錄與改變的值,一旦授權批准的變化,那麼我們更新了主表。當你有很少的表時,這可以很好地工作,但是隨着表的增加,這會很麻煩。
保存數據的變化是否有一種設計模式,構建數據模型的銀行應用程序需要的數據變化要經過權限等級時,需要考慮數據模型的設計模式?授權之前由其他用戶
例如,如果ADMIN1更改爲customer1表中的電話號碼,變化不應該直到Admin2的授予它是有效的。
我們計劃要實現的解決方案是一個臨時表來保存更改的記錄與改變的值,一旦授權批准的變化,那麼我們更新了主表。當你有很少的表時,這可以很好地工作,但是隨着表的增加,這會很麻煩。
我不知道任何的設計模式,但我想我可能有另一個想法爲你 -
只有一個其他的表,稱爲'Pending_Changes'
與列'Table_Identifier'
,'Column_Identifier'
'Record_Identifier'
和'New_Value'
。
每一行代表某個表的某個記錄的單列更改。
對於例 - 一排的('Customers', 'Phone_Number', '12345', '077-4453432')
值將被用來代表客戶的電話號碼變更12345
這對夫婦這種方法的缺點是覺得─
1.所有的表必須有一個ID現場
2.更改單個記錄可以跨越在PendingChanges表多行,因爲它使一排每列改變值。
在都會顛倒這是很容易擴展的,很容易維護。
,當你有幾桌,但會很麻煩的表格增加
不一定能正常工作。如果你設計得當,它可以很好地處理大量的表格。您可以構建一個漂亮而小巧的數據模型來保存更改。它不要求您創建每個表的副本。
例如您可以擁有一個表,如:AuditTables,AuditColumns,AuditChanges,AuditChangesDetails等,您可以在該模型中存儲所需的所有更改,而不是創建與「實時」表對應的臨時表。
我設計了這樣的事情,這裏是它的主要內容;
希望這有助於...
有趣的設計,但更多的ver_tables行更新的版本控制模型;我想這是一個簡單的兩步製造商,檢查工作流程的延伸。你怎麼看? – BuZain 2011-05-09 15:39:06
我喜歡這樣一個事實,即您的設計基於單個表來跟蹤更改,並且缺點對於我的應用程序來說是可承受的。 – BuZain 2011-05-09 15:42:54