版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章數(shù)據(jù)完整性5.1數(shù)據(jù)完整性概述5.2完整性的實(shí)現(xiàn)5.1數(shù)據(jù)完整性概述
關(guān)系模型中數(shù)據(jù)完整性主要是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行約束,以保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)的正確性和相容性。 關(guān)系模型中提供了3類完整性規(guī)則:實(shí)體完整性參照完整性自定義完整性。5.1數(shù)據(jù)完整性概述1.實(shí)體完整性實(shí)體完整性是指基本關(guān)系的主屬性(或主鍵)不能取空值。2.參照完整性參照完整性是指兩個(gè)表的主關(guān)鍵字和外關(guān)鍵字的數(shù)據(jù)應(yīng)對(duì)應(yīng)一致。3.用戶定義完整性用戶定義完整性是針對(duì)某一特定關(guān)系數(shù)據(jù)庫(kù)的約束條件,由應(yīng)用環(huán)境所決定5.2完整性的實(shí)現(xiàn)5.2.1列約束和表約束5.2.2默認(rèn)約束5.2.3主鍵約束5.2.4惟一約束5.2.5CHECK約束5.2.6外鍵約束5.2.1列約束和表約束約束又分為列約束(ColumnConstraint)和表約束(TableConstraint)。列約束作為列定義的一部分只作用于此列本身。表約束作為表定義的一部分,可以作用于多個(gè)列。5.2.1列約束和表約束【例5.1】創(chuàng)建表BorrowList分別定義了列約束和表約束。CREATETABLEBorrowList(
借閱編號(hào)intidentity(1,1)NOTNULL,
圖書(shū)編號(hào)varchar(50),
借書(shū)證編號(hào)varchar(50),
借閱時(shí)間datetime,
應(yīng)還書(shū)時(shí)間datetime,
實(shí)際歸還時(shí)間datetime,
續(xù)借時(shí)間datetime,
逾期罰款moneycheck(逾期罰款>=1and逾期罰款<=10),/*列約束*/constraintpk_編號(hào)primarykey(借閱編號(hào),圖書(shū)編號(hào),借書(shū)證編號(hào))/*表約束*/)5.2.2默認(rèn)約束默認(rèn)約束通過(guò)定義列的默認(rèn)值或使用數(shù)據(jù)庫(kù)的默認(rèn)值對(duì)象綁定表的列,來(lái)指定列的默認(rèn)值?!纠?.2】在SSMS界面中,為圖書(shū)借閱信息管理系統(tǒng)中的ReaderCard表的“性別”列創(chuàng)建缺省約束。5.2.2默認(rèn)約束【例5.3】使用T-SQL語(yǔ)句,為圖書(shū)借閱信息管理系統(tǒng)中的ReaderCard表創(chuàng)建名為DF_性別的DEFAULT約束,該約束的值為男。ALTERTABLEReaderCardADDCONSTRAINTDF_性別
DEFAULT(’男’)for性別5.2.3主鍵約束主鍵約束是一種基礎(chǔ)性約束,主鍵約束(primarykey)定義了用于惟一標(biāo)識(shí)某一行的一列或多列數(shù)據(jù)。在SQLServer2008中,主鍵約束具備以下幾個(gè)特點(diǎn):(1)被定義的主鍵列數(shù)據(jù)不允許有相同的值(2)被定義為主鍵約束的列,值不能為空值。(3)一張表只能定義一個(gè)主鍵約束。5.2.3主鍵約束1.在SSMS界面中,創(chuàng)建表時(shí)定義主鍵約束【例5.4】在SSMS界面中,為圖書(shū)借閱信息管理系統(tǒng)中的BookInfo表的“圖書(shū)編號(hào)”列創(chuàng)建主鍵約束,以保證圖書(shū)編號(hào)的惟一性。5.2.3主鍵約束2.通過(guò)T-SQL語(yǔ)句為數(shù)據(jù)庫(kù)中已經(jīng)存在的表添加主鍵?!纠?.5】使用T-SQL語(yǔ)句,為圖書(shū)借閱信息管理系統(tǒng)中的CardType表的“卡類型編號(hào)”列添加主鍵約束,以保證“卡類型編號(hào)”的惟一性。ALTERTABLECardTypeADDCONSTRAINTpk_CardNoPRIMARYKEY(卡類型編號(hào))5.2.4唯一約束惟一性(UNIQUE)約束指定一個(gè)或多個(gè)列的組合的值具有惟一性,以防止在列中輸入重復(fù)的值。 惟一性約束指定的列可以有NULL
屬性。由于主關(guān)鍵字值是具有惟一性的,因此主關(guān)鍵字列不能再設(shè)定惟一性約束。5.2.4唯一約束【例5.6】使用T-SQL語(yǔ)句,為圖書(shū)借閱信息管理系統(tǒng)中的BorrowList表的“圖書(shū)編號(hào)”和“借書(shū)證編號(hào)”兩列添加惟一性約束。ALTERTABLEBorrowListADDCONSTRAINT
Uq_book_card_NoUNIQUE(圖書(shū)編號(hào),借書(shū)證編號(hào))5.2.5檢查(Check)約束
檢查約束對(duì)輸入列或整個(gè)表中的值設(shè)置檢查條件,以限制輸入值,保證數(shù)據(jù)庫(kù)的數(shù)據(jù)完整性??梢詫?duì)每個(gè)列設(shè)置檢查約束。5.2.5檢查(Check)約束【例5.7】使用T-SQL語(yǔ)句,為圖書(shū)借閱信息管理系統(tǒng)中的BorrowList表“續(xù)借時(shí)間”添加檢查約束,續(xù)借時(shí)間必須在應(yīng)還書(shū)時(shí)間的10天前。ALTERTABLEBorrowListADDCONSTRAINTCK_tcheck(續(xù)借時(shí)間<應(yīng)還書(shū)時(shí)間-10)5.2.6外鍵約束
外鍵約束(foreignkey)定義了表之間的關(guān)系。當(dāng)一個(gè)表中的一個(gè)列或多個(gè)列的組合和其它表中的主關(guān)鍵字定義相同時(shí),就可以將這些列或列的組合定義為外關(guān)鍵字,并設(shè)定它適合哪個(gè)表中哪些列相關(guān)聯(lián)。5.2.6外鍵約束【例5.8】使用T-SQL語(yǔ)句,為圖書(shū)借閱信息管理系統(tǒng)中的BookInfo表中的圖書(shū)編號(hào)和BorrowList表的圖書(shū)編號(hào)建立外鍵約束。ALTERTABLEBorrowListAD
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)合作社合同管理制度探討
- 學(xué)校安全教育的創(chuàng)新策略與實(shí)踐探索
- 二零二五年廣州房產(chǎn)贖樓墊資合同中的續(xù)約條款3篇
- 二零二五年度辦公樓內(nèi)部裝飾裝修工程驗(yàn)收合同3篇
- 二零二五年度天津市電子信息產(chǎn)業(yè)基地建設(shè)土地使用權(quán)轉(zhuǎn)讓合同2篇
- 二零二五年度2025年度老舊小區(qū)改造房屋征收拆遷安置合同3篇
- 二零二五年度婚慶酒店婚慶公司婚禮策劃與婚慶音樂(lè)合同
- 二零二五年度手車交易信息服務(wù)平臺(tái)使用合同
- 2025年度企業(yè)知識(shí)管理平臺(tái)建設(shè)與技術(shù)外包服務(wù)合同3篇
- 2024治療承諾協(xié)議書(shū)(內(nèi)分泌疾病專項(xiàng))2篇
- 2025年統(tǒng)編版中考語(yǔ)文課內(nèi)文言文《湖心亭看雪》三年中考試題+模擬題(解析版)
- 2023年二輪復(fù)習(xí)解答題專題四:一次函數(shù)的應(yīng)用圖象型(原卷版+解析)
- 2024學(xué)年四川省成都天府新區(qū)九年級(jí)上學(xué)期一診數(shù)學(xué)模擬試題(原卷版)
- 倉(cāng)庫(kù)勞務(wù)外包方案
- 人工電桿拆除施工方案
- 2024至2030年中國(guó)頸部按摩器行業(yè)發(fā)展戰(zhàn)略規(guī)劃及市場(chǎng)規(guī)模預(yù)測(cè)報(bào)告
- 人教版英語(yǔ)2024七年級(jí)上冊(cè)全冊(cè)單元測(cè)試卷
- 2024年放射醫(yī)學(xué)技術(shù)(士、師)考試題庫(kù)(附含答案)
- 加油加氣站 反恐防范重點(diǎn)目標(biāo)檔案 范例2024
- 《工程招投標(biāo)與合同管理》期末考試復(fù)習(xí)題及參考答案
- 芯片制造與半導(dǎo)體技術(shù)考核試卷
評(píng)論
0/150
提交評(píng)論