[轉載]uniqueidentifier資料類型在系統設計中的應用

來源:互聯網
上載者:User
 

一 什麼是uniqueidentifier?

Uniqqueidentifier 是全域唯一的標識

 

二 UniqueIdentifier     資料類型的列如何賦值?

1 使用 NewID()函數 來實現

2 直接將字串的常量轉化成這樣的格式 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

舉例:6F9619FF-8B86-D011-B42D-00C04FC964FF 為有效UniqueIdentifier資料

3 直接賦於32位的十六位元據

舉例 0xffffffff00000000ffffffff00000000

三 UniqueIdentifier 資料類型 資料實際是怎麼在資料庫中儲存的?

UniqueIdentifier 資料類型儲存實際的資料是16個位元組的二進位值,

UniQueIdentifier 可以轉化成實際的字串型和位元據類型

 

四 NewID()函數是如何產生唯一的UniqueIdentifier 值的呢?

NewID()函數是從他們的網卡上的標識數字和CPU時鐘的唯一的數字產生新的UniqueIdentifier資料 ,這個資料和GUID是一樣的每台電腦能產生全球唯一的值

這樣在多台電腦和多網路之間產生具有唯一性的標識符

 

五 使用 Uniqueidentifier資料類型的主要的優點

Uniqueidentifier 資料類型主要的優點是在使用newid函數產生值的時候是可以保證值的全球唯一性

可以唯一的標識單行的記錄 對於多庫(尤其是多機器,多網段的資料庫的複製)來將比IDEntity來的更有效

其次在使用Identity的情況下,我們對自動產生的值是不能修改的,而Uniqueidentifier資料類型是可以隨時修改的

六 使用Uniqueidentifier的資料類型的缺點

1 對於產生的Uniqueidentifier 類型的值來講 ,是無序

在正常顯示相關的資料資訊的時候,返回的資訊是無序的

對於 Identity 為標識的資料顯示的時候,預設的情況下是根據添加記錄的順序來顯示的

這樣,對於uniqueidentifier為主鍵的資訊集 ,還是需要一個預設標識排序的欄位。

2 對於Uniqueidentifier 欄位來將資料的實際的資訊為16個位元組,相對來將比Identity來講 大的多,相對來將 儲存空間和查詢的效率會降低很多的。

七 在系統資料庫的設計中我們如何對Uniqueidentifier,Identity ,和可標識的記錄屬性(有實際的含義的資訊)作為主鍵 ,這三種方式 進行取捨

以屬性為主鍵的系統設計情況

在系統設計的過程中

單條資訊中包含可以表示唯一性的屬性(一般不能太多3個以內)而且這樣的屬性是必要欄位。在記錄生存周期內一般是不進行改動的,表一般多於50個這樣層級的系統

以屬性為主鍵 ,這樣的方式還是最佳的

 

舉例: 關於學生的管理資訊系統 以學生的學號為主鍵

 

以Uniqueidentifier 列為主鍵的情況

在需要多個資料庫之間,多個網段之間需要進行資料庫的複製時,我們就需要在每一個唯一的標識來區別每一個單條記錄,在沒有合適的屬性來做主鍵的情況下可以用Uniqueidentifier列來產生主鍵

 

以 Identity為主鍵的情況

不需要資料庫的複製,和系統比較小的情況下(50表以內)可以用 Identity列來產生主鍵 ,適合於快速開發。

 

原文地址:http://www.cnblogs.com/macroxu-1982/archive/2007/03/22/683852.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.