




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章數(shù)據(jù)完整性的設(shè)計(jì)與實(shí)現(xiàn)掌握數(shù)據(jù)完整性的分類掌握如何利用企業(yè)管理器和T-SQL語(yǔ)言創(chuàng)建主建約束掌握設(shè)置唯一性約束的方法掌握設(shè)置默認(rèn)約束的方法掌握設(shè)置檢查約束的方法掌握設(shè)置外鍵約束的方法本章要點(diǎn):本章教學(xué)內(nèi)容:4.1 概述4.2 實(shí)體完整性的設(shè)計(jì)與實(shí)現(xiàn)4.3 域完整性的設(shè)計(jì)與實(shí)現(xiàn)4.4 參照完整性的設(shè)計(jì)與實(shí)現(xiàn)4.1 概述為了保證在數(shù)據(jù)表中輸入可靠的和有效的數(shù)據(jù),可以對(duì)數(shù)據(jù)表中的數(shù)據(jù)設(shè)置完整性約束。數(shù)據(jù)完整性指數(shù)據(jù)的正確性與相容性。數(shù)據(jù)完整性包括:實(shí)體完整性域完整性參照完整性用戶自定義的完整性1.實(shí)體完整性用來(lái)保證在同一個(gè)數(shù)據(jù)表中不會(huì)存在完全相同的兩條記錄。一般通過(guò)主鍵約束、IDENTITY屬
2、性、唯一性約束實(shí)現(xiàn)。2.域完整性用來(lái)保證對(duì)數(shù)據(jù)表中的字段輸入有效的數(shù)值??梢酝ㄟ^(guò)定義字段的數(shù)據(jù)類型、設(shè)置字段非空、檢查約束、默認(rèn)約束、規(guī)則實(shí)現(xiàn)。3.參照完整性通過(guò)創(chuàng)建數(shù)據(jù)表間數(shù)據(jù)的參照關(guān)系,來(lái)保證鍵值在兩個(gè)表中保持一致??梢酝ㄟ^(guò)外鍵約束實(shí)現(xiàn)。4.用戶自定義的完整性用來(lái)定義用戶需要的特殊的完整性要求。4.2 實(shí)體完整性的設(shè)計(jì)與實(shí)現(xiàn)是最重要的一種約束。能夠唯一地確定表中的每一條記錄。定義為主鍵的列不允許為空。image和text類型的列不能被指定為主鍵。可以將數(shù)據(jù)表中的一列或多列的組合定義為主鍵。添加、修改、刪除主鍵的方法:企業(yè)管理器使用T-SQL語(yǔ)言使用企業(yè)管理器“設(shè)計(jì)表”“設(shè)置主鍵”,可以設(shè)置
3、或取消主鍵。如對(duì)多個(gè)列設(shè)置主鍵,按住ctrl選擇列。對(duì)已設(shè)置好的主鍵,可以通過(guò)“屬性”“索引/鍵”來(lái)刪除主鍵(此種方法不能創(chuàng)建主鍵。使用T-SQL語(yǔ)言創(chuàng)建主鍵約束(創(chuàng)建/修改表時(shí)格式:CONSTRAINT constraint_namePRIMARY KEY CLUSTERED|NONCLUSTERED (column_name,n例4.1在學(xué)生庫(kù)中創(chuàng)建學(xué)生表(sno ,sname,ssex,sclass,sdept,并設(shè)置sno為主鍵。方法1:在建表的同時(shí)設(shè)置主鍵。方法2:在已建好表的中添加主鍵約束。方法1:create table 學(xué)生表(sno char(10,sname char(10
4、,ssex char(2,sclass char(2,sdept char(20,constraint PK_學(xué)生表primary key (snocreate table 學(xué)生表(sno char(10 primary key ,sname char(10,ssex char(2,sclass char(2,sdept char(20,create table 學(xué)生表(sno char(10 ,sname char(10,ssex char(2,sclass char(2,sdept char(20,primary key(sno,方法2:alter table 學(xué)生表add constra
5、int PK_學(xué)生表primary key (sno使用T-SQL語(yǔ)句刪除PRIMARY KEY約束格式:DROP CONSTRAINT constraint_name例4.2刪除選課表的主鍵(sno,cnoalter table 選課表drop constraint PK_選課表使用標(biāo)識(shí)列保證數(shù)據(jù)表中不會(huì)出現(xiàn)完全一樣的兩條記錄。在數(shù)據(jù)表中創(chuàng)建一個(gè)標(biāo)識(shí)列,其中的數(shù)據(jù)由系統(tǒng)自動(dòng)生成,并且不會(huì)重復(fù)。使用方法:企業(yè)管理器使用T-SQL語(yǔ)言使用T-SQL語(yǔ)言格式:IDENTITY(種子,遞增量種子是初始值,遞增量是每次增加的數(shù)據(jù)說(shuō)明:種子和遞增量必須同時(shí)使用,如果都不使用,則默認(rèn)為(1,1。例4.3新
6、建表bianhao ,并將列bianhao設(shè)置成一個(gè)標(biāo)識(shí)列,列中從2開(kāi)始,每次增加3。create table bianhao(bianhao int identity(2,3,mingcheng char(4UNIQUE約束用于確保非主鍵列的取值的唯一性,保證實(shí)體完整性??梢灾付ㄒ粋€(gè)或多個(gè)列的組合值具有唯一性。每個(gè)UNIQUE約束要建立一個(gè)唯一索引。一個(gè)表可有多個(gè)UNIQUE約束??捎糜诙x允許空值的列。使用方法:企業(yè)管理器使用T-SQL語(yǔ)言企業(yè)管理器“屬性”“索引/鍵”,新建UNIQUE,列名選擇框中可以選擇兩列。使用T-SQL語(yǔ)言使用T-SQL語(yǔ)句創(chuàng)建唯一約束(創(chuàng)建/修改表時(shí)CONSTR
7、AINT constraint_nameUNIQUE CLUSTERED|NONCLUSTERED(列名使用T-SQL語(yǔ)句刪除UNIQUE約束DROP CONSTRAINT constraint_name4.3 域完整性的設(shè)計(jì)與實(shí)現(xiàn)域完整性用來(lái)保證在數(shù)據(jù)表中輸入有效的數(shù)據(jù)值。可以通過(guò)定義字段的數(shù)據(jù)類型、設(shè)置字段非空、檢查約束、默認(rèn)約束和規(guī)則來(lái)實(shí)現(xiàn)。若將表中某列定義了DEFAULT約束后,用戶在插入新的數(shù)據(jù)行時(shí),如未指定該列值,系統(tǒng)自動(dòng)將該列值賦為默認(rèn)值(默認(rèn)值可以是空值。默認(rèn)可以是常量、函數(shù)、空值。每個(gè)字段只能定義一個(gè)默認(rèn)約束。不能為帶有IDENTITY屬性或數(shù)據(jù)類型為timestamp的字段
8、設(shè)置默認(rèn)值。使用方法:企業(yè)管理器使用T-SQL語(yǔ)言企業(yè)管理器在輸入默認(rèn)值時(shí),對(duì)于數(shù)據(jù)值型數(shù)據(jù),可以直接輸入。對(duì)于字符型數(shù)據(jù)和日期型數(shù)據(jù),在輸入數(shù)據(jù)時(shí)兩端要加上單引號(hào)。使用T-SQL語(yǔ)言創(chuàng)建DEFAULT約束(創(chuàng)建/修改表時(shí)CONSTRAINT constraint_nameDEFAULT 默認(rèn)約束值FOR 列名刪除DEFAULT約束DROP CONSTRAINT constraint_name目的:是對(duì)輸入的數(shù)據(jù)值進(jìn)行檢查,滿足條件的數(shù)據(jù)可以保存在數(shù)據(jù)表中,對(duì)于不滿足條件的數(shù)據(jù)則拒絕接受。使用方法:企業(yè)管理器使用T-SQL語(yǔ)言使用T-SQL語(yǔ)言創(chuàng)建CHECK約束(在創(chuàng)建或修改表時(shí);CONSTR
9、AINT constraint_nameCHECKNOT FOR REPLICATION(邏輯表達(dá)式刪除CHECK約束DROP CONSTRAINT constraint_name創(chuàng)建規(guī)則綁定規(guī)則刪除綁定刪除規(guī)則對(duì)象是對(duì)存儲(chǔ)在數(shù)據(jù)表中的數(shù)據(jù)值的規(guī)定和限制。功能與CHECK約束的功能相似,但規(guī)則是作為一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)中的。只創(chuàng)建一次,綁定到多個(gè)列上。一個(gè)列,只能應(yīng)用一個(gè)規(guī)則。規(guī)則對(duì)象在功能上與CHECK約束是一樣的,在使用上有所區(qū)別:CHECK約束是和表的定義聯(lián)系在一起的,刪除表的同時(shí)CHECK約束也被刪除規(guī)則對(duì)象作為一種單獨(dú)存儲(chǔ)的數(shù)據(jù)庫(kù)對(duì)象,獨(dú)立于表之外(用CREATE RUL
10、E定義,刪除表時(shí)并不刪除規(guī)則對(duì)象(用DROP RULE刪除1. 創(chuàng)建規(guī)則使用企業(yè)管理器創(chuàng)建規(guī)則對(duì)象使用T-SQL語(yǔ)句CREATE RULE創(chuàng)建規(guī)則對(duì)象CREATE RULE 規(guī)則名AS 規(guī)則條件例:創(chuàng)建規(guī)則:設(shè)置學(xué)生的年齡在16歲和25歲之間。use 學(xué)生GOCREATE RULE nl AS 年齡>=16 and 年齡<=252.綁定規(guī)則格式:Execute sp_bindrule 規(guī)則名,綁定的列名3.取消綁定格式:Execute sp_unbindrule 綁定的列名4. 刪除規(guī)則使用企業(yè)管理器刪除規(guī)則對(duì)象使用T-SQL語(yǔ)句DROP RULE刪除規(guī)則對(duì)象DROP RULE 規(guī)則對(duì)象名例:刪除規(guī)則對(duì)象nl。use 學(xué)生goDROP DEFAULT nl4.4 參照完整性的設(shè)計(jì)與實(shí)現(xiàn)通過(guò)外鍵可以建立和強(qiáng)制主表和從表的參照完整性,即從表的外鍵要么為空,要么等于主表中已存在的主鍵值。可實(shí)現(xiàn)以下功能:不能在從表中插入主表中不存在的數(shù)據(jù)值。如果從表中有對(duì)應(yīng)的數(shù)據(jù)值,則不能修改主表中的對(duì)應(yīng)值,除非設(shè)置成級(jí)聯(lián)修改。如果從表中有對(duì)應(yīng)的數(shù)據(jù)值,則不能刪除主表中的對(duì)應(yīng)值,除非
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工職業(yè)發(fā)展與工作計(jì)劃的結(jié)合
- 提升創(chuàng)造力的團(tuán)隊(duì)管理策略計(jì)劃
- Unit 5 The colourful world Lesson 2(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 某村村民高血壓發(fā)病率的調(diào)查
- 第1章相交線和平行線單元教學(xué)設(shè)計(jì) 2024-2025學(xué)年浙教版數(shù)學(xué)七年級(jí)下冊(cè)標(biāo)簽標(biāo)題
- 2025年南昌年貨運(yùn)從業(yè)資格證考試從業(yè)從業(yè)資格資格題庫(kù)及答案
- 2025年清遠(yuǎn)貨物從業(yè)資格證考試
- 2025年宿州貨運(yùn)從業(yè)資格證模擬考試下載
- 2025年那曲貨運(yùn)從業(yè)資格證考試試題及答案
- 2025年陜西從業(yè)資格貨運(yùn)資格考試題庫(kù)及答案解析
- 《法院執(zhí)行實(shí)務(wù)》單元三(上)(課堂PPT)課件
- 煤礦防治水中長(zhǎng)期規(guī)劃2017—2019
- 新版廣西大學(xué)畢業(yè)設(shè)計(jì)封面
- 幼兒園一日生活中的保教結(jié)合(課堂PPT)
- 有害物質(zhì)培訓(xùn)教材(ROHS2.0及REACH)
- 基于深度學(xué)習(xí)的圖像壓縮感知算法綜述
- 德語(yǔ)A1單詞表
- ARL4460 OXSAS曲線制作及學(xué)習(xí)筆記
- 主板維修思路分析
- 高三地理二輪專題河流特征
- Unit__A_View_of_Mountains
評(píng)論
0/150
提交評(píng)論