2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第九章數(shù)據(jù)庫(kù)的安全性和完整性,,計(jì)算機(jī)系統(tǒng)的安全性,計(jì)算機(jī)系統(tǒng)的安全性是指為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件、軟件和數(shù)據(jù),防止其因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄漏等。,計(jì)算機(jī)系統(tǒng)安全問(wèn)題的分類(lèi),技術(shù)安全類(lèi)技術(shù)安全是指計(jì)算機(jī)系統(tǒng)中采用具有一定安全性的硬件、軟件來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)及其所存數(shù)據(jù)的安全保護(hù),當(dāng)計(jì)算機(jī)受到有意的或無(wú)意的攻擊時(shí)仍能保證系統(tǒng)的正常運(yùn)行,保證系統(tǒng)內(nèi)的數(shù)據(jù)不增加、不丟

2、失、不泄露。管理安全類(lèi)技術(shù)安全之外的,諸如軟硬件意外故障、場(chǎng)地的意外事故、管理不善導(dǎo)致的計(jì)算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞、丟失等安全問(wèn)題視為管理安全。政策法律類(lèi)指政府部門(mén)建立的有關(guān)計(jì)算機(jī)犯罪、數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī)、法令。,可信計(jì)算機(jī)評(píng)測(cè)標(biāo)準(zhǔn),1985年,美國(guó)國(guó)防部制定了可信計(jì)算機(jī)評(píng)估標(biāo)準(zhǔn)TCSEC(Trusted Computer System Evaluation Criteria)。1991年4月,美國(guó)國(guó)家計(jì)算

3、機(jī)安全中心NCSC發(fā)布《可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的解釋TDI(Trusted Database Interpretation),將TCSEC擴(kuò)展到數(shù)據(jù)庫(kù)管理系統(tǒng)。它們從安全策略、責(zé)任、保證、文檔四個(gè)方面描述了安全級(jí)別劃分的指標(biāo)。,可信計(jì)算機(jī)評(píng)測(cè)標(biāo)準(zhǔn)(續(xù)I),,對(duì)數(shù)據(jù)庫(kù)的安全威脅,原則上,凡是造成對(duì)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)數(shù)據(jù)的非授權(quán)訪問(wèn)–讀取,或非授權(quán)的寫(xiě)入–增加、刪除、修改等,都屬于對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)安全造成了威脅或破壞。另一方面,凡是影

4、響授權(quán)用戶(hù)以正常方式使用數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)服務(wù)的,也稱(chēng)之為造成侵犯,對(duì)數(shù)據(jù)庫(kù)的安全形成了威脅或破壞。,對(duì)數(shù)據(jù)庫(kù)的安全威脅的分類(lèi),偶然地、無(wú)意地接觸或修改DBMS管理下的數(shù)據(jù)自然的或意外的事故硬件或軟件的故障/錯(cuò)誤導(dǎo)致數(shù)據(jù)丟失人為的失誤,如錯(cuò)誤的輸入和應(yīng)用系統(tǒng)的不正常使用。,對(duì)數(shù)據(jù)庫(kù)的安全威脅的分類(lèi)(I),蓄意的侵犯和敵意的攻擊授權(quán)用戶(hù)可能濫用其權(quán)力信息的非正常擴(kuò)散-泄密由授權(quán)讀取的數(shù)據(jù)推論出不應(yīng)訪問(wèn)的數(shù)據(jù)對(duì)信息的非正常修改

5、敵對(duì)方的攻擊,內(nèi)部的或外部的非授權(quán)用戶(hù)從不同渠道進(jìn)行攻擊。敵對(duì)方對(duì)軟件和硬件的蠻力破壞繞過(guò)DBMS直接對(duì)數(shù)據(jù)進(jìn)行讀寫(xiě)病毒、特洛伊木馬、天窗通過(guò)各種途徑干擾DBMS的正常工作狀態(tài),使之在正當(dāng)用戶(hù)提出數(shù)據(jù)請(qǐng)求時(shí),不能正常提供服務(wù)。,數(shù)據(jù)庫(kù)的安全性,數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改和破壞。它包括兩個(gè)方面的含義:向授權(quán)用戶(hù)提供可靠的信息服務(wù)。同時(shí),拒絕非授權(quán)的對(duì)數(shù)據(jù)的存取訪問(wèn)請(qǐng)求,保證數(shù)據(jù)庫(kù)管理下

6、的數(shù)據(jù)的可用性、完整性和一致性,進(jìn)而保護(hù)數(shù)據(jù)庫(kù)所有者和使用者的合法權(quán)益。,數(shù)據(jù)庫(kù)安全性控制,,數(shù)據(jù)庫(kù)安全性控制,數(shù)據(jù)庫(kù)安全控制涉及多個(gè)方面,它可分為內(nèi)部安全控制和外部安全控制。內(nèi)部安全控制由計(jì)算機(jī)系統(tǒng)的軟硬件實(shí)現(xiàn)。它必須與管理系統(tǒng)物理存取的適當(dāng)?shù)耐獠堪踩刂葡嗯浜?。外部安全控制解決內(nèi)部安全控制不能解決的問(wèn)題,外部安全控制,實(shí)體安全控制劃定安全區(qū)域,設(shè)置安全屏障和建立安全控制評(píng)估安全風(fēng)險(xiǎn),將涉密設(shè)備和材料放置在不同的安全區(qū)域人員

7、、組織安全控制建立安全管理機(jī)構(gòu)和相應(yīng)安全評(píng)估、管理制度明確組織間的訪問(wèn)安全關(guān)系明確組織內(nèi)的安全角色和責(zé)任建立人員聘用和考察制度,通過(guò)合同條款和保密協(xié)議,明確每個(gè)人的安全保密責(zé)任建立責(zé)任追究制度,外部安全控制,過(guò)程安全控制確定業(yè)務(wù)操作過(guò)程的安全需求制訂訪問(wèn)控制規(guī)則,并明確個(gè)人用戶(hù)(或組用戶(hù))的權(quán)限 建立訪問(wèn)管理制度,確定用戶(hù)、特權(quán)、密碼等的管理措施和操作過(guò)程規(guī)定明確用戶(hù)在密碼使用和設(shè)備安全等方面的責(zé)任 建立監(jiān)測(cè)和審查制

8、度建立安全事故管理制度,數(shù)據(jù)庫(kù)安全性控制,數(shù)據(jù)庫(kù)系統(tǒng)的安全保護(hù)是由多個(gè)層次的構(gòu)成的。本章只涉及由數(shù)據(jù)庫(kù)本身提供的安全機(jī)制。,用戶(hù)標(biāo)識(shí)與鑒別,用戶(hù)標(biāo)識(shí)和鑒別是系統(tǒng)提供的最外層安全保護(hù)措施。標(biāo)識(shí)是指系統(tǒng)采用一定的方式標(biāo)識(shí)其用戶(hù)或應(yīng)用程序的名字或身份。鑒別是指系統(tǒng)在用戶(hù)或應(yīng)用程序登錄時(shí)判斷其是否為合法的授權(quán)用戶(hù)。應(yīng)用系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、操作系統(tǒng)、DBMS都可以進(jìn)行用戶(hù)標(biāo)識(shí)和鑒別,通常的做法是采用用戶(hù)名和口令。,存取控制,存取控制確保合

9、法用戶(hù)按照指定的權(quán)限使用DBMS和訪問(wèn)數(shù)據(jù),而非法用戶(hù)或不具有相關(guān)權(quán)限的用戶(hù)則不能。存取控制機(jī)制主要包括兩個(gè)部分:定義用戶(hù)權(quán)限,并將用戶(hù)權(quán)限記錄到數(shù)據(jù)字典中,形成安全規(guī)則或授權(quán)規(guī)則。其中,用戶(hù)權(quán)限是指不同的用戶(hù)對(duì)于不同的數(shù)據(jù)對(duì)象允許執(zhí)行的操作權(quán)限。合法權(quán)限檢查,每當(dāng)用戶(hù)發(fā)出數(shù)據(jù)庫(kù)操作請(qǐng)求后,DBMS根據(jù)數(shù)據(jù)字典中的安全規(guī)則進(jìn)行合法權(quán)限檢查,決定是否接受用戶(hù)的操作請(qǐng)求。用戶(hù)權(quán)限定義和合法權(quán)限檢查機(jī)制一起組成了DBMS的安全子系統(tǒng)。

10、,DAC與MAC,存取控制可以分為:自主存取控制(discretionary access control,簡(jiǎn)稱(chēng)DAC)。用戶(hù)對(duì)于不同的數(shù)據(jù)對(duì)象擁有不同的存取權(quán)限,不同的用戶(hù)對(duì)同一對(duì)象也有不同的權(quán)限,而且用戶(hù)還可以將其擁有的權(quán)限轉(zhuǎn)授給其他用戶(hù)。強(qiáng)制存取控制(mandatory access control,簡(jiǎn)稱(chēng)MAC)。每一個(gè)數(shù)據(jù)對(duì)象被標(biāo)以一定的密級(jí),每一個(gè)用戶(hù)也被授予某一個(gè)級(jí)別的許可證。對(duì)于任一個(gè)對(duì)象,只有具有合法許可證的用戶(hù)才可

11、以存取。,自主存取控制方法,用戶(hù)權(quán)限由兩個(gè)要素組成,數(shù)據(jù)對(duì)象和操作類(lèi)型。定義一個(gè)用戶(hù)的存取權(quán)限就是要定義這個(gè)用戶(hù)可以在哪些數(shù)據(jù)對(duì)象上進(jìn)行哪些類(lèi)型的操作,在數(shù)據(jù)庫(kù)系統(tǒng)中稱(chēng)之為授權(quán)。,SQL的數(shù)據(jù)控制,當(dāng)數(shù)據(jù)庫(kù)管理員建立了一個(gè)新用戶(hù)之后,必須授予它一定的權(quán)限,該用戶(hù)才能使用數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)系統(tǒng)中可以授予用戶(hù)兩類(lèi)權(quán)限:用戶(hù)級(jí)權(quán)限 用戶(hù)級(jí)權(quán)限是數(shù)據(jù)庫(kù)管理員為每個(gè)用戶(hù)授予的特定權(quán)限。這種權(quán)限與整個(gè)數(shù)據(jù)庫(kù)相關(guān),與數(shù)據(jù)庫(kù)中具體的關(guān)系無(wú)關(guān)。這種權(quán)限是

12、對(duì)用戶(hù)使用整個(gè)數(shù)據(jù)庫(kù)的權(quán)限的限定。關(guān)系級(jí)權(quán)限 關(guān)系級(jí)權(quán)限是數(shù)據(jù)庫(kù)管理員或數(shù)據(jù)庫(kù)對(duì)象的擁有者為用戶(hù)授予的與關(guān)系或視圖有關(guān)的權(quán)限。這種權(quán)限是對(duì)用戶(hù)使用關(guān)系和視圖的權(quán)限的限定。,角色與用戶(hù)組,為了管理數(shù)據(jù)庫(kù)特權(quán)的方便,數(shù)據(jù)庫(kù)還支持角色和用戶(hù)組的概念。角色是一組權(quán)限的集合,可以把它授予用戶(hù)或其他角色。當(dāng)把某個(gè)角色授予用戶(hù)(或角色)或從用戶(hù)(或角色)處收回時(shí),就同時(shí)授予或收回了該角色代表的全部權(quán)限。用戶(hù)組是一組具有相同特性用戶(hù)的集合。在授權(quán)

13、或收回權(quán)限時(shí),可以以用戶(hù)組為單位進(jìn)行。,用戶(hù)級(jí)權(quán)限與角色的授予與收回,在SQL語(yǔ)言中,通過(guò)Grant語(yǔ)句為用戶(hù)授予用戶(hù)級(jí)權(quán)限或角色,其語(yǔ)法格式為:Grant | [{,|}] To ||public [{,|}] [With Grant Option]其中,public指數(shù)據(jù)庫(kù)中的全部用戶(hù)。With Grant Option則允許被授權(quán)的用戶(hù)將指定的用戶(hù)級(jí)權(quán)限或角色授予其他用戶(hù)。,用戶(hù)級(jí)權(quán)限與角色的授予與收回,為用戶(hù)

14、授予用戶(hù)級(jí)權(quán)限Grant Create Session to SCOTT;為用戶(hù)授予角色Grant Connect to SCOTT;將權(quán)限授予角色Grant Create table to Student_role;將角色授予角色Grant Resource to Student_role;將角色授予用戶(hù)組Grant Student_role to PUBLIC;,用戶(hù)級(jí)權(quán)限與角色的授予與收回,當(dāng)要取消一個(gè)用戶(hù)或角色

15、的權(quán)限時(shí),可以使用REVOKE語(yǔ)句將其收回:Revoke | [{,|}] From ||public [{,|}]例:取消用戶(hù)SCOTT的Create Table權(quán)限。Revoke Create Table From SCOTT;,關(guān)系級(jí)權(quán)限的授予與收回,每一個(gè)用戶(hù)都擁有自己定義的數(shù)據(jù)庫(kù)對(duì)象如(基本表、視圖等),除了他自己和擁有DBA權(quán)限的用戶(hù)以外,其他用戶(hù)都不能訪問(wèn)這些數(shù)據(jù)庫(kù)對(duì)象。如果想和其他用戶(hù)共享其中一部分?jǐn)?shù)據(jù)庫(kù)

16、對(duì)象,就必須將這些數(shù)據(jù)庫(kù)對(duì)象上的部分或全部權(quán)限授予其他用戶(hù)。其語(yǔ)法格式為:Grant ALL| [{,}] On | [{, | }] To { [{, }] | public} [With Grant Option],關(guān)系級(jí)權(quán)限的授予與收回,授予用戶(hù)Liming在Student表上的Select和Insert權(quán)限。 Grant Select , Update On Studen

17、t To Liming With Grant Option;Liming授予用戶(hù)SCOTT在Student表的Sno列上的Update權(quán)限。 Grant Update(Sno) On Student To SCOTT;將Student表上的全部權(quán)限授予全體用戶(hù)。 Grant ALL On Student To PUBLIC;,關(guān)系級(jí)權(quán)限的授予與收回,回收權(quán)限Revoke ALL| [{,}]

18、 On | [{, | }] From {[{,}]|PUBLIC}例:收回Liming對(duì)Student表的全部權(quán)限Revoke ALL On Student From Liming;收回權(quán)限時(shí),若該用戶(hù)已將權(quán)限授予其它用戶(hù),則也一并收回。,用戶(hù)權(quán)限定義表,,利用視圖實(shí)現(xiàn)安全控制,為不同的用戶(hù)定義不同的視圖,可以將用戶(hù)對(duì)數(shù)據(jù)的訪問(wèn)限制在一定的范圍內(nèi)。例:限制王平只能檢索Student表中計(jì)算機(jī)系學(xué)生的學(xué)號(hào)和姓名。Crea

19、te View CS_Student As Select Sno, Sname From Student Where Sdept = ‘CS’;Grant Select On CS_Student To Wangping;,強(qiáng)制存取方法,主體 是系統(tǒng)中的活動(dòng)實(shí)體,既包括DBMS所管理的實(shí)際用戶(hù),也包括代表用戶(hù)的各進(jìn)程??腕w 是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的,包括文件、基本表、索引、視圖等對(duì)于主體和客體

20、,DBMS為他們每個(gè)實(shí)例(值)指定一個(gè)敏感度標(biāo)記。敏感度表被分為若干級(jí)別,如絕密、機(jī)密、可信、公開(kāi)等。主體的敏感度標(biāo)記稱(chēng)為許可證級(jí)別,客體的敏感度標(biāo)記稱(chēng)為密級(jí)。,強(qiáng)制存取方法,當(dāng)某一主體以某一許可證級(jí)別注冊(cè)入系統(tǒng)時(shí),系統(tǒng)要求他對(duì)任何客體的存取必須遵循如下規(guī)則:僅當(dāng)主體的許可證級(jí)別大于或等于客體的密級(jí)時(shí),該主體才能讀取相應(yīng)的客體;僅當(dāng)主體的許可證級(jí)別等于客體的密級(jí)時(shí),該主體才能寫(xiě)相應(yīng)的客體;,審計(jì)和數(shù)據(jù)加密,審計(jì)功能把用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所

21、有操作都自動(dòng)記錄下來(lái)放入審計(jì)日志中。DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。數(shù)據(jù)加密 是防止數(shù)據(jù)庫(kù)中數(shù)據(jù)在存儲(chǔ)和傳輸中失密的有效手段。加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù)(明文)變換為不可識(shí)別的格式(密文),從而使得不知道解密算法的人無(wú)法獲知數(shù)據(jù)的內(nèi)容。,統(tǒng)計(jì)數(shù)據(jù)庫(kù)安全性,統(tǒng)計(jì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)分為兩類(lèi),一類(lèi)是微數(shù)據(jù)描述現(xiàn)實(shí)世界的實(shí)體、概念或事件的數(shù)據(jù);另一類(lèi)是統(tǒng)計(jì)或綜合數(shù)

22、據(jù),時(shí)對(duì)微數(shù)據(jù)進(jìn)行綜合處理而得到的結(jié)果數(shù)據(jù)。統(tǒng)計(jì)數(shù)據(jù)庫(kù)只為用戶(hù)提供統(tǒng)計(jì)數(shù)據(jù),不允許用戶(hù)訪問(wèn)微數(shù)據(jù)。但微數(shù)據(jù)有時(shí)可以通過(guò)一組統(tǒng)計(jì)數(shù)據(jù)推導(dǎo)出來(lái)。統(tǒng)計(jì)數(shù)據(jù)庫(kù)安全性的目的就是防止用戶(hù)訪問(wèn)或推導(dǎo)出統(tǒng)計(jì)數(shù)據(jù)庫(kù)的微數(shù)據(jù)。,統(tǒng)計(jì)數(shù)據(jù)庫(kù)安全性,例:關(guān)系PERSON(NAME, SSN, INCOME, ADDRESS, CITY, STATE, ZIP, SEX, LAST_DEGREE)為人口統(tǒng)計(jì)數(shù)據(jù)庫(kù)中的一個(gè)關(guān)系。假設(shè)已知王蘭獲博士學(xué)位,居住在黑

23、龍江省哈爾濱市,現(xiàn)要查詢(xún)其收入,首先執(zhí)行: SELECT COUNT(*) FROM PERSON WHERE LAST_DEGREE = ‘PH.D’ AND SEX = ‘F’ AND CITY = ‘哈爾濱’ AND STATE = ‘黑龍江’;,統(tǒng)計(jì)數(shù)據(jù)庫(kù)安全性,若返回結(jié)果為1,則在執(zhí)行以下查詢(xún):SELECT AVG(INCOME) FROM PERSON WHERE LAST_DEGREE = ‘PH.

24、D’ AND SEX = ‘F’ AND CITY = ‘哈爾濱’ AND STATE = ‘黑龍江’; 就可獲得王蘭的收入。,統(tǒng)計(jì)數(shù)據(jù)庫(kù)安全性,為防止用戶(hù)推導(dǎo)出統(tǒng)計(jì)數(shù)據(jù)庫(kù)的微數(shù)據(jù),可以采取以下方法:對(duì)統(tǒng)計(jì)結(jié)果的大小加以控制,將其限制在某一范圍之內(nèi)。這樣可以減小使用統(tǒng)計(jì)查詢(xún)推導(dǎo)微數(shù)據(jù)的可能性。禁止在相同元組集合上重復(fù)執(zhí)行一系列統(tǒng)計(jì)查詢(xún)。在統(tǒng)計(jì)查詢(xún)結(jié)果中加入噪聲,為推導(dǎo)微數(shù)據(jù)制造困難。,完整性,數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和

25、相容性。其中,正確性是指數(shù)據(jù)應(yīng)具有合法的類(lèi)型,如數(shù)值型的字段只能含有0~9,不能包含其它符號(hào);更進(jìn)一步,數(shù)據(jù)還應(yīng)在有效的取值范圍之內(nèi),如一年最多只有12個(gè)月,不能出現(xiàn)13個(gè)月。相容性是指表示同一個(gè)事實(shí)的兩個(gè)數(shù)據(jù)應(yīng)該相同,如一個(gè)人不應(yīng)當(dāng)存在兩個(gè)年齡。數(shù)據(jù)庫(kù)能否保持完整性關(guān)系到數(shù)據(jù)庫(kù)系統(tǒng)是否能夠真實(shí)的反映現(xiàn)實(shí)世界,因此維護(hù)數(shù)據(jù)庫(kù)的完整性十分重要。,完整性與安全性,數(shù)據(jù)庫(kù)的完整性與安全性是兩個(gè)不同的概念。前者是為了防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的

26、數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂的垃圾進(jìn)垃圾出所造成的無(wú)效操作和錯(cuò)誤結(jié)果。而后者是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法存取。也就是說(shuō),安全性防范的是非法用戶(hù)和非法操作,完整性措施的防范對(duì)象是不合語(yǔ)義的數(shù)據(jù)。,完整性約束條件,施加在數(shù)據(jù)庫(kù)數(shù)據(jù)之上的語(yǔ)義約束條件稱(chēng)為數(shù)據(jù)庫(kù)完整性約束條件。數(shù)據(jù)庫(kù)系統(tǒng)依據(jù)完整性約束條件進(jìn)行完整性檢查。完整性約束條件作用的對(duì)象可以是關(guān)系、元組、列三種。其中列約束主要是列的類(lèi)型、取值范圍、精度等約束條件。元組的約

27、束是元組中各個(gè)字段間聯(lián)系的約束。關(guān)系的約束是若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束。,完整性約束條件,涉及這三類(lèi)對(duì)象的完整性約束又可分為靜態(tài)約束和動(dòng)態(tài)約束。靜態(tài)約束是指數(shù)據(jù)庫(kù)每一確定狀態(tài)(在某一時(shí)刻數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)實(shí)例構(gòu)成了數(shù)據(jù)庫(kù)的一個(gè)狀態(tài))時(shí),數(shù)據(jù)對(duì)象所應(yīng)滿(mǎn)足的約束條件,它是反映數(shù)據(jù)庫(kù)狀態(tài)合理性的約束。動(dòng)態(tài)約束是指數(shù)據(jù)庫(kù)從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí),新、舊值之間所應(yīng)滿(mǎn)足的約束條件,它是反映數(shù)據(jù)庫(kù)狀態(tài)變遷的約束。,靜態(tài)約束

28、,固有約束指數(shù)據(jù)模型固有的約束,如關(guān)系的屬性應(yīng)當(dāng)是原子的。隱含約束指隱含于數(shù)據(jù)模式的約束,一般用DDL語(yǔ)句說(shuō)明,并存于數(shù)據(jù)字典中。如實(shí)體完整性約束。顯式約束指固有約束,隱含約束之外,依賴(lài)于數(shù)據(jù)的語(yǔ)義和應(yīng)用,需要顯式定義的完整性約束。,靜態(tài)約束,靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說(shuō)明,包括:對(duì)數(shù)據(jù)類(lèi)型的約束(包括數(shù)據(jù)的類(lèi)型、長(zhǎng)度、單位、精度等)對(duì)數(shù)據(jù)格式的約束對(duì)取值范圍或取值集合的約束對(duì)空值的約束其他約束,靜態(tài)約束,靜態(tài)

29、元組約束規(guī)定了組成一個(gè)元組的各個(gè)列之間的約束關(guān)系。靜態(tài)關(guān)系約束規(guī)定了一個(gè)關(guān)系的若干元組或者若干關(guān)系之間常常存在的各種聯(lián)系或約束。包括:實(shí)體完整性約束參照完整性約束函數(shù)依賴(lài)統(tǒng)計(jì)約束,動(dòng)態(tài)約束,動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿(mǎn)足的約束條件,包括:修改列定義時(shí)的約束修改列值時(shí)的約束動(dòng)態(tài)元組約束指修改元組值時(shí)元組中各個(gè)字段間需要滿(mǎn)足的約束。動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件。,數(shù)據(jù)庫(kù)的完整性控制機(jī)制,為保護(hù)數(shù)據(jù)

30、庫(kù)的完整性,防止錯(cuò)誤的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)提供了完整性控制機(jī)制。它包括三個(gè)方面的功能:定義功能,提供定義完整性約束條件的機(jī)制。檢查功能,檢查用戶(hù)發(fā)出的操作請(qǐng)求是否違背了完整性約束條件。違約響應(yīng),若違背了完整性約束條件,則采取一定措施來(lái)保證數(shù)據(jù)的完整性。,完整性檢查的時(shí)機(jī),立即執(zhí)行約束是指在執(zhí)行用戶(hù)事務(wù)的過(guò)程中,在一條語(yǔ)句執(zhí)行完后立即進(jìn)行完整性約束的檢查。若違背了完整性約束,系統(tǒng)將拒絕該操作。延遲執(zhí)行約束是指在整個(gè)用戶(hù)事務(wù)執(zhí)行完

31、畢后,再進(jìn)行完整性約束的檢查,若正確方允許提交事務(wù)。若違背了完整性約束,系統(tǒng)將拒絕整個(gè)事務(wù)。,完整性規(guī)則,一條完整性規(guī)則可以用一個(gè)五元組(D,O,A,C,P)來(lái)描述,其中:D(Data)約束所作用的數(shù)據(jù)對(duì)象O(Operation)觸發(fā)完整性檢查的數(shù)據(jù)庫(kù)操作,即當(dāng)用戶(hù)發(fā)出什么操作請(qǐng)求時(shí)需要檢查該完整性規(guī)則,是立即檢查還是延遲檢查。A(Assertion)數(shù)據(jù)對(duì)象必須滿(mǎn)足的斷言或語(yǔ)義約束。C(Condition)選擇A作用的數(shù)據(jù)對(duì)象

32、值的謂詞。P(Procedure)違反完整性規(guī)則時(shí)觸發(fā)的過(guò)程。,完整性規(guī)則,教授的工資不得低于1000元。D 約束作用的對(duì)象為工資Sal屬性O(shè) 插入或修改職工元組時(shí)A Sal不能小于1000C 職稱(chēng)=‘教授’P 拒絕執(zhí)行該操作,完整性約束的說(shuō)明,固有約束在DBMS實(shí)現(xiàn)時(shí)已經(jīng)考慮,不必特殊說(shuō)明。隱含約束的說(shuō)明可以通過(guò)DDL語(yǔ)句來(lái)定義實(shí)現(xiàn)。顯式完整性約束的說(shuō)明一般有過(guò)程說(shuō)明方式,斷言說(shuō)明方式,觸發(fā)器說(shuō)明方式等幾種。,顯式完整

33、性約束的說(shuō)明,用過(guò)程說(shuō)明約束把約束的說(shuō)明和檢驗(yàn)作為一個(gè)過(guò)程,由程序員編碼到每個(gè)更新數(shù)據(jù)庫(kù)的事務(wù)中。用以檢驗(yàn)數(shù)據(jù)庫(kù)更新是否違反了給定約束。使用這種方法,為程序員利用通用程序設(shè)計(jì)語(yǔ)言編制高效率完整性驗(yàn)證程序提供了有利條件。然而,這種方法也為程序員增加了負(fù)擔(dān)。程序員必須清楚他所編碼的事務(wù)所涉及的所有完整性約束,為每個(gè)約束編制一個(gè)驗(yàn)證過(guò)程。程序員的任何誤解、遺漏,疏忽都將導(dǎo)致數(shù)據(jù)庫(kù)不正確。同時(shí),一旦完整性約束發(fā)生變化,應(yīng)用程序就必須作相應(yīng)的修

34、改。,顯式完整性約束的說(shuō)明,用斷言說(shuō)明約束斷言指數(shù)據(jù)庫(kù)必須滿(mǎn)足的邏輯條件,數(shù)據(jù)庫(kù)完整性約束可以看成一系列斷言的集合。使用這種方法DBMS需要提供斷言說(shuō)明語(yǔ)言,用以定義斷言。并提供完整性驗(yàn)證子系統(tǒng)將其編譯和存儲(chǔ)到約束庫(kù),對(duì)于每個(gè)更新事務(wù),完整性檢查子系統(tǒng)利用約束庫(kù)中的定義進(jìn)行檢查,判斷是否違背了完整性約束。利用這種方法可以將約束集中在約束庫(kù)中,免除了程序員在應(yīng)用程序中分散定義和維護(hù)完整性約束的問(wèn)題,減少了編程的麻煩,方便了應(yīng)用程序和約束

35、的維護(hù)。但其實(shí)現(xiàn)比較復(fù)雜,開(kāi)銷(xiāo)也大,降低了數(shù)據(jù)庫(kù)更新的性能。ASSERT 余額約束 ON 儲(chǔ)蓄表:余額>=0;,顯式完整性約束的說(shuō)明,用觸發(fā)器表示約束所謂觸發(fā)器就是一類(lèi)事件驅(qū)動(dòng)的特殊過(guò)程,一旦定義,當(dāng)發(fā)生預(yù)定義的事件時(shí),系統(tǒng)自動(dòng)執(zhí)行相應(yīng)的觸發(fā)器。定義觸發(fā)器時(shí),需要定義:觸發(fā)器的觸發(fā)條件以及觸發(fā)器應(yīng)當(dāng)完成的操作。注意:斷言表示數(shù)據(jù)庫(kù)狀態(tài)應(yīng)當(dāng)滿(mǎn)足的條件,而觸發(fā)器中的條件卻是違反約束的條件,二者正好相反。,顯式完整性約束的說(shuō)明,例:

36、教授的工資不得低于1000元,若低于1000元,自動(dòng)改為1000元。Create Trigger Update_Sal Before Insert Or Update Of Sal, Pos On Teacher For Each Row When (:new.pos = ‘Professor’) Begin If :new.sal <

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論