程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL Server 創立束縛圖解(獨一 主鍵)

SQL Server 創立束縛圖解(獨一 主鍵)

編輯:MSSQL

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列的值只能為男或女。


   封閉並保留設計。

   致此,數據庫中的五種束縛情形又溫習了一遍,束縛確保了數據庫中數據的完全性,但只要束縛是遠遠不敷的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved