SqlServer基礎:約束

爲了減小輸入錯誤和保證數據庫數據的完整性,能夠對字段設置約束,例如考試成績,其範圍應該爲0-100。約束是爲了保證數據的完整性而實現的一套機制,約束包括:主鍵約束、外鍵約束、Unique約束、Check約束、默認值和容許空六種機制。數據庫

 

主鍵約束這個不用多說了,設置主鍵就是保證列中的值的惟一不重複。spa

外鍵約束外鍵的目的就是爲了限制取值。設計

例如:分類表category(Nid-主鍵,categoryName),產品表Product(Nid,ProductName,CategoryId-外鍵),設置後Product表中的CategoryId的取值只能是category表中的Nid的值。
         
blog

如上圖,若是在Product表中插入一條:insert into Product values('綠茶',9),則報錯:索引

INSERT 語句與 FOREIGN KEY 約束"FK_Product_Product"衝突。該衝突發生於數據庫"Interview",表"dbo.Category", column 'Nid'。
語句已終止。產品

Unique約束是指定該字段列裏的數據不容許出現重複。例如在部門表裏,部門名稱是不能重複的,那麼將部門表裏的「部門名稱」設置爲Unique約束。
  設置方法以下:在表設計器窗格里右擊空白處,在彈出的快捷菜單中選擇【索引與鍵】選項,點擊【添加】就會在左邊的框中添加一個名爲IX_表名的選項,而後在右邊的框中的【類型】選爲惟一鍵,【列】設置爲要約束的列,關閉,保存便可。
  Unique約束與主鍵的區別:Unique約束能夠輸入Null值,主鍵不能;在一個表中能夠定義多個Unique約束的字段,而主鍵字段只能有一個。
方法

Check約束Check約束能夠用來限制字段裏的值在某個容許的範圍內。例如員工通信錄表中的生日,其輸入範圍應該是1940到1990之間。
  設置Check約束的方法以下:展開表選項,在約束上右鍵新建約束,而後在表達式中添加邏輯關係,如:(Member>10) and (Member<20),關閉,保存!
im

默認值約束默認值就不用解釋了,就是當沒有明確的去插入數據時,默認填充的值。
  設置方法以下:打開表設計,選中列,在下面的列屬性中有【默認值或綁定】,填寫值便可;
ember

容許空約束:就是在設計表時,每個項最後的是否容許爲空了啦數據

相關文章
相關標籤/搜索