版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、列級(jí)約束與表級(jí)約束列級(jí)約束與表級(jí)約束在SQLServer中有5種約束:主鍵約束(primarykeyconstraint)唯一性約束(uniqueconstraint)檢查約束(checkconstraint)缺省約束(defaultconstraint)外部鍵約束(feignkeyconstraint)在SQLSERVER中,(1)對(duì)于基本表的約束分為列約束和表約束約束是限制用戶輸入到表中的數(shù)據(jù)的值的范圍,一般分為列級(jí)約束與表級(jí)約束。
2、列級(jí)約束有六種:主鍵Primarykey、外鍵feignkey、唯一unique、檢查checck、默認(rèn)default、非空空值notnullnull表級(jí)約束有四種:主鍵、外鍵、唯一、檢查列約束是對(duì)某一個(gè)特定列的約束,包含在列定義中,直接跟在該列的其他定義之后,用空格分隔,不必指定列名;表約束與列定義相互獨(dú)立,不包括在列定義中,通常用于對(duì)多個(gè)列一起進(jìn)行約束,與列定義用’’分隔,定義表約束時(shí)必須指出要約束的那些列的名稱。完整性約束的基本語(yǔ)
3、法格式為:[CONSTRAINT]約束名:約束不指定名稱時(shí),系統(tǒng)會(huì)給定一個(gè)名稱。(2)列級(jí)約束與表級(jí)約束的區(qū)別如果完整性約束涉及到該表的多個(gè)屬性列,必須定義在表級(jí)上,否則既可以定義在列級(jí)也可以定義在表級(jí)。簡(jiǎn)而言之:列級(jí)約束:列級(jí)約束是行定義的一部分,只能應(yīng)用于一列上。表級(jí)約束:表級(jí)約束是獨(dú)立于列的定義,可以應(yīng)用在一個(gè)表中的多列上。(3)列級(jí)約束與表級(jí)約束在SQL中的用法(即如何在SQL中定義約束)在創(chuàng)建表時(shí)定義約束:CREATETABL
4、Etable_name(列級(jí)約束定義|column_nameAScomputed_column_expression計(jì)算列定義|表級(jí)約束定義[….n])UNIQUE既可用于列約束,也可用于表約束。UNIQUE用于定義列約束時(shí),其語(yǔ)法格式如下:[CONSTRAINT]UNIQUE唯一性約束用于指定一個(gè)或者多個(gè)列的組合的值具有唯一性,以防止在列中輸入重復(fù)的值。當(dāng)使用唯一性約束時(shí),需要考慮以下幾個(gè)因素:①使用唯一性約束的字段允許為空值。②一個(gè)
5、表中可以允許有多個(gè)唯一性約束。③可以把唯一性約束定義在多個(gè)字段上。④唯一性約束用于強(qiáng)制在指定字段上創(chuàng)建一個(gè)唯一性索引。⑤缺省情況下,創(chuàng)建的索引類型為非聚簇索引。unique約束是用來(lái)確保不受主鍵約束列上的數(shù)據(jù)的唯一性.unique與primarykey的區(qū)別在于:(1)unique約束主要用于非主鍵的一列或多列上要求數(shù)據(jù)唯一.(2)unique約束允許該列上存在NULL值而主鍵決不允許出現(xiàn).(3)可以在一個(gè)表創(chuàng)建多個(gè)unique約束而在
6、一個(gè)表上只能夠設(shè)置一個(gè)主鍵3.檢查約束CHECK約束用來(lái)檢查字段值所允許的范圍,如,一個(gè)字段只能輸入整數(shù),而且限定在0100的整數(shù),以此來(lái)保證域的完整性。CHECK既可用于列約束,也可用于表約束,其語(yǔ)法格式為:[CONSTRAINT]CHECK()一個(gè)列級(jí)檢查約束只能與限制的字段有關(guān);一個(gè)表級(jí)檢查約束只能與限制的表中字段有關(guān)。一個(gè)表中可以定義多個(gè)檢查約束。每個(gè)CREATETABLE語(yǔ)句中每個(gè)字段只能定義一個(gè)檢查約束。在多個(gè)字段上定義檢查
7、約束,則必須將檢查約束定義為表級(jí)約束。當(dāng)執(zhí)行語(yǔ)句或者UPDATE語(yǔ)句時(shí),檢查約束將驗(yàn)證數(shù)據(jù)。檢查約束中不能包含子查詢。4.缺省約束使用缺省約束時(shí),應(yīng)該注意以下幾點(diǎn):每個(gè)字段只能定義一個(gè)缺省約束。如果定義的缺省值長(zhǎng)于其對(duì)應(yīng)字段的允許長(zhǎng)度,那么輸入到表中的缺省值將被截?cái)唷2荒芗尤氲綆в蠭DENTITY屬性或者數(shù)據(jù)類型為timestamp的字段上。如果字段定義為用戶定義的數(shù)據(jù)類型,而且有一個(gè)缺省綁定到這個(gè)數(shù)據(jù)類型上,則不允許該字段有缺省約束。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 約束與約束反力
- 《 約束與約束反力》教學(xué)設(shè)計(jì)
- 管理oracle約束與分區(qū)表
- 倍數(shù)與約束1
- 約束理論與“自己”
- 無(wú)容量約束選址與軟容量約束選址博弈.pdf
- 行、列重路由約束下VLSI陣列重構(gòu)算法研究.pdf
- 自由與約束的制衡
- 公司治理與審計(jì)約束
- 融資約束
- 設(shè)計(jì)約束
- 時(shí)間約束
- 草圖約束
- 政府約束與典當(dāng)籌資
- 載荷與約束的施加
- 理論力學(xué)—常見(jiàn)約束類型及約束反力
- 基于變量約束的級(jí)進(jìn)模結(jié)構(gòu)裝配設(shè)計(jì).pdf
- 四種常見(jiàn)約束類型的約束反力
- 隨機(jī)均衡約束優(yōu)化問(wèn)題的約束研究.pdf
- 約束的倫理與法律議題
評(píng)論
0/150
提交評(píng)論