Sql Server——約束
約束是什麽:
每個人都在網站或者APP上註冊過賬號,在註冊賬號時會限制用戶名、密碼等格式,如果格式不對就不能註冊。在數據庫中我們可以通過約束來進行限制,超過約束範圍的數據就不能寫入。
約束的種類:
主鍵約束:主鍵列的值不能為空,並且不能重復(主鍵約束是特殊的唯一約束),有主鍵約束的列可以被其他表引用,一個表中只能有一個主鍵約束。
唯一約束:有唯一約束的列中的數據不能重復,但可以為空值(NULL)。
檢查約束:限制某個列中的數據的取值範圍。
默認約束:
外鍵約束:外鍵約束和主鍵約束是搭配使用的,外鍵約束列中的數據範圍是在引用的主鍵列之中的,不得超出主鍵列的範圍(也就是外鍵列中的數據只能是主鍵列中存在的值),外鍵列的數據類型要和主鍵列的一樣。
如何創建約束:
主鍵約束:鼠標右鍵點擊要創建主鍵約束的列名,再點擊設置主鍵就可以了。
唯一約束:和上面一樣,鼠標右鍵點擊需要創建唯一約束的列
然後點擊索引/鍵,把類型後面的索引改成唯一件就可以了。
檢查約束:同上,點擊CHECK(檢查)約束
先添加,再點擊表達式後面的文本框就可以創建主鍵約束了。
默認約束:在設計表的下面,就有默認值的設置框,在後面的文本框添加默認值就可以了。
外鍵約束:
(1)右擊要創建約束的表,在彈出的快捷菜單中選擇“設計”命令;
(2)右擊該表中的某一列,在彈出的快捷菜單中選擇“關系”命令,彈出“外鍵關系”對話框,單擊“添加”按鈕,添加要選中的關系;
(3)在“外鍵關系”對話框中,單擊“表和列規範”文本框中的“...”按鈕,選擇要創建外鍵約束的主鍵表和外鍵表;
(4)在“表和列”對話框中,設置關系的名稱,然後選擇外鍵要參照的主鍵表及使用的字段。最後單擊“確定”按鈕,返回“外鍵關系”對話框中。
常用約束示例:
主鍵約束:一般情況下,一張表中的第一列(編號列)會被設置為主鍵列,因為Sql Server中只允許一張表描述一件事情,所以我們在其他表用外鍵引用該表的內容時就只需引用該表的主鍵列的序號就可以了。
檢查約束:在我的作業中,最多的就是約束性別只能輸入男或女,代碼為:sex=‘男‘ or sex=‘女‘(此處定義性別列名為sex,註意:字符一樣要用單引號引起來,數據庫裏的邏輯是or and not ,並不是程序裏的|| && !)。還有就是約束數據長度,如電話號碼,身份證號碼(這兩個還要唯一),約束長度就要用到函數len()了,代碼為: 電話號碼:len(tel)=11 身份證號碼:len(ID)=18,括號裏的就是列名。
默認約束:設置默認約束只需在默認值後面的框中輸入默認值就可以了。但要把一個時間設置為默認時間(就是當前時間)就得用函數,即在框中輸入:getdate() 即可。
主鍵約束:在創建主鍵約束時需要註意的就是,(1)不能把要引用的對象表搞錯,(2)主鍵和外鍵要對應,(3)主鍵和外鍵的數據類型必須一致。
想了解更多加我QQ吧!1289747698.等你喲!
Sql Server——約束