版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)現(xiàn)數(shù)據(jù)完整性第一頁,共十八頁,2022年,8月28日3.1數(shù)據(jù)完整性的概念完整性約束條件的作用對象3.1.2完整性類型3.1.3如何保證數(shù)據(jù)完整性第二頁,共十八頁,2022年,8月28日完整性約束條件的作用對象
完整性約束條件的作用對象可以是表、元組和列。列約束主要是列的類型、取值范圍、精度、排序約束等;如:年齡0~150,性別{男,女}
元組約束是元組中各個(gè)字段間的聯(lián)系的約束。如:開始日期小于結(jié)束日期第三頁,共十八頁,2022年,8月28日3.1.2完整性類型實(shí)體完整性
實(shí)體完整性將行定義為特定表的唯一實(shí)體。一般用主碼約束實(shí)現(xiàn)
域完整性
域完整性是指給定列的輸入有效性。年齡0~150,一般用check等實(shí)現(xiàn)引用完整性
引用完整性保持表之間已定義的關(guān)系。一般用外碼實(shí)現(xiàn)
第四頁,共十八頁,2022年,8月28日3.1.3如何保證數(shù)據(jù)完整性聲明完整性
在表定義時(shí)聲明使用約束(CONSTRAINT)、缺省值(DEFAULT)和規(guī)則由SQLServer自動加以保證過程完整性
在客戶端或服務(wù)器端用編程語言或工具實(shí)現(xiàn)在Server端使用存儲過程(storedprocedure)和觸發(fā)器(trigger)來實(shí)現(xiàn)第五頁,共十八頁,2022年,8月28日3.2使用約束3.2.1完整性與使用的約束3.2.2DefaultConstraint3.2.3CHECKConstraint3.2.4UniqueConstraint3.2.5PRIMARYKEY約束3.2.6FOREIGNKEY約束第六頁,共十八頁,2022年,8月28日Default(默認(rèn))約束當(dāng)將某行裝載到為行定義了DEFAULT的表中時(shí),若沒有指定列值,則是隱性要求將默認(rèn)值裝載到該列中。一個(gè)Default只能約束一列格式:
[CONSTAINT約束名]
DEFAULT約束表達(dá)式for列名
第七頁,共十八頁,2022年,8月28日Default約束示例
當(dāng)未給employees表的受雇日期插入值時(shí),取當(dāng)前值插入AltertableemployeesAddconstraintdf_emp_datedefaultgetdate()foremp_date也可以在定義表的同時(shí)定義約束:CreateTableemployees(......emp_datedatetimeconstraintdf_emp_datedefaultgetdate(),......)
第八頁,共十八頁,2022年,8月28日CHECK約束通過限制輸入到列中的值來強(qiáng)制域的完整性??啥x同表多列之間的約束關(guān)系格式
[CONSTAINT約束名]CHECK邏輯表達(dá)式
第九頁,共十八頁,2022年,8月28日Check約束示例1
限制employees表的salary必須大于0 Altertableemployees AddConstraintck_employees_salary
Check(salary>0)
第十頁,共十八頁,2022年,8月28日Check約束示例2限制employees表的Phone必須是8位長,且每一位必須是0~9的數(shù)字
Altertableemployees AddConstraintck_employees_phone
Check(phoneLike‘[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)
第十一頁,共十八頁,2022年,8月28日Check約束示例3限制jobs表的low_salary必須小于high_salary AltertableJobs AddConstraintck_jobs_salary Check(low_salary<high_salary)
第十二頁,共十八頁,2022年,8月28日Unique約束確保在非主鍵列中不輸入重復(fù)值。應(yīng)用在客觀具有唯一性質(zhì)的列上,如身份證號、社會保險(xiǎn)號等。格式:
[CONSTAINT約束名]
UNIQUE(列名[,…n])
第十三頁,共十八頁,2022年,8月28日Unique約束示例限制employess的sid都是唯一的
AltertableemployeesAddConstraintu_employees_sid
Unique(sid)
第十四頁,共十八頁,2022年,8月28日PRIMARYKEY約束保證實(shí)體完整性每個(gè)表有且只有一個(gè)PRIMARYKEY約束格式:
[CONSTAINT約束名]
PRIMARYKEY(列名[,…n])
第十五頁,共十八頁,2022年,8月28日PRIMARYKEY約束示例
為employees表和jobs表添加PRIMARYKEY約束
ALTERTABLEemploueesADDCONSTRAINTPK_emplouees_emp_id
PRIMARYKEY(emp_id)
ALTERTABLEjobsADDCONSTRAINTPK_jobs_job_id
PRIMARYKEY(job_id)
第十六頁,共十八頁,2022年,8月28日
FOREIGNKEY約束用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間的鏈接的一列或多列格式:
[CONSTAINT約束名]
FOREIGNKEY(本表列名)REFERENCES
引用表名(引用列名)第十七頁,共十八頁,2022年,8月28日FK約束示例
在employees表的job_id添加外鍵約束,保證雇員從事的工作一定是在jobs表中已有的工作。
ALTER
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財(cái)經(jīng)大學(xué)《創(chuàng)業(yè)團(tuán)隊(duì)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年甘肅省建筑安全員C證考試題庫
- 2025年河南省安全員《C證》考試題庫
- 貴陽學(xué)院《山水寫生》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州應(yīng)用科技學(xué)院《游戲制作與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《建筑力學(xué)(上)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025四川省安全員-C證考試(專職安全員)題庫附答案
- 2025云南省建筑安全員《C證》考試題庫及答案
- 6.4.2向量在物理中的應(yīng)用舉例【超級課堂】2022-2023學(xué)年高一數(shù)學(xué)教材配套教學(xué)精-品課件+分層練習(xí)人教A版2019必修第二冊
- 材料力學(xué)課件-動載荷
- 3、心電圖檢查質(zhì)量控制(操作標(biāo)準(zhǔn)化)要求
- 腎病科腎病綜合征診療規(guī)范2023版
- 高考作文模擬寫作訓(xùn)練:一個(gè)熟悉的勞動者
- 電商稅收合規(guī)問題
- 中華全國律師協(xié)會律師辦理物業(yè)管理法律業(yè)務(wù)操作指引
- 鐵路行車規(guī)章
- 配水管網(wǎng)工程主要項(xiàng)目施工方法及技術(shù)措施
- 地基驗(yàn)槽記錄
- 污水處理廠有毒有害氣體檢測記錄表
- 馬克思主義與社會科學(xué)方法論課后思考題答案全
- 針灸推拿習(xí)題庫+參考答案
評論
0/150
提交評論