列級約束與表級約束_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、列級約束與表級約束列級約束與表級約束在SQLServer中有5種約束:主鍵約束(primarykeyconstraint)唯一性約束(uniqueconstraint)檢查約束(checkconstraint)缺省約束(defaultconstraint)外部鍵約束(feignkeyconstraint)在SQLSERVER中,(1)對于基本表的約束分為列約束和表約束約束是限制用戶輸入到表中的數(shù)據(jù)的值的范圍,一般分為列級約束與表級約束。

2、列級約束有六種:主鍵Primarykey、外鍵feignkey、唯一unique、檢查checck、默認(rèn)default、非空空值notnullnull表級約束有四種:主鍵、外鍵、唯一、檢查列約束是對某一個特定列的約束,包含在列定義中,直接跟在該列的其他定義之后,用空格分隔,不必指定列名;表約束與列定義相互獨立,不包括在列定義中,通常用于對多個列一起進行約束,與列定義用’’分隔,定義表約束時必須指出要約束的那些列的名稱。完整性約束的基本語

3、法格式為:[CONSTRAINT]約束名:約束不指定名稱時,系統(tǒng)會給定一個名稱。(2)列級約束與表級約束的區(qū)別如果完整性約束涉及到該表的多個屬性列,必須定義在表級上,否則既可以定義在列級也可以定義在表級。簡而言之:列級約束:列級約束是行定義的一部分,只能應(yīng)用于一列上。表級約束:表級約束是獨立于列的定義,可以應(yīng)用在一個表中的多列上。(3)列級約束與表級約束在SQL中的用法(即如何在SQL中定義約束)在創(chuàng)建表時定義約束:CREATETABL

4、Etable_name(列級約束定義|column_nameAScomputed_column_expression計算列定義|表級約束定義[….n])UNIQUE既可用于列約束,也可用于表約束。UNIQUE用于定義列約束時,其語法格式如下:[CONSTRAINT]UNIQUE唯一性約束用于指定一個或者多個列的組合的值具有唯一性,以防止在列中輸入重復(fù)的值。當(dāng)使用唯一性約束時,需要考慮以下幾個因素:①使用唯一性約束的字段允許為空值。②一個

5、表中可以允許有多個唯一性約束。③可以把唯一性約束定義在多個字段上。④唯一性約束用于強制在指定字段上創(chuàng)建一個唯一性索引。⑤缺省情況下,創(chuàng)建的索引類型為非聚簇索引。unique約束是用來確保不受主鍵約束列上的數(shù)據(jù)的唯一性.unique與primarykey的區(qū)別在于:(1)unique約束主要用于非主鍵的一列或多列上要求數(shù)據(jù)唯一.(2)unique約束允許該列上存在NULL值而主鍵決不允許出現(xiàn).(3)可以在一個表創(chuàng)建多個unique約束而在

6、一個表上只能夠設(shè)置一個主鍵3.檢查約束CHECK約束用來檢查字段值所允許的范圍,如,一個字段只能輸入整數(shù),而且限定在0100的整數(shù),以此來保證域的完整性。CHECK既可用于列約束,也可用于表約束,其語法格式為:[CONSTRAINT]CHECK()一個列級檢查約束只能與限制的字段有關(guān);一個表級檢查約束只能與限制的表中字段有關(guān)。一個表中可以定義多個檢查約束。每個CREATETABLE語句中每個字段只能定義一個檢查約束。在多個字段上定義檢查

7、約束,則必須將檢查約束定義為表級約束。當(dāng)執(zhí)行語句或者UPDATE語句時,檢查約束將驗證數(shù)據(jù)。檢查約束中不能包含子查詢。4.缺省約束使用缺省約束時,應(yīng)該注意以下幾點:每個字段只能定義一個缺省約束。如果定義的缺省值長于其對應(yīng)字段的允許長度,那么輸入到表中的缺省值將被截斷。不能加入到帶有IDENTITY屬性或者數(shù)據(jù)類型為timestamp的字段上。如果字段定義為用戶定義的數(shù)據(jù)類型,而且有一個缺省綁定到這個數(shù)據(jù)類型上,則不允許該字段有缺省約束。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論