表的約束
在我們創建表的時候,為了保證數據的正確性和完整性,通常我們需要對數據進行校驗,也就是我們這裡說到的表的約束。其中常用的表的約束包括:
(1)主鍵的約束。
(2)唯一的約束。
(3)非空的約束。
(4)檢查的約束。
(5)外鍵的約束
這裡我們首先創建一張班級表,同時建立對應的約束:
其中班級的id和班級名稱分別定義了主鍵約束和唯一約束,主鍵約束保證了表中只存在唯一一列,唯一約束確保該列字段值不能重復,必須唯一。
接著我們定義一張學生表,也建立相應的約束。
通過建表我們可以看到,其中學生的編號(studid)定義為identity,意思是字段自增長並且從100開始增長,每次增長1。其中性別(gender)存在一個檢查約束,保證插入到數據表裡面的數據只存在(‘男’,‘女’)兩種方式,避免其他的髒數據插入。
再說一下比較重要的一個約束——外鍵約束。外鍵約束,表示一個表中的數據依靠另一個表,其中存在關聯關系。正如上面的兩張表一樣,一個學生表中可以定義一個班級iD,來區別這個學生隸屬於哪個班級。那麼可以這樣定義:
也就是說,只有在班級表裡面存在的班級編號(classid),在學生表裡面才可以出現。避免學生找不到班級的情況。這樣以後班級表和學生表通過外鍵classid,建立了一種關系。假如我們要刪除班級表時,系統會報錯,因為在學生表(Students)裡面存在外鍵關聯。故必須先刪除學生表再刪除班級表。