程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL SERVER表的約束

SQL SERVER表的約束

編輯:關於SqlServer
表的約束

在我們創建表的時候,為了保證數據的正確性和完整性,通常我們需要對數據進行校驗,也就是我們這裡說到的表的約束。其中常用的表的約束包括:

(1)主鍵的約束。

(2)唯一的約束。

(3)非空的約束。

(4)檢查的約束。

(5)外鍵的約束

這裡我們首先創建一張班級表,同時建立對應的約束:

其中班級的id和班級名稱分別定義了主鍵約束和唯一約束,主鍵約束保證了表中只存在唯一一列,唯一約束確保該列字段值不能重復,必須唯一。

接著我們定義一張學生表,也建立相應的約束。

通過建表我們可以看到,其中學生的編號(studid)定義為identity,意思是字段自增長並且從100開始增長,每次增長1。其中性別(gender)存在一個檢查約束,保證插入到數據表裡面的數據只存在(‘男’,‘女’)兩種方式,避免其他的髒數據插入。

再說一下比較重要的一個約束——外鍵約束。外鍵約束,表示一個表中的數據依靠另一個表,其中存在關聯關系。正如上面的兩張表一樣,一個學生表中可以定義一個班級iD,來區別這個學生隸屬於哪個班級。那麼可以這樣定義:

也就是說,只有在班級表裡面存在的班級編號(classid),在學生表裡面才可以出現。避免學生找不到班級的情況。這樣以後班級表和學生表通過外鍵classid,建立了一種關系。假如我們要刪除班級表時,系統會報錯,因為在學生表(Students)裡面存在外鍵關聯。故必須先刪除學生表再刪除班級表。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved