




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、An Introduction to Database System數(shù)據(jù)庫(kù)系統(tǒng)概論An Introduction to Database System第五章第五章 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性中國(guó)人民大學(xué)信息學(xué)院中國(guó)人民大學(xué)信息學(xué)院An Introduction to Database System數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性v數(shù)據(jù)庫(kù)的完整性數(shù)據(jù)庫(kù)的完整性n數(shù)據(jù)的數(shù)據(jù)的正確性正確性l是指數(shù)據(jù)是符合現(xiàn)實(shí)世界語(yǔ)義,反映了當(dāng)前實(shí)際狀況的是指數(shù)據(jù)是符合現(xiàn)實(shí)世界語(yǔ)義,反映了當(dāng)前實(shí)際狀況的n數(shù)據(jù)的數(shù)據(jù)的相容性相容性l是指數(shù)據(jù)庫(kù)同一對(duì)象在不同關(guān)系表中的數(shù)據(jù)是符合邏輯的是指數(shù)據(jù)庫(kù)同一對(duì)象在不同關(guān)系表中的數(shù)據(jù)是符合邏輯
2、的例如,例如,l學(xué)生的學(xué)號(hào)必須唯一學(xué)生的學(xué)號(hào)必須唯一l性別只能是男或女性別只能是男或女l本科學(xué)生年齡的取值范圍為本科學(xué)生年齡的取值范圍為1450的整數(shù)的整數(shù)l學(xué)生所選的課程必須是學(xué)校開(kāi)設(shè)的課程,學(xué)生所在的院系學(xué)生所選的課程必須是學(xué)校開(kāi)設(shè)的課程,學(xué)生所在的院系必須是學(xué)校已成立的院系必須是學(xué)校已成立的院系l等等An Introduction to Database System數(shù)據(jù)庫(kù)完整性(續(xù))數(shù)據(jù)庫(kù)完整性(續(xù))v數(shù)據(jù)的完整性和安全性是兩個(gè)不同概念數(shù)據(jù)的完整性和安全性是兩個(gè)不同概念n數(shù)據(jù)的完整性數(shù)據(jù)的完整性l防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),也就是防止數(shù)據(jù)庫(kù)防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),也就是
3、防止數(shù)據(jù)庫(kù)中存在不正確的數(shù)據(jù)中存在不正確的數(shù)據(jù)l防范對(duì)象:不合語(yǔ)義的、不正確的數(shù)據(jù)防范對(duì)象:不合語(yǔ)義的、不正確的數(shù)據(jù)n數(shù)據(jù)的安全性數(shù)據(jù)的安全性l保護(hù)數(shù)據(jù)庫(kù)保護(hù)數(shù)據(jù)庫(kù) 防止惡意的破壞和非法的存取防止惡意的破壞和非法的存取l防范對(duì)象:非法用戶(hù)和非法操作防范對(duì)象:非法用戶(hù)和非法操作An Introduction to Database System數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性(續(xù)續(xù))v為維護(hù)數(shù)據(jù)庫(kù)的完整性,數(shù)據(jù)庫(kù)管理系統(tǒng)必須:為維護(hù)數(shù)據(jù)庫(kù)的完整性,數(shù)據(jù)庫(kù)管理系統(tǒng)必須:1.提供定義完整性約束條件的機(jī)制提供定義完整性約束條件的機(jī)制l完整性約束條件也稱(chēng)為完整性規(guī)則,是數(shù)據(jù)庫(kù)中的數(shù)據(jù)完整性約束條件也稱(chēng)為完整性規(guī)
4、則,是數(shù)據(jù)庫(kù)中的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義約束條件必須滿(mǎn)足的語(yǔ)義約束條件lSQL標(biāo)準(zhǔn)使用了一系列概念來(lái)描述完整性,包括關(guān)系模標(biāo)準(zhǔn)使用了一系列概念來(lái)描述完整性,包括關(guān)系模型的實(shí)體完整性、參照完整性和用戶(hù)定義完整性型的實(shí)體完整性、參照完整性和用戶(hù)定義完整性l這些完整性一般由這些完整性一般由SQL的數(shù)據(jù)定義語(yǔ)言語(yǔ)句來(lái)實(shí)現(xiàn)的數(shù)據(jù)定義語(yǔ)言語(yǔ)句來(lái)實(shí)現(xiàn) An Introduction to Database System數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性(續(xù)續(xù))2.提供完整性檢查的方法提供完整性檢查的方法l數(shù)據(jù)庫(kù)管理系統(tǒng)中檢查數(shù)據(jù)是否滿(mǎn)足完整性約束條件的機(jī)制數(shù)據(jù)庫(kù)管理系統(tǒng)中檢查數(shù)據(jù)是否滿(mǎn)足完整性約束條件的機(jī)制稱(chēng)為完整性檢查。
5、稱(chēng)為完整性檢查。l一般在一般在INSERT、UPDATE、DELETE語(yǔ)句執(zhí)行后開(kāi)始檢查,語(yǔ)句執(zhí)行后開(kāi)始檢查,也可以在事務(wù)提交時(shí)檢查也可以在事務(wù)提交時(shí)檢查 An Introduction to Database System數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性(續(xù)續(xù))3.違約處理違約處理 l數(shù)據(jù)庫(kù)管理系統(tǒng)若發(fā)現(xiàn)用戶(hù)的操作違背了完整性約束條件,數(shù)據(jù)庫(kù)管理系統(tǒng)若發(fā)現(xiàn)用戶(hù)的操作違背了完整性約束條件,就采取一定的動(dòng)作就采取一定的動(dòng)作 拒絕拒絕(NO ACTION)執(zhí)行該操作執(zhí)行該操作 級(jí)連級(jí)連(CASCADE)執(zhí)行其他操作執(zhí)行其他操作An Introduction to Database System第五章第五章
6、 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性5.1 實(shí)體完整性實(shí)體完整性5.2 參照完整性參照完整性5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.4 完整性約束命名字句完整性約束命名字句*5.5 域中的完整性限制域中的完整性限制5.6 斷言斷言5.7 觸發(fā)器觸發(fā)器5.8 小結(jié)小結(jié)An Introduction to Database System5.1 實(shí)體完整性實(shí)體完整性5.1.1 實(shí)體完整性定義實(shí)體完整性定義5.1.2 實(shí)體完整性檢查和違約處理實(shí)體完整性檢查和違約處理An Introduction to Database System5.1.1 實(shí)體完整性定義實(shí)體完整性定義v關(guān)系模型的實(shí)體完整性關(guān)系模型的實(shí)體
7、完整性nCREATE TABLE中用中用PRIMARY KEY定義定義v單屬性構(gòu)成的碼有兩種說(shuō)明方法單屬性構(gòu)成的碼有兩種說(shuō)明方法 n定義為列級(jí)約束條件定義為列級(jí)約束條件n定義為表級(jí)約束條件定義為表級(jí)約束條件v對(duì)多個(gè)屬性構(gòu)成的碼只有一種說(shuō)明方法對(duì)多個(gè)屬性構(gòu)成的碼只有一種說(shuō)明方法n定義為表級(jí)約束條件定義為表級(jí)約束條件 An Introduction to Database System實(shí)體完整性定義實(shí)體完整性定義(續(xù)續(xù))例例5.1 將將Student表中的表中的Sno屬性定義為碼屬性定義為碼 (1)在列級(jí)定義主碼在列級(jí)定義主碼 CREATE TABLE Student ( Sno CHAR(9)
8、PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );An Introduction to Database System實(shí)體完整性定義實(shí)體完整性定義(續(xù)續(xù))(2)在表級(jí)定義主碼在表級(jí)定義主碼 CREATE TABLE Student ( Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) ); An Introduction to
9、Database System實(shí)體完整性定義實(shí)體完整性定義(續(xù)續(xù))例例5.2 將將SC表中的表中的Sno,Cno屬性組定義為碼屬性組定義為碼 CREATE TABLE SC ( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) /*只能在表級(jí)定義主碼只能在表級(jí)定義主碼*/ ); An Introduction to Database System5.1 實(shí)體完整性實(shí)體完整性5.1.1 實(shí)體完整性定義實(shí)體完整性定義5.1.2 實(shí)體完整性檢查和違約處理實(shí)體完整性檢查和違約處理An In
10、troduction to Database System5.1.2 實(shí)體完整性檢查和違約處理實(shí)體完整性檢查和違約處理v插入或?qū)χ鞔a列進(jìn)行更新操作時(shí),關(guān)系數(shù)據(jù)庫(kù)管理插入或?qū)χ鞔a列進(jìn)行更新操作時(shí),關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)按照實(shí)體完整性規(guī)則自動(dòng)進(jìn)行檢查。包括:系統(tǒng)按照實(shí)體完整性規(guī)則自動(dòng)進(jìn)行檢查。包括:n檢查主碼值是否唯一,如果不唯一則拒絕插入或修改檢查主碼值是否唯一,如果不唯一則拒絕插入或修改n檢查主碼的各個(gè)屬性是否為空,只要有一個(gè)為空就拒絕檢查主碼的各個(gè)屬性是否為空,只要有一個(gè)為空就拒絕插入或修改插入或修改An Introduction to Database System實(shí)體完整性檢查和違約處理實(shí)體
11、完整性檢查和違約處理(續(xù)續(xù))v檢查記錄中主碼值是否唯一的一種方法是進(jìn)行檢查記錄中主碼值是否唯一的一種方法是進(jìn)行全表全表掃描掃描n 依次判斷表中每一條記錄的主碼值與將插入記錄上的主碼依次判斷表中每一條記錄的主碼值與將插入記錄上的主碼值(或者修改的新主碼值)是否相同值(或者修改的新主碼值)是否相同 An Introduction to Database System實(shí)體完整性檢查和違約處理實(shí)體完整性檢查和違約處理(續(xù)續(xù))v表掃描缺點(diǎn)表掃描缺點(diǎn)n 十分耗時(shí)十分耗時(shí)v為避免對(duì)基本表進(jìn)行全表掃描,為避免對(duì)基本表進(jìn)行全表掃描,RDBMS核心一核心一般都在主碼上自動(dòng)建立一個(gè)般都在主碼上自動(dòng)建立一個(gè)索引索引
12、An Introduction to Database System實(shí)體完整性檢查和違約處理實(shí)體完整性檢查和違約處理(續(xù)續(xù))v B+樹(shù)索引樹(shù)索引例如,例如,n 新插入記錄的主碼值是新插入記錄的主碼值是25l通過(guò)主碼索引,從通過(guò)主碼索引,從B+樹(shù)的根結(jié)點(diǎn)開(kāi)始查找樹(shù)的根結(jié)點(diǎn)開(kāi)始查找l讀取讀取3個(gè)結(jié)點(diǎn):根結(jié)點(diǎn)(個(gè)結(jié)點(diǎn):根結(jié)點(diǎn)(51)、中間結(jié)點(diǎn)()、中間結(jié)點(diǎn)(12 30)、葉結(jié)點(diǎn)()、葉結(jié)點(diǎn)(15 20 25)l該主碼值已經(jīng)存在,不能插入這條記錄該主碼值已經(jīng)存在,不能插入這條記錄An Introduction to Database System第五章第五章 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性5.1 實(shí)體完整性
13、實(shí)體完整性5.2 參照完整性參照完整性5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.4 完整性約束命名字句完整性約束命名字句*5.5 域中的完整性限制域中的完整性限制5.6 斷言斷言5.7 觸發(fā)器觸發(fā)器5.8 小結(jié)小結(jié)An Introduction to Database System5.2 參照完整性參照完整性5.2.1 參照完整性定義參照完整性定義5.2.2 參照完整性檢查和違約處理參照完整性檢查和違約處理An Introduction to Database System5.2.1 參照完整性定義參照完整性定義v關(guān)系模型的參照完整性定義關(guān)系模型的參照完整性定義n在在CREATE TABLE
14、中用中用FOREIGN KEY短語(yǔ)定義哪些短語(yǔ)定義哪些列為外碼列為外碼n用用REFERENCES短語(yǔ)指明這些外碼參照哪些表的主碼短語(yǔ)指明這些外碼參照哪些表的主碼 An Introduction to Database System參照完整性定義參照完整性定義(續(xù)續(xù))例如,關(guān)系例如,關(guān)系SC中(中(Sno,Cno)是主碼。)是主碼。Sno,Cno分別參照分別參照Student表表 的主碼和的主碼和Course表的主碼表的主碼 例例5.3定義定義SC中的參照完整性中的參照完整性 CREATE TABLE SC ( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL
15、, Grade SMALLINT, PRIMARY KEY (Sno, Cno), /*在表級(jí)定義實(shí)體完整性在表級(jí)定義實(shí)體完整性*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /*在表級(jí)定義參照完整性在表級(jí)定義參照完整性*/ FOREIGN KEY (Cno) REFERENCES Course(Cno) /*在表級(jí)定義參照完整性在表級(jí)定義參照完整性*/ );An Introduction to Database System5.2 參照完整性參照完整性5.2.1 參照完整性定義參照完整性定義5.2.2 參照完整性檢查和違約處理參照完整性檢查和違約處
16、理An Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和違約處理v一個(gè)參照完整性將兩個(gè)表中的相應(yīng)元組聯(lián)系起來(lái)一個(gè)參照完整性將兩個(gè)表中的相應(yīng)元組聯(lián)系起來(lái)v對(duì)被參照表和參照表進(jìn)行增刪改操作時(shí)有可能破對(duì)被參照表和參照表進(jìn)行增刪改操作時(shí)有可能破壞參照完整性,必須進(jìn)行檢查壞參照完整性,必須進(jìn)行檢查 An Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和違約處理(續(xù)續(xù))v例如,對(duì)表例如,對(duì)表SC和和Student有四種可能破壞參照完整有四種可能破壞參照完整性的情況性的情況 :nSC表中增加一個(gè)元組表
17、中增加一個(gè)元組,該元組的,該元組的Sno屬性的值在表屬性的值在表Student中找不到一個(gè)元組,其中找不到一個(gè)元組,其Sno屬性的值與之相等。屬性的值與之相等。n修改修改SC表中的一個(gè)元組表中的一個(gè)元組,修改后該元組的,修改后該元組的Sno屬性的值在屬性的值在表表Student中找不到一個(gè)元組,其中找不到一個(gè)元組,其Sno屬性的值與之相等。屬性的值與之相等。An Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和違約處理(續(xù)續(xù))v例如,對(duì)表例如,對(duì)表SC和和Student有四種可能破壞參照完整有四種可能破壞參照完整性的情況性的情況 (續(xù))(續(xù)
18、):n從從Student表中刪除一個(gè)元組表中刪除一個(gè)元組,造成,造成SC表中某些元組的表中某些元組的Sno屬性的值在表屬性的值在表Student中找不到一個(gè)元組,其中找不到一個(gè)元組,其Sno屬性屬性的值與之相等。的值與之相等。n修改修改Student表中一個(gè)元組的表中一個(gè)元組的Sno屬性屬性,造成,造成SC表中某些表中某些元組的元組的Sno屬性的值在表屬性的值在表Student中找不到一個(gè)元組,其中找不到一個(gè)元組,其Sno屬性的值與之相等屬性的值與之相等 。An Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和違約處理(續(xù)續(xù))表表5.1 可
19、能破壞參照完整性的情況及違約處理可能破壞參照完整性的情況及違約處理被參照表(例如被參照表(例如Student)參照表(例如參照表(例如SC)違約處理違約處理可能破壞參照完整性可能破壞參照完整性 插入元組插入元組拒絕拒絕可能破壞參照完整性可能破壞參照完整性 修改外碼值修改外碼值拒絕拒絕刪除元組刪除元組 可能破壞參照完整性可能破壞參照完整性拒絕拒絕/級(jí)連刪除級(jí)連刪除/設(shè)置為設(shè)置為空值空值修改主碼值修改主碼值 可能破壞參照完整性可能破壞參照完整性拒絕拒絕/級(jí)連修改級(jí)連修改/設(shè)置為設(shè)置為空值空值A(chǔ)n Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和
20、違約處理(續(xù)續(xù))v參照完整性違約處理參照完整性違約處理(1) 拒絕拒絕(NO ACTION)執(zhí)行執(zhí)行l(wèi)不允許該操作執(zhí)行。該策略一般設(shè)置為默認(rèn)策略不允許該操作執(zhí)行。該策略一般設(shè)置為默認(rèn)策略(2) 級(jí)聯(lián)級(jí)聯(lián)(CASCADE)操作操作l當(dāng)刪除或修改被參照表當(dāng)刪除或修改被參照表(Student)的一個(gè)元組造成了的一個(gè)元組造成了與參照表與參照表(SC)的不一致,則刪除或修改參照表中的所的不一致,則刪除或修改參照表中的所有造成不一致的元組有造成不一致的元組(3)設(shè)置為空值()設(shè)置為空值(SET-NULL)l當(dāng)刪除或修改被參照表的一個(gè)元組時(shí)造成了不一致,則當(dāng)刪除或修改被參照表的一個(gè)元組時(shí)造成了不一致,則將參
21、照表中的所有造成不一致的元組的對(duì)應(yīng)屬性設(shè)置為將參照表中的所有造成不一致的元組的對(duì)應(yīng)屬性設(shè)置為空值??罩怠n Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和違約處理(續(xù)續(xù))例如,有下面例如,有下面2個(gè)關(guān)系個(gè)關(guān)系 學(xué)生(學(xué)生(學(xué)號(hào)學(xué)號(hào),姓名,性別,專(zhuān)業(yè)號(hào),年齡),姓名,性別,專(zhuān)業(yè)號(hào),年齡) 專(zhuān)業(yè)(專(zhuān)業(yè)(專(zhuān)業(yè)號(hào)專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名),專(zhuān)業(yè)名)l假設(shè)專(zhuān)業(yè)表中某個(gè)元組被刪除,專(zhuān)業(yè)號(hào)為假設(shè)專(zhuān)業(yè)表中某個(gè)元組被刪除,專(zhuān)業(yè)號(hào)為12l按照設(shè)置為空值的策略,就要把學(xué)生表中專(zhuān)業(yè)號(hào)按照設(shè)置為空值的策略,就要把學(xué)生表中專(zhuān)業(yè)號(hào)=12的所有的所有元組的專(zhuān)業(yè)號(hào)設(shè)置為空值元組的
22、專(zhuān)業(yè)號(hào)設(shè)置為空值l對(duì)應(yīng)語(yǔ)義:某個(gè)專(zhuān)業(yè)刪除了,該專(zhuān)業(yè)的所有學(xué)生專(zhuān)業(yè)未定,對(duì)應(yīng)語(yǔ)義:某個(gè)專(zhuān)業(yè)刪除了,該專(zhuān)業(yè)的所有學(xué)生專(zhuān)業(yè)未定,等待重新分配專(zhuān)業(yè)等待重新分配專(zhuān)業(yè) 外碼外碼An Introduction to Database System參照完整性檢查和違約處理參照完整性檢查和違約處理(續(xù)續(xù))n對(duì)于參照完整性,除了應(yīng)該定義外碼,還應(yīng)定義對(duì)于參照完整性,除了應(yīng)該定義外碼,還應(yīng)定義外碼列外碼列是否允許空值是否允許空值 n參見(jiàn)愛(ài)課程網(wǎng)數(shù)據(jù)庫(kù)系統(tǒng)概論參見(jiàn)愛(ài)課程網(wǎng)數(shù)據(jù)庫(kù)系統(tǒng)概論5.2節(jié)節(jié)動(dòng)畫(huà)動(dòng)畫(huà)參照完整性參照完整性An Introduction to Database System參照完整性檢查和違約處理參照
23、完整性檢查和違約處理(續(xù)續(xù))例例5.4 顯式說(shuō)明參照完整性的違約處理示例顯式說(shuō)明參照完整性的違約處理示例 CREATE TABLE SC ( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE /*級(jí)聯(lián)刪除級(jí)聯(lián)刪除SC表中相應(yīng)的元組表中相應(yīng)的元組*/ ON UPDATE CASCADE, /*級(jí)聯(lián)更新級(jí)聯(lián)更新SC表中相應(yīng)的元組表中相應(yīng)的元組*/ FOREIGN KE
24、Y (Cno) REFERENCES Course(Cno) ON DELETE NO ACTION /*當(dāng)刪除當(dāng)刪除course 表中的元組造成了與表中的元組造成了與SC表不一致時(shí)表不一致時(shí)拒絕刪除拒絕刪除*/ ON UPDATE CASCADE /*當(dāng)更新當(dāng)更新course表中的表中的cno時(shí),時(shí),級(jí)聯(lián)更新級(jí)聯(lián)更新SC表中相應(yīng)的元組表中相應(yīng)的元組*/ );An Introduction to Database System第五章第五章 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性5.1 實(shí)體完整性實(shí)體完整性5.2 參照完整性參照完整性5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.4 完整性約束命名字句完整性約束
25、命名字句*5.5 域中的完整性限制域中的完整性限制5.6 斷言斷言5.7 觸發(fā)器觸發(fā)器5.8 小結(jié)小結(jié)An Introduction to Database System5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性v用戶(hù)定義的完整性是:針對(duì)用戶(hù)定義的完整性是:針對(duì)某一具體應(yīng)用某一具體應(yīng)用的數(shù)據(jù)的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求必須滿(mǎn)足的語(yǔ)義要求 v關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)提供了定義和檢驗(yàn)用戶(hù)定義關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)提供了定義和檢驗(yàn)用戶(hù)定義完整性的機(jī)制,不必由應(yīng)用程序承擔(dān)完整性的機(jī)制,不必由應(yīng)用程序承擔(dān)An Introduction to Database System5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.3.
26、1 屬性上的約束條件屬性上的約束條件5.3.2 元組上的約束條件元組上的約束條件 An Introduction to Database System1. 屬性上約束條件的定義屬性上約束條件的定義vCREATE TABLE時(shí)時(shí)定義屬性上的約束條件定義屬性上的約束條件n列值非空(列值非空(NOT NULL)n列值唯一(列值唯一(UNIQUE)n檢查列值是否滿(mǎn)足一個(gè)條件表達(dá)式(檢查列值是否滿(mǎn)足一個(gè)條件表達(dá)式(CHECK)An Introduction to Database System屬性上約束條件的定義屬性上約束條件的定義(續(xù)續(xù))(1)不允許取空值不允許取空值 例例5.5 在定義在定義SC表時(shí)
27、,說(shuō)明表時(shí),說(shuō)明Sno、Cno、Grade屬性不允屬性不允許取空值。許取空值。 CREATE TABLE SC ( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT NOT NULL, PRIMARY KEY (Sno, Cno), /* 如果在表級(jí)定義實(shí)體完整性,隱含了如果在表級(jí)定義實(shí)體完整性,隱含了Sno,Cno不允許取空值,則在不允許取空值,則在 列級(jí)不允許取空值的定義列級(jí)不允許取空值的定義 可以不寫(xiě)可以不寫(xiě) * / ); An Introduction to Database System屬性上約束條件的定義屬性上約束
28、條件的定義(續(xù)續(xù))(2)列值唯一列值唯一 例例5.6建立部門(mén)表建立部門(mén)表DEPT,要求部門(mén)名稱(chēng),要求部門(mén)名稱(chēng)Dname列取值唯列取值唯一,部門(mén)編號(hào)一,部門(mén)編號(hào)Deptno列為主碼列為主碼 CREATE TABLE DEPT ( Deptno NUMERIC(2), Dname CHAR(9) UNIQUE NOT NULL, /*要求要求Dname列值唯一列值唯一, 并且不能取空值并且不能取空值*/ Location CHAR(10), PRIMARY KEY (Deptno) );An Introduction to Database System屬性上約束條件的定義屬性上約束條件的定義(續(xù)
29、續(xù))(3)用用CHECK短語(yǔ)指定列值應(yīng)該滿(mǎn)足的條件短語(yǔ)指定列值應(yīng)該滿(mǎn)足的條件 例例5.7 Student表的表的Ssex只允許取只允許取“男男”或或“女女”。 CREATE TABLE Student ( Sno CHAR(9) PRIMARY KEY, Sname CHAR(8) NOT NULL, Ssex CHAR(2) CHECK (Ssex IN (男男,女女), /*性別屬性性別屬性Ssex只允許取只允許取男男或或女女 */ Sage SMALLINT, Sdept CHAR(20) );An Introduction to Database System屬性上約束條件的定義屬性上
30、約束條件的定義(續(xù)續(xù))例例5.8 SC表的表的Grade的值應(yīng)該在的值應(yīng)該在0和和100之間。之間。 CREATE TABLE SC ( Sno CHAR(9) , Cno CHAR(4),Grade SMALLINT CHECK (Grade=0 AND Grade =100), /*Grade取值范圍是取值范圍是0到到100*/ PRIMARY KEY (Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno) );An Introduction to Data
31、base Systemv屬性上的約束條件檢查和違約處理屬性上的約束條件檢查和違約處理n插入元組或修改屬性的值時(shí),關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)檢插入元組或修改屬性的值時(shí),關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)檢查屬性上的約束條件是否被滿(mǎn)足查屬性上的約束條件是否被滿(mǎn)足n如果不滿(mǎn)足則操作被拒絕執(zhí)行如果不滿(mǎn)足則操作被拒絕執(zhí)行 2. 屬性上的約束條件檢查和違約處理屬性上的約束條件檢查和違約處理An Introduction to Database System5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.3.1 屬性上的約束條件屬性上的約束條件5.3.2 元組上的約束條件元組上的約束條件An Introduction to Datab
32、ase System1. 元組上約束條件的定義元組上約束條件的定義v在在CREATE TABLE時(shí)可以用時(shí)可以用CHECK短語(yǔ)定義元短語(yǔ)定義元組上的約束條件,即組上的約束條件,即元組級(jí)的限制元組級(jí)的限制v同屬性值限制相比,元組級(jí)的限制可以設(shè)置不同同屬性值限制相比,元組級(jí)的限制可以設(shè)置不同屬性之間的取值的相互約束條件屬性之間的取值的相互約束條件 An Introduction to Database System元組上約束條件的定義元組上約束條件的定義(續(xù)續(xù))例例5.9當(dāng)學(xué)生的性別是男時(shí),其名字不能以當(dāng)學(xué)生的性別是男時(shí),其名字不能以Ms.打頭。打頭。 CREATE TABLE Student (
33、 Sno CHAR(9), Sname CHAR(8) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno), CHECK (Ssex=女女 OR Sname NOT LIKE Ms.%) /*定義了元組中定義了元組中Sname和和 Ssex兩個(gè)屬性值之間的約束條件兩個(gè)屬性值之間的約束條件*/ ); 性別是女性的元組都能通過(guò)該項(xiàng)檢查,因?yàn)樾詣e是女性的元組都能通過(guò)該項(xiàng)檢查,因?yàn)镾sex=女女成立成立; 當(dāng)性別是男性時(shí),要通過(guò)檢查則名字一定不能以當(dāng)性別是男性時(shí),要通過(guò)檢查則名字一定不能以Ms.打頭打頭An
34、Introduction to Database Systemv元組上的約束條件檢查和違約處理元組上的約束條件檢查和違約處理n插入元組或修改屬性的值時(shí),關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)檢插入元組或修改屬性的值時(shí),關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)檢查元組上的約束條件是否被滿(mǎn)足查元組上的約束條件是否被滿(mǎn)足n如果不滿(mǎn)足則操作被拒絕執(zhí)行如果不滿(mǎn)足則操作被拒絕執(zhí)行 2. 元組上約束條件檢查和違約處理元組上約束條件檢查和違約處理An Introduction to Database System第五章第五章 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性5.1 實(shí)體完整性實(shí)體完整性5.2 參照完整性參照完整性5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.4
35、 完整性約束命名子句完整性約束命名子句*5.5 域中的完整性限制域中的完整性限制5.6 斷言斷言5.7 觸發(fā)器觸發(fā)器5.8 小結(jié)小結(jié)An Introduction to Database System5.4 完整性約束命名子句完整性約束命名子句1.完整性約束命名子句完整性約束命名子句CONSTRAINT n包括包括NOT NULL、UNIQUE、PRIMARY KEY短語(yǔ)、短語(yǔ)、FOREIGN KEY短語(yǔ)、短語(yǔ)、CHECK短語(yǔ)等短語(yǔ)等An Introduction to Database System完整性約束命名子句完整性約束命名子句(續(xù)續(xù))例例5.10建立學(xué)生登記表建立學(xué)生登記表Stude
36、nt,要求學(xué)號(hào)在,要求學(xué)號(hào)在9000099999之間,之間,姓名不能取空值,年齡小于姓名不能取空值,年齡小于30,性別只能是,性別只能是“男男”或或“女女”。 CREATE TABLE Student ( Sno NUMERIC(6) CONSTRAINT C1 CHECK (Sno BETWEEN 90000 AND 99999), Sname CHAR(20) CONSTRAINT C2 NOT NULL, Sage NUMERIC(3) CONSTRAINT C3 CHECK (Sage = 3000) );An Introduction to Database System完整性約束命
37、名子句完整性約束命名子句(續(xù)續(xù))2. 修改表中的完整性限制修改表中的完整性限制n使用使用ALTER TABLE語(yǔ)句修改表中的完整性限制語(yǔ)句修改表中的完整性限制例例5.12去掉例去掉例5.10 Student表中對(duì)性別的限制。表中對(duì)性別的限制。 ALTER TABLE Student DROP CONSTRAINT C4;An Introduction to Database System完整性約束命名子句完整性約束命名子句(續(xù)續(xù)) 例例5.13 修改表修改表Student中的約束條件,要求學(xué)號(hào)改為在中的約束條件,要求學(xué)號(hào)改為在900000999999之間,年齡由小于之間,年齡由小于30改為小于
38、改為小于40n可以先刪除原來(lái)的約束條件,再增加新的約束條件可以先刪除原來(lái)的約束條件,再增加新的約束條件 ALTER TABLE Student DROP CONSTRAINT C1; ALTER TABLE Student ADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999), ALTER TABLE Student DROP CONSTRAINT C3; ALTER TABLE Student ADD CONSTRAINT C3 CHECK(Sage 40);An Introduction to Database System第五章第
39、五章 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性5.1 實(shí)體完整性實(shí)體完整性5.2 參照完整性參照完整性5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.4 完整性約束命名字句完整性約束命名字句*5.5 域中的完整性限制域中的完整性限制5.6 斷言斷言5.7 觸發(fā)器觸發(fā)器5.8 小結(jié)小結(jié)An Introduction to Database System斷言斷言vSQL中,可以使用中,可以使用 CREATE ASSERTION語(yǔ)句,語(yǔ)句,通過(guò)聲明性斷言來(lái)指定更具一般性的約束。通過(guò)聲明性斷言來(lái)指定更具一般性的約束。v可以定義涉及多個(gè)表的或聚集操作的比較復(fù)雜的可以定義涉及多個(gè)表的或聚集操作的比較復(fù)雜的完整性約束。完整性約
40、束。v斷言創(chuàng)建以后,任何對(duì)斷言中所涉及的關(guān)系的操斷言創(chuàng)建以后,任何對(duì)斷言中所涉及的關(guān)系的操作都會(huì)觸發(fā)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)斷言的檢查,作都會(huì)觸發(fā)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)斷言的檢查,任何使斷言不為真值的操作都會(huì)被拒絕執(zhí)行任何使斷言不為真值的操作都會(huì)被拒絕執(zhí)行An Introduction to Database System斷言斷言(續(xù)續(xù))1. 創(chuàng)建斷言的語(yǔ)句格式創(chuàng)建斷言的語(yǔ)句格式nCREATE ASSERTIONn每個(gè)斷言每個(gè)斷言都被賦都被賦予一個(gè)名字,予一個(gè)名字,中的約束中的約束條件與條件與WHERE子句的條件表達(dá)式類(lèi)似。子句的條件表達(dá)式類(lèi)似。例例5.18 限制數(shù)據(jù)庫(kù)課程最多限制數(shù)據(jù)庫(kù)課程最多60
41、名學(xué)生選修名學(xué)生選修CREATE ASSERTION ASSE_SC_DB_NUMCHECK (60 = (select count(*) /*此斷言的謂詞涉及聚集操作此斷言的謂詞涉及聚集操作count的的SQL語(yǔ)句語(yǔ)句*/ From Course,SC Where SC.Cno=Course.Cno and Course.Cname =數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)) );An Introduction to Database System例例5.19限制每一門(mén)課程最多限制每一門(mén)課程最多60名學(xué)生選修名學(xué)生選修CREATE ASSERTION ASSE_SC_CNUM1CHECK(60 = ALL (SELE
42、CT count(*) FROM SC GROUP by cno) ); /*此斷言的謂詞,涉及聚集操作此斷言的謂詞,涉及聚集操作count 和分組函數(shù)和分組函數(shù)group by的的SQL語(yǔ)句語(yǔ)句*/斷言斷言(續(xù)續(xù))An Introduction to Database System例例5.20限制每個(gè)學(xué)期每一門(mén)課程最多限制每個(gè)學(xué)期每一門(mén)課程最多60名學(xué)生選修名學(xué)生選修 首先需要修改首先需要修改SC表的模式,增加一個(gè)表的模式,增加一個(gè)“學(xué)期(學(xué)期(TERM)”屬性屬性 ALTER TABLE SC ADD TERM DATE; 然后,定義斷言:然后,定義斷言: CREATE ASSERTION
43、 ASSE_SC_CNUM2 CHECK(60 = ALL (SELECT count(*) FROM SC GROUP by cno,TERM) );斷言斷言(續(xù)續(xù))An Introduction to Database System2. 刪除斷言的語(yǔ)句格式為刪除斷言的語(yǔ)句格式為nDROP ASSERTION ;n如果斷言很復(fù)雜,則系統(tǒng)在檢測(cè)和維護(hù)斷言的開(kāi)銷(xiāo)較如果斷言很復(fù)雜,則系統(tǒng)在檢測(cè)和維護(hù)斷言的開(kāi)銷(xiāo)較高,這是在使用斷言時(shí)應(yīng)該注意的高,這是在使用斷言時(shí)應(yīng)該注意的斷言斷言(續(xù)續(xù))An Introduction to Database System第五章第五章 數(shù)據(jù)庫(kù)完整性數(shù)據(jù)庫(kù)完整性5.1
44、實(shí)體完整性實(shí)體完整性5.2 參照完整性參照完整性5.3 用戶(hù)定義的完整性用戶(hù)定義的完整性5.4 完整性約束命名字句完整性約束命名字句*5.5 域中的完整性限制域中的完整性限制5.6 斷言斷言5.7 觸發(fā)器觸發(fā)器5.8 小結(jié)小結(jié)An Introduction to Database System觸發(fā)器觸發(fā)器v觸發(fā)器(觸發(fā)器(Trigger)是用戶(hù)定義在關(guān)系表上的一類(lèi))是用戶(hù)定義在關(guān)系表上的一類(lèi)由由事件驅(qū)動(dòng)事件驅(qū)動(dòng)的特殊過(guò)程的特殊過(guò)程n 觸發(fā)器保存在數(shù)據(jù)庫(kù)服務(wù)器中觸發(fā)器保存在數(shù)據(jù)庫(kù)服務(wù)器中n任何用戶(hù)對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活任何用戶(hù)對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應(yīng)的觸發(fā)器相應(yīng)
45、的觸發(fā)器n觸發(fā)器可以實(shí)施更為復(fù)雜的檢查和操作,具有更精細(xì)觸發(fā)器可以實(shí)施更為復(fù)雜的檢查和操作,具有更精細(xì)和更強(qiáng)大的數(shù)據(jù)控制能力和更強(qiáng)大的數(shù)據(jù)控制能力 An Introduction to Database System5.7 觸發(fā)器觸發(fā)器5.7.1 定義觸發(fā)器定義觸發(fā)器 5.7.2 激活觸發(fā)器激活觸發(fā)器 5.7.3 刪除觸發(fā)器刪除觸發(fā)器 An Introduction to Database System5.7.1 定義觸發(fā)器定義觸發(fā)器v CREATE TRIGGER語(yǔ)法格式語(yǔ)法格式 CREATE TRIGGER BEFORE | AFTER ON REFERENCING NEW|OLD ROW
46、 AS FOR EACH ROW | STATEMENT WHEN 觸發(fā)器又叫做事件觸發(fā)器又叫做事件-條件條件-動(dòng)作(動(dòng)作(event-condition-action)規(guī)則。)規(guī)則。當(dāng)特定的系統(tǒng)事件發(fā)生時(shí),對(duì)規(guī)則的條件進(jìn)行檢查,如果條件成立則執(zhí)當(dāng)特定的系統(tǒng)事件發(fā)生時(shí),對(duì)規(guī)則的條件進(jìn)行檢查,如果條件成立則執(zhí)行規(guī)則中的動(dòng)作,否則不執(zhí)行該動(dòng)作。規(guī)則中的動(dòng)作體可以很復(fù)雜,通行規(guī)則中的動(dòng)作,否則不執(zhí)行該動(dòng)作。規(guī)則中的動(dòng)作體可以很復(fù)雜,通常是一段常是一段SQL存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程。An Introduction to Database System定義觸發(fā)器定義觸發(fā)器(續(xù)續(xù))v定義觸發(fā)器的語(yǔ)法說(shuō)明定義觸發(fā)
47、器的語(yǔ)法說(shuō)明(1)表的)表的擁有者擁有者才可以在表上創(chuàng)建觸發(fā)器才可以在表上創(chuàng)建觸發(fā)器(2)觸發(fā)器名)觸發(fā)器名l觸發(fā)器名可以包含模式名,也可以不包含模式名觸發(fā)器名可以包含模式名,也可以不包含模式名l同一模式下,觸發(fā)器名必須是唯一的同一模式下,觸發(fā)器名必須是唯一的l觸發(fā)器名和表名必須在同一模式下觸發(fā)器名和表名必須在同一模式下(3)表名)表名l觸發(fā)器只能定義在基本表上,不能定義在視圖上觸發(fā)器只能定義在基本表上,不能定義在視圖上l當(dāng)基本表的數(shù)據(jù)發(fā)生變化時(shí),將激活定義在該表上相應(yīng)觸當(dāng)基本表的數(shù)據(jù)發(fā)生變化時(shí),將激活定義在該表上相應(yīng)觸 發(fā)事件的觸發(fā)器發(fā)事件的觸發(fā)器An Introduction to Dat
48、abase System定義觸發(fā)器定義觸發(fā)器(續(xù)續(xù))(4)觸發(fā)事件)觸發(fā)事件l觸發(fā)事件可以是觸發(fā)事件可以是INSERT、DELETE或或UPDATE 也可以是這幾個(gè)事件的組合也可以是這幾個(gè)事件的組合l還可以還可以UPDATE OF,即進(jìn)一步指明修改哪,即進(jìn)一步指明修改哪些列時(shí)激活觸發(fā)器些列時(shí)激活觸發(fā)器lAFTER/BEFORE是觸發(fā)的時(shí)機(jī)是觸發(fā)的時(shí)機(jī)AFTER表示在觸發(fā)事件的操作執(zhí)行之后激活觸發(fā)器表示在觸發(fā)事件的操作執(zhí)行之后激活觸發(fā)器BEFORE表示在觸發(fā)事件的操作執(zhí)行之前激活觸發(fā)器表示在觸發(fā)事件的操作執(zhí)行之前激活觸發(fā)器An Introduction to Database System定義觸
49、發(fā)器定義觸發(fā)器(續(xù)續(xù))(5)觸發(fā)器類(lèi)型)觸發(fā)器類(lèi)型行級(jí)觸發(fā)器(行級(jí)觸發(fā)器(FOR EACH ROW)語(yǔ)句級(jí)觸發(fā)器(語(yǔ)句級(jí)觸發(fā)器(FOR EACH STATEMENT) 例如例如,在例在例5.11的的TEACHER表上創(chuàng)建一個(gè)表上創(chuàng)建一個(gè)AFTER UPDATE觸發(fā)器,觸觸發(fā)器,觸發(fā)事件是發(fā)事件是UPDATE語(yǔ)句:語(yǔ)句: UPDATE TEACHER SET Deptno=5; 假設(shè)表假設(shè)表TEACHER有有1000行行 l 如果是語(yǔ)句級(jí)觸發(fā)器,那么執(zhí)行完該語(yǔ)句后,觸發(fā)動(dòng)作只發(fā)生一次如果是語(yǔ)句級(jí)觸發(fā)器,那么執(zhí)行完該語(yǔ)句后,觸發(fā)動(dòng)作只發(fā)生一次l如果是如果是行級(jí)行級(jí)觸發(fā)器,觸發(fā)動(dòng)作將執(zhí)行觸發(fā)器,觸發(fā)
50、動(dòng)作將執(zhí)行1000次次An Introduction to Database System定義觸發(fā)器定義觸發(fā)器(續(xù)續(xù))(6)觸發(fā)條件)觸發(fā)條件l觸發(fā)器被激活時(shí),只有當(dāng)觸發(fā)條件為真時(shí)觸發(fā)動(dòng)作體才執(zhí)行觸發(fā)器被激活時(shí),只有當(dāng)觸發(fā)條件為真時(shí)觸發(fā)動(dòng)作體才執(zhí)行;否則觸發(fā)動(dòng)作體不執(zhí)行。否則觸發(fā)動(dòng)作體不執(zhí)行。l如果省略如果省略WHEN觸發(fā)條件,則觸發(fā)動(dòng)作體在觸發(fā)器激活后觸發(fā)條件,則觸發(fā)動(dòng)作體在觸發(fā)器激活后立即執(zhí)行立即執(zhí)行An Introduction to Database System定義觸發(fā)器定義觸發(fā)器(續(xù)續(xù))(7)觸發(fā)動(dòng)作體)觸發(fā)動(dòng)作體l觸發(fā)動(dòng)作體可以是一個(gè)匿名觸發(fā)動(dòng)作體可以是一個(gè)匿名PL/SQL過(guò)程塊
51、過(guò)程塊 也可以是對(duì)已創(chuàng)建存儲(chǔ)過(guò)程的調(diào)用也可以是對(duì)已創(chuàng)建存儲(chǔ)過(guò)程的調(diào)用l如果是行級(jí)觸發(fā)器,用戶(hù)都可以在過(guò)程體中使用如果是行級(jí)觸發(fā)器,用戶(hù)都可以在過(guò)程體中使用NEW和和OLD引用事件之后的新值和事件之前的舊值引用事件之后的新值和事件之前的舊值l如果是語(yǔ)句級(jí)觸發(fā)器,則不能在觸發(fā)動(dòng)作體中使用如果是語(yǔ)句級(jí)觸發(fā)器,則不能在觸發(fā)動(dòng)作體中使用NEW或或OLD進(jìn)行引用進(jìn)行引用l如果觸發(fā)動(dòng)作體執(zhí)行失敗,激活觸發(fā)器的事件就會(huì)終止執(zhí)行如果觸發(fā)動(dòng)作體執(zhí)行失敗,激活觸發(fā)器的事件就會(huì)終止執(zhí)行,觸發(fā)器的目標(biāo)表或觸發(fā)器可能影響的其他對(duì)象不發(fā)生任何,觸發(fā)器的目標(biāo)表或觸發(fā)器可能影響的其他對(duì)象不發(fā)生任何變化變化 注意:不同的RDBM
52、S產(chǎn)品觸發(fā)器語(yǔ)法各部相同An Introduction to Database System定義觸發(fā)器定義觸發(fā)器(續(xù)續(xù))例例5.21當(dāng)對(duì)表當(dāng)對(duì)表SC的的Grade屬性進(jìn)行修改時(shí),若分?jǐn)?shù)增加了屬性進(jìn)行修改時(shí),若分?jǐn)?shù)增加了10%則將此次操作記錄到下面表中:則將此次操作記錄到下面表中: SC_U(Sno,Cno,Oldgrade,Newgrade) 其中其中Oldgrade是修改前的分?jǐn)?shù),是修改前的分?jǐn)?shù),Newgrade是修改后的分?jǐn)?shù)。是修改后的分?jǐn)?shù)。CREATE TRIGGER SC_TAFTER UPDATE OF Grade ON SC REFERENCING OLD row AS OldTuple, NEW row AS NewTupleFOR EACH ROW WHEN (NewTuple.Grade = 1.1*OldTuple.Grade) INSERT INTO SC_U(Sno,Cno,OldGrade,NewGrade) VALUES(OldTuple.Sno,OldTuple.Cno,OldTuple.Grade,NewTuple.Grade)An Introduction to Database
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIQA 39-2022檢驗(yàn)檢測(cè)機(jī)構(gòu)網(wǎng)絡(luò)安全工作指南
- T/CHES 76-2022水利工程白蟻燈光誘殺技術(shù)導(dǎo)則
- T/CHCA 019-2023盾構(gòu)渣土處理技術(shù)指南
- T/CGS 002-2021電性源短偏移距瞬變電磁法勘探技術(shù)規(guī)程
- T/CGCC 38-2019焙烤食品網(wǎng)絡(luò)銷(xiāo)售及經(jīng)營(yíng)規(guī)范
- T/CECS 10291-2023硅墨烯不燃保溫板
- T/CECS 10049-2019綠色建材評(píng)價(jià)石膏裝飾材料
- T/CCT 014-2024氣流床干煤粉氣化用煤
- T/CBJ 6101-2024紹興東路酒生產(chǎn)技術(shù)規(guī)范
- T/CATCM 020-2023龜甲膠質(zhì)量規(guī)范
- DB61T1755-2023放心消費(fèi)示范創(chuàng)建認(rèn)定與管理規(guī)范
- 企業(yè)借款申請(qǐng)書(shū)
- 乙醇管施工方案
- 項(xiàng)目七 信息素養(yǎng)與社會(huì)責(zé)任
- 電氣施工安全技術(shù)交底記錄范本
- 說(shuō)課稿【全國(guó)一等獎(jiǎng)】
- 急性扁桃體炎臨床診療指南
- 第七講 社會(huì)主義現(xiàn)代化建設(shè)的教育科技人才戰(zhàn)略PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 室間質(zhì)評(píng)記錄表
- SG-T048-結(jié)構(gòu)吊裝施工記錄
- (部編)五年級(jí)語(yǔ)文下冊(cè)選擇題練習(xí)(1-8單元)
評(píng)論
0/150
提交評(píng)論