SQL Server 創立束縛圖解(獨一 主鍵)。本站提示廣大學習愛好者:(SQL Server 創立束縛圖解(獨一 主鍵))文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server 創立束縛圖解(獨一 主鍵)正文
SQLServer中有五種束縛,Primary Key束縛、Foreign Key束縛、Unique束縛、Default束縛和Check束縛,明天應用SQL Server2008來演示下這幾種束縛的創立和應用的辦法。
甚麼是主鍵?
在數據庫中,經常不只是一個表,這些表之間也不是互相自力的。分歧的表之間須要樹立一種關系,能力將它們的數據互相溝通。而在這個溝經由過程程中,就須要表中有一個字段作為標記,分歧的記載對應的字段取值不克不及雷同,也不克不及是空白的。經由過程這個字段中分歧的值可以差別各筆記錄。就像我們差別分歧的人,每一個人都著名字,但它卻不克不及作為主鍵,由於人名很輕易湧現反復,而身份證號是每一個人都分歧的,所以可以依據它來差別分歧的人。數據庫的表中作為主鍵的字段就要像人的身份證號一樣,必需是每一個記載的值都分歧,如許能力依據主鍵的值來肯定分歧的記載。
假如為表指定了 PRIMARY KEY 束縛,則 SQL Server 2005 數據庫引擎 將經由過程為主鍵列創立獨一索引來強迫數據的獨一性。當在查詢中應用主鍵時,此索引還可用來對數據停止疾速拜訪。是以,所選的主鍵必需遵照創立獨一索引的規矩。
創立主鍵時,數據庫引擎 會主動創立獨一的索引來強迫實行 PRIMARY KEY 束縛的獨一性請求。假如表中不存在集合索引或未顯式指定非集合索引,則將創立獨一的集合索引以強迫實行 PRIMARY KEY 束縛。
獨一性束縛
1) 獨一性束縛地點的列許可空值,然則主鍵束縛地點的列不許可空值。
(2) 可以把獨一性束縛放在一個或許多個列上,這些列或列的組合必需有獨一的只。然則,獨一性束縛地點的列其實不是表的主鍵列。
(3) 獨一性束縛強迫在指定的列上創立一個獨一性索引。在默許情形下,創立獨一性的非聚簇索引,然則,也能夠指定所創立的索引是聚簇索引。
主鍵:
1) 用於標識某行並且與之相干.
2) 是弗成能(或很難)更新.
3) 不該該許可空(NULL).
獨一域/字段:
1) 用於作為拜訪某行的可選手腕.
2) 只需獨一便可以更新.
3) 可認為空(NULLs).
留意獨一和主鍵的差別,它們都是創立一個獨一的索引,一個表格僅含有一個主鍵束縛列,然則,它有能夠在其他列中含有很多的獨一束縛。
1、Primary Key束縛
在表中常有一列或多列的組合,其值能獨一標識表中的每行。
如許的一列或多列成為表的主鍵(PrimaryKey)。一個表只能有一個主鍵,並且主鍵束縛中的列不克不及為空值。只要主鍵列能力被作為其他表的外鍵所創立。
創立主鍵束縛可以右鍵單擊表,選擇設計。
選中要創立主鍵的列,然後單擊下面的小鑰匙。
也能夠右鍵須要創立主鍵的列,然後單擊小鑰匙。
2、Foreign Key束縛
外鍵束縛是用來增強兩個表(主表和從表)的一列或多列數據之間的銜接的。創立外鍵束縛的次序是先界說主表的主鍵,然後界說從表的外鍵。也就是說只要主表的主鍵能力被從表用來作為外鍵應用,被束縛的從表中的列可以不是主鍵,主表限制了從表更新和拔出的操作。
右鍵單擊須要設置外鍵的列(此時的表是作為從表在外鍵中湧現),選擇關系。
接上去點擊添加-->表和列標准。
在主鍵表當選擇主表和主表的主鍵列。
設置完後保留便可。
3、Unique束縛
獨一束縛確保表中的一列數據沒有雷同的值。與主鍵束縛相似,獨一束縛也強迫獨一性,但獨一束縛用於非主鍵的一列或許多列的組合,且一個表可以界說多個獨一束縛。
右鍵單擊要設置的列選擇索引/鍵。
然後單擊添加按鈕。
選擇須要設置的列,可所以一列也能夠是多列的組合。
封閉並保留設置。
4、Default束縛
若在表中界說了默許值束縛,用戶在拔出新的數據行時,假如該行沒有指定命據,那末體系將默許值賦給該列,假如我們不設置默許值,體系默許為NULL。
以先生信息表為例,在表設計器中,為性別sex列填寫默許值男。
5、Check束縛
Check束縛經由過程邏輯表達式來斷定數據的有用性,用來限制輸出一列或多列的值的規模。在列中更新數據時,所要輸出的內容必需知足Check束縛的前提,不然將沒法准確輸出。
以先生信息表中的sex為例,我們要限制sex列的值只能為男或女。
封閉並保留設計。
致此,數據庫中的五種束縛情形又溫習了一遍,束縛確保了數據庫中數據的完全性,但只要束縛是遠遠不敷的。