关于[一个基于WF的业务流程平台]表设计的说明
?
?
數據庫的主鍵設計說明
在我發布的例子 一個基于WF的業務流程平臺 中,
?
N12345B 問到
//
所有的數據結構都幾乎使用了Guid這一數據類型作為ID,而這個ID的作用僅僅作為流水號嗎?所有表之間的關系都并未用到這一ID標識,而使用的是 xxxNo之類的
//
?
在這里,我對這個Guid的使用原因說明一下
為什么為每個表都加一個Guid列
這是因為我要處理并發,說明如下:
使用了Guid列,是為了讓每條記錄在全開庫有一個唯一標識,
?
我通常會在內存中根據需要維護這樣一張表
?
Guid | UserID | State |
76C43F0D-F39E-458b-9E40-D4D70703FF2E | 001 | ? |
76C43F0D-F39E-458b-9E40-D4D70703FF2E | 002 | ? |
76C43F0D-F39E-458b-9E40-D4D70703FF2E | 003 | ? |
?
當用戶[001]查詢某條記錄時,如果他選中[他人修改后立即通知我],選項時.
服務器端會將該用戶查詢的記錄的Guid與UserID添加到上面的表中.
?
當某條記錄被修改后,系統會到上面的表中查找該記錄的Guid是否被注冊,如果被注冊,則向對應的UserID發一通知.
?
當然,這只是這個Guid的一個應用,我在做并發修改仲裁時,也用這個Guid,關于這方面,我以后專門寫一篇文章介紹
?
為什么Guid列要做主鍵
先鄙視一下自已的懶惰(^_^)
?
在使用Linq To Sql時,表要的主鍵,主鍵不能修改,所以我就用Guid做主鍵了,而業務主鍵就讓我做成了唯一鍵
?
?
轉載于:https://www.cnblogs.com/foundation/archive/2009/02/11/1388722.html
總結
以上是生活随笔為你收集整理的关于[一个基于WF的业务流程平台]表设计的说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孩子带引父母
- 下一篇: 《Effective Java》 第二讲