四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

一個完整的用于追蹤數據改變的解決方案

  一、數據表的設計

  在數據庫中,我們通過如右圖所示的具有主子關系的兩個表存儲AuditLog相關信息。我們將“事務”作為我們進行追蹤的單位,不過這里的講的“事務”更多地指業務處理事務的概念。每一個被追蹤的事務在AuditLog表具有一條匹配的記錄,該記錄表示該事務的基本信息:UserName(操作者)、AuditTime(操作時間)、Activity(可以看成是對事物的命名)和Description(事務補充性的描述)。主鍵TransactionId唯一標識一個事務。

  子表AuditLogData記錄事務詳細的信息,即事務所引起的數據變化。一個完整的業務邏輯往往涉及到對多個數據表、多條記錄的操作。而AuditLogData每一條記錄表示某個事務針對某個單一數據表所帶來的數據變化,而SourceTable字段表示源表的名稱。而DataChange字段以XML的形式表示數據的改變,它具有如下的格式。

  二、數據變化的表示

  數據操作類型無外乎添加、更新和刪除,我們通過不同的XML結構表示不同操作引起的數據改變。具體來說,對于添加操作,我們需要記錄下插入的記錄;對于刪除操作,需要記錄下原來的記錄;而對于數據更新,則需要同時記錄下更新先后的記錄。

  舉個例子,假設我們具有一個Users表,它具有三個基本字段:Id、Name和Birthday。下面的XML分別表示添加、刪除和更新操作后我們需要記錄下的數據變化。

  1: <?xml version="1.0" encoding="utf-8" ?>
2:
<cdc operation="insert">
3:
<current>
4:
<Id type="VARCHAR(50)">001</Id>
5:
<Name type="NVARCHAR(50)">Foo</Name>
6:
<BirthDay type="DATE">1981-08-24</BirthDay>
7:
</current>
8:
</cdc>
1:
<?xml version="1.0" encoding="utf-8" ?>
2:
<cdc operation="delete">
3:
<original>
4:
<Id type="VARCHAR(50)">001</Id>
5:
<Name type="NVARCHAR(50)">Foo</Name>
6:
<BirthDay type="DATE">1981-08-24</BirthDay>
7:
</original>
8:
</cdc>
1:
<?xml version="1.0" encoding="utf-8" ?>
2:
<cdc operation="update">
3:
<original>
4:
<Id type="VARCHAR(50)">001</Id>
5:
<Name type="NVARCHAR(50)">Foo</Name>
6:
<BirthDay type="DATE">1981-08-24</BirthDay>
7:
</original>
8:
<current>
9:
<Id type="VARCHAR(50)">001</Id>
10:
<Name type="NVARCHAR(50)">Bar</Name>
11:
<BirthDay type="DATE">1982-07-10</BirthDay>
12:
</current>
13:
</cdc>

it知識庫一個完整的用于追蹤數據改變的解決方案,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 古天乐电影全部作品最新| 我和大姨子| 胸肌图片| 美女写真库| 相武纱季| 三年电影免费高清完整版| 宋晓飞| 大海在呼唤| 安塞| 雪中悍刀行第一季演员表| 小强升职记| 爱爱免费试看| 徐一航的电视剧叫什么| 禁忌的诱惑电影| 美少女战士变身| 女同爱爱视频| 抖音登录网页版| 风云雄霸天下| 四年级第一二单元测试卷答案| 密室逃脱电影| 辛鹏| 朱莉安妮| 2018年党课主题及内容| 忍之国| 40集电视连续剧人生之路| 总裁掀开她的内衣揉她的柔软视频| 丁丁历险记电影| 借条怎么样才有法律效力| 横冲直撞好莱坞| 天下免费大全正版资料| 电影《大突围》完整版| 秀人网周妍希| 伸舌头接吻脱裤子| 同人视频| 欧美一级毛片无遮挡| 茶啊二中王强| 视频爱爱| 年轻的丈夫| 我姨| 古建凉亭生产厂家| 洛嘉|