版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章數(shù)據(jù)完整性5.1數(shù)據(jù)完整性概述5.2完整性的實現(xiàn)5.1數(shù)據(jù)完整性概述
關系模型中數(shù)據(jù)完整性主要是對數(shù)據(jù)庫中的數(shù)據(jù)進行約束,以保證數(shù)據(jù)庫中的數(shù)據(jù)的正確性和相容性。 關系模型中提供了3類完整性規(guī)則:實體完整性參照完整性自定義完整性。5.1數(shù)據(jù)完整性概述1.實體完整性實體完整性是指基本關系的主屬性(或主鍵)不能取空值。2.參照完整性參照完整性是指兩個表的主關鍵字和外關鍵字的數(shù)據(jù)應對應一致。3.用戶定義完整性用戶定義完整性是針對某一特定關系數(shù)據(jù)庫的約束條件,由應用環(huán)境所決定5.2完整性的實現(xiàn)5.2.1列約束和表約束5.2.2默認約束5.2.3主鍵約束5.2.4惟一約束5.2.5CHECK約束5.2.6外鍵約束5.2.1列約束和表約束約束又分為列約束(ColumnConstraint)和表約束(TableConstraint)。列約束作為列定義的一部分只作用于此列本身。表約束作為表定義的一部分,可以作用于多個列。5.2.1列約束和表約束【例5.1】創(chuàng)建表BorrowList分別定義了列約束和表約束。CREATETABLEBorrowList(
借閱編號intidentity(1,1)NOTNULL,
圖書編號varchar(50),
借書證編號varchar(50),
借閱時間datetime,
應還書時間datetime,
實際歸還時間datetime,
續(xù)借時間datetime,
逾期罰款moneycheck(逾期罰款>=1and逾期罰款<=10),/*列約束*/constraintpk_編號primarykey(借閱編號,圖書編號,借書證編號)/*表約束*/)5.2.2默認約束默認約束通過定義列的默認值或使用數(shù)據(jù)庫的默認值對象綁定表的列,來指定列的默認值?!纠?.2】在SSMS界面中,為圖書借閱信息管理系統(tǒng)中的ReaderCard表的“性別”列創(chuàng)建缺省約束。5.2.2默認約束【例5.3】使用T-SQL語句,為圖書借閱信息管理系統(tǒng)中的ReaderCard表創(chuàng)建名為DF_性別的DEFAULT約束,該約束的值為男。ALTERTABLEReaderCardADDCONSTRAINTDF_性別
DEFAULT(’男’)for性別5.2.3主鍵約束主鍵約束是一種基礎性約束,主鍵約束(primarykey)定義了用于惟一標識某一行的一列或多列數(shù)據(jù)。在SQLServer2008中,主鍵約束具備以下幾個特點:(1)被定義的主鍵列數(shù)據(jù)不允許有相同的值(2)被定義為主鍵約束的列,值不能為空值。(3)一張表只能定義一個主鍵約束。5.2.3主鍵約束1.在SSMS界面中,創(chuàng)建表時定義主鍵約束【例5.4】在SSMS界面中,為圖書借閱信息管理系統(tǒng)中的BookInfo表的“圖書編號”列創(chuàng)建主鍵約束,以保證圖書編號的惟一性。5.2.3主鍵約束2.通過T-SQL語句為數(shù)據(jù)庫中已經(jīng)存在的表添加主鍵?!纠?.5】使用T-SQL語句,為圖書借閱信息管理系統(tǒng)中的CardType表的“卡類型編號”列添加主鍵約束,以保證“卡類型編號”的惟一性。ALTERTABLECardTypeADDCONSTRAINTpk_CardNoPRIMARYKEY(卡類型編號)5.2.4唯一約束惟一性(UNIQUE)約束指定一個或多個列的組合的值具有惟一性,以防止在列中輸入重復的值。 惟一性約束指定的列可以有NULL
屬性。由于主關鍵字值是具有惟一性的,因此主關鍵字列不能再設定惟一性約束。5.2.4唯一約束【例5.6】使用T-SQL語句,為圖書借閱信息管理系統(tǒng)中的BorrowList表的“圖書編號”和“借書證編號”兩列添加惟一性約束。ALTERTABLEBorrowListADDCONSTRAINT
Uq_book_card_NoUNIQUE(圖書編號,借書證編號)5.2.5檢查(Check)約束
檢查約束對輸入列或整個表中的值設置檢查條件,以限制輸入值,保證數(shù)據(jù)庫的數(shù)據(jù)完整性??梢詫γ總€列設置檢查約束。5.2.5檢查(Check)約束【例5.7】使用T-SQL語句,為圖書借閱信息管理系統(tǒng)中的BorrowList表“續(xù)借時間”添加檢查約束,續(xù)借時間必須在應還書時間的10天前。ALTERTABLEBorrowListADDCONSTRAINTCK_tcheck(續(xù)借時間<應還書時間-10)5.2.6外鍵約束
外鍵約束(foreignkey)定義了表之間的關系。當一個表中的一個列或多個列的組合和其它表中的主關鍵字定義相同時,就可以將這些列或列的組合定義為外關鍵字,并設定它適合哪個表中哪些列相關聯(lián)。5.2.6外鍵約束【例5.8】使用T-SQL語句,為圖書借閱信息管理系統(tǒng)中的BookInfo表中的圖書編號和BorrowList表的圖書編號建立外鍵約束。ALTERTABLEBorrowListAD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生用品更衣室管理制度
- 衛(wèi)生院行風督查制度
- 衛(wèi)生院三病物資管理制度
- 生活區(qū)衛(wèi)生物品管理制度
- 衛(wèi)生院疾病預防管理制度
- 衛(wèi)生所規(guī)范管理制度
- 養(yǎng)殖場日常衛(wèi)生管理制度
- 幼兒園8項衛(wèi)生管理制度
- 衛(wèi)生所首診負責制度
- 衛(wèi)生院新冠病人轉診制度
- 2026屆杭州高級中學高二上數(shù)學期末聯(lián)考試題含解析
- 2026年陜西氫能產(chǎn)業(yè)發(fā)展有限公司所屬單位社會公開招聘備考題庫及1套參考答案詳解
- 2026年及未來5年中國無取向硅鋼片行業(yè)市場深度分析及發(fā)展趨勢預測報告
- 棄土場規(guī)范規(guī)章制度
- 2026年水下機器人勘探報告及未來五至十年深海資源報告
- 2025年3月29日事業(yè)單位聯(lián)考(職測+綜應)ABCDE類筆試真題及答案解析
- 雙重預防體系建設自評報告模板
- 高血壓教學查房復習過程教案(2025-2026學年)
- 感控PDCA持續(xù)質量改進
- 2025年云服務器采購合同協(xié)議
- 補氣血培訓課件
評論
0/150
提交評論