新手C#SQL Server使用記錄2018.08.10

主鍵(PrimaryKey):主鍵就是每一個數據行(記錄)的惟一標識,不會有重複值的列(字段)才能當作主鍵。一個表能夠沒有主鍵,可是這樣會很難處理表,所以通常狀況表都要設置主鍵。算法

主鍵有兩張選用策略,分爲業務主鍵和邏輯主鍵。併發

業務主鍵是使用有業務意義的字段作主鍵,例如身份證號、銀行帳號等。ide

邏輯主鍵是使用沒有任何業務意義的字段作主鍵,徹底用來給程序看,是業務人員不會看的數據,推薦使用邏輯主鍵。函數

邏輯主鍵設置方法爲將設計頁面中列屬性欄的表示規範切換爲是便可,在輸入記錄時,邏輯主鍵字段能夠不輸入,系統自動匹配。當你刪除了最後一條記錄,它的主鍵爲4,若新增一條記錄,他會直接變爲5而不是4。由於刪除了的那條記錄仍存在在系統表中,屬於軟刪除。ui

 

外鍵(ForeignKey):外鍵表的某一列的值必須與主鍵表的主鍵的值一致,外鍵表就至關於引用了主鍵表的主鍵值。用於記錄表和表的關聯。一個主鍵能夠具備多個外鍵。編碼

主鍵選擇和Guid(全球惟一標識符):SQLServer中兩種經常使用的主鍵數據類型:int+標識符;或者是uniqueidentifier(Guid)。spa

用標識列實現字段自增能夠避免併發的問題,在insert的時候不用指定主鍵的值,將字段的「是標識列」設置爲「是」,一個表只能有一個標識列。設計

Guid算法是能夠產生惟一標識的高效算法,他使用網卡MAC、地址、納秒級時間、芯片ID碼等算出來,保證每次生成的GUID永遠不會重複,不管是同一個計算機上仍是不一樣計算機,在公元3400年之前產生的GUID均不相同。SQLServer中生成GUID的函數的語句爲newid(),而.NET中生成GUID的方法是:Guid.NewGuid(),返回值是Guid類型。指針

用int自增字段的優勢是:佔用空間小,無需開發人員干預,易讀。缺點是:效率低,數據導入導出的時候很慢。code

Guid的優勢:效率高、數據導入導出方便。缺點是:佔用空間大、不易讀。

目前業界主流更傾向於使用Guid。

 

數據類型:

 

 

(var)char爲ASCII編碼,一個字符佔一個字節,而當輸入中文時,一個漢字佔兩個字節,比較適合於英文字符。而n(var)char採用的是Unicode編碼,輸入一個字符不管是英文仍是中文都佔兩個字節,當輸入中文時最好採用該字符串類型,由於能夠匹配長度。text用於存儲長文本信息,是一個指針(2G)。

 

 

2018.08.10

相關文章
相關標籤/搜索