關於[一個基於WF的商務程序平台]表設計的說明

來源:互聯網
上載者:User

 

 

資料庫的主鍵設計說明

在我發布的例子 一個基於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做主鍵了,而業務主鍵就讓我做成了唯一鍵

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.