數(shù)據(jù)庫的安全性和完整性_第1頁
數(shù)據(jù)庫的安全性和完整性_第2頁
數(shù)據(jù)庫的安全性和完整性_第3頁
數(shù)據(jù)庫的安全性和完整性_第4頁
數(shù)據(jù)庫的安全性和完整性_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第九章

數(shù)據(jù)庫的安全性和完整性計算機(jī)系統(tǒng)的安全性計算機(jī)系統(tǒng)的安全性是指為計算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計算機(jī)系統(tǒng)中的硬件、軟件和數(shù)據(jù),防止其因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄漏等。計算機(jī)系統(tǒng)安全問題的分類技術(shù)安全類技術(shù)安全是指計算機(jī)系統(tǒng)中采用具有一定安全性的硬件、軟件來實(shí)現(xiàn)對計算機(jī)系統(tǒng)及其所存數(shù)據(jù)的安全保護(hù),當(dāng)計算機(jī)受到有意的或無意的攻擊時仍能保證系統(tǒng)的正常運(yùn)行,保證系統(tǒng)內(nèi)的數(shù)據(jù)不增加、不丟失、不泄露。管理安全類技術(shù)安全之外的,諸如軟硬件意外故障、場地的意外事故、管理不善導(dǎo)致的計算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞、丟失等安全問題視為管理安全。政策法律類指政府部門建立的有關(guān)計算機(jī)犯罪、數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī)、法令??尚庞嬎銠C(jī)評測標(biāo)準(zhǔn)1985年,美國國防部制定了可信計算機(jī)評估標(biāo)準(zhǔn)TCSEC(TrustedComputerSystemEvaluationCriteria)。1991年4月,美國國家計算機(jī)安全中心NCSC發(fā)布《可信計算機(jī)系統(tǒng)評估標(biāo)準(zhǔn)關(guān)于數(shù)據(jù)庫系統(tǒng)的解釋TDI(TrustedDatabaseInterpretation),將TCSEC擴(kuò)展到數(shù)據(jù)庫管理系統(tǒng)。它們從安全策略、責(zé)任、保證、文檔四個方面描述了安全級別劃分的指標(biāo)。可信計算機(jī)評測標(biāo)準(zhǔn)(續(xù)I)安全級別定義A1驗(yàn)證設(shè)計(VerifiedDesign)B3安全域(SecurityDomain)B2結(jié)構(gòu)化保護(hù)(StructuralProtection)B1標(biāo)記安全保護(hù)(LabeledSecurityProtection)C2受控存取保護(hù)(ControlledAccessProtection)C1自主安全保護(hù)(DiscretionarySecurityProtection)D最小保護(hù)(MinimalProtection)對數(shù)據(jù)庫的安全威脅原則上,凡是造成對數(shù)據(jù)庫內(nèi)存儲數(shù)據(jù)的非授權(quán)訪問–讀取,或非授權(quán)的寫入–增加、刪除、修改等,都屬于對數(shù)據(jù)庫的數(shù)據(jù)安全造成了威脅或破壞。另一方面,凡是影響授權(quán)用戶以正常方式使用數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)服務(wù)的,也稱之為造成侵犯,對數(shù)據(jù)庫的安全形成了威脅或破壞。對數(shù)據(jù)庫的安全威脅的分類偶然地、無意地接觸或修改DBMS管理下的數(shù)據(jù)自然的或意外的事故硬件或軟件的故障/錯誤導(dǎo)致數(shù)據(jù)丟失人為的失誤,如錯誤的輸入和應(yīng)用系統(tǒng)的不正常使用。對數(shù)據(jù)庫的安全威脅的分類(I)蓄意的侵犯和敵意的攻擊授權(quán)用戶可能濫用其權(quán)力信息的非正常擴(kuò)散-泄密由授權(quán)讀取的數(shù)據(jù)推論出不應(yīng)訪問的數(shù)據(jù)對信息的非正常修改敵對方的攻擊,內(nèi)部的或外部的非授權(quán)用戶從不同渠道進(jìn)行攻擊。敵對方對軟件和硬件的蠻力破壞繞過DBMS直接對數(shù)據(jù)進(jìn)行讀寫病毒、特洛伊木馬、天窗通過各種途徑干擾DBMS的正常工作狀態(tài),使之在正當(dāng)用戶提出數(shù)據(jù)請求時,不能正常提供服務(wù)。數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改和破壞。它包括兩個方面的含義:向授權(quán)用戶提供可靠的信息服務(wù)。同時,拒絕非授權(quán)的對數(shù)據(jù)的存取訪問請求,保證數(shù)據(jù)庫管理下的數(shù)據(jù)的可用性、完整性和一致性,進(jìn)而保護(hù)數(shù)據(jù)庫所有者和使用者的合法權(quán)益。數(shù)據(jù)庫安全性控制管理、技術(shù)、操作多個方面物理、網(wǎng)絡(luò)、系統(tǒng)、應(yīng)用多個層次設(shè)計、構(gòu)建、運(yùn)行、維護(hù)整個周期安全數(shù)據(jù)庫安全性控制數(shù)據(jù)庫安全控制涉及多個方面,它可分為內(nèi)部安全控制和外部安全控制。內(nèi)部安全控制由計算機(jī)系統(tǒng)的軟硬件實(shí)現(xiàn)。它必須與管理系統(tǒng)物理存取的適當(dāng)?shù)耐獠堪踩刂葡嗯浜?。外部安全控制解決內(nèi)部安全控制不能解決的問題外部安全控制實(shí)體安全控制劃定安全區(qū)域,設(shè)置安全屏障和建立安全控制評估安全風(fēng)險,將涉密設(shè)備和材料放置在不同的安全區(qū)域人員、組織安全控制建立安全管理機(jī)構(gòu)和相應(yīng)安全評估、管理制度明確組織間的訪問安全關(guān)系明確明確組織內(nèi)的安全角色和責(zé)任建立人員聘用和考察制度,通過合同條款和保密協(xié)議,明確每個人的安全保密責(zé)任建立責(zé)任追究制度外部安全控制過程安全控制確定業(yè)務(wù)操作過程的安全需求制訂訪問控制規(guī)則,并明確個人用戶(或組用戶)的權(quán)限建立訪問管理制度,確定用戶、特權(quán)、密碼等的管理措施和操作過程規(guī)定明確用戶在密碼使用和設(shè)備安全等方面的責(zé)任建立監(jiān)測和審查制度建立安全事故管理制度數(shù)據(jù)庫安全性控制數(shù)據(jù)庫系統(tǒng)的安全保護(hù)是由多個層次的構(gòu)成的。本章只涉及由數(shù)據(jù)庫本身提供的安全機(jī)制。網(wǎng)絡(luò)DBMSOSDB用戶標(biāo)識和鑒別網(wǎng)絡(luò)系統(tǒng)安全保護(hù)存取控制操作系統(tǒng)安全保護(hù)數(shù)據(jù)加密用戶標(biāo)識與鑒別用戶標(biāo)識和鑒別是系統(tǒng)提供的最外層安全保護(hù)措施。標(biāo)識是指系統(tǒng)采用一定的方式標(biāo)識其用戶或應(yīng)用程序的名字或身份。鑒別是指系統(tǒng)在用戶或應(yīng)用程序登錄時判斷其是否為合法的授權(quán)用戶。應(yīng)用系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、操作系統(tǒng)、DBMS都可以進(jìn)行用戶標(biāo)識和鑒別,通常的做法是采用用戶名和口令。存取控制存取控制確保合法用戶按照指定的權(quán)限使用DBMS和訪問數(shù)據(jù),而非法用戶或不具有相關(guān)權(quán)限的用戶則不能。存取控制機(jī)制主要包括兩個部分:定義用戶權(quán)限,并將用戶權(quán)限記錄到數(shù)據(jù)字典中,形成安全規(guī)則或授權(quán)規(guī)則。其中,用戶權(quán)限是指不同的用戶對于不同的數(shù)據(jù)對象允許執(zhí)行的操作權(quán)限。合法權(quán)限檢查,每當(dāng)用戶發(fā)出數(shù)據(jù)庫操作請求后,DBMS根據(jù)數(shù)據(jù)字典中的安全規(guī)則進(jìn)行合法權(quán)限檢查,決定是否接受用戶的操作請求。用戶權(quán)限定義和合法權(quán)限檢查機(jī)制一起組成了DBMS的安全子系統(tǒng)。DAC與MAC存取控制可以分為:自主存取控制(discretionaryaccesscontrol,簡稱DAC)。用戶對于不同的數(shù)據(jù)對象擁有不同的存取權(quán)限,不同的用戶對同一對象也有不同的權(quán)限,而且用戶還可以將其擁有的權(quán)限轉(zhuǎn)授給其他用戶。強(qiáng)制存取控制(mandatoryaccesscontrol,簡稱MAC)。每一個數(shù)據(jù)對象被標(biāo)以一定的密級,每一個用戶也被授予某一個級別的許可證。對于任一個對象,只有具有合法許可證的用戶才可以存取。自主存取控制方法用戶權(quán)限由兩個要素組成,數(shù)據(jù)對象和操作類型。定義一個用戶的存取權(quán)限就是要定義這個用戶可以在哪些數(shù)據(jù)對象上進(jìn)行哪些類型的操作,在數(shù)據(jù)庫系統(tǒng)中稱之為授權(quán)。數(shù)據(jù)對象操作類型模式概念模式外模式內(nèi)模式建立、修改、檢索建立、修改、檢索建立、修改、檢索數(shù)據(jù)表屬性列查找、插入、刪除、修改查找、插入、刪除、修改SQL的數(shù)據(jù)控制當(dāng)數(shù)據(jù)庫管理員建立了一個新用戶之后,必須授予它一定的權(quán)限,該用戶才能使用數(shù)據(jù)庫。在數(shù)據(jù)庫系統(tǒng)中可以授予用戶兩類權(quán)限:用戶級權(quán)限用戶級權(quán)限是數(shù)據(jù)庫管理員為每個用戶授予的特定權(quán)限。這種權(quán)限與整個數(shù)據(jù)庫相關(guān),與數(shù)據(jù)庫中具體的關(guān)系無關(guān)。這種權(quán)限是對用戶使用整個數(shù)據(jù)庫的權(quán)限的限定。關(guān)系級權(quán)限關(guān)系級權(quán)限是數(shù)據(jù)庫管理員或數(shù)據(jù)庫對象的擁有者為用戶授予的與關(guān)系或視圖有關(guān)的權(quán)限。這種權(quán)限是對用戶使用關(guān)系和視圖的權(quán)限的限定。角色與用戶組為了管理數(shù)據(jù)庫特權(quán)的方便,數(shù)據(jù)庫還支持角色和用戶組的概念。角色是一組權(quán)限的集合,可以把它授予用戶或其他角色。當(dāng)把某個角色授予用戶(或角色)或從用戶(或角色)處收回時,就同時授予或收回了該角色代表的全部權(quán)限。用戶組是一組具有相同特性用戶的集合。在授權(quán)或收回權(quán)限時,可以以用戶組為單位進(jìn)行。用戶級權(quán)限與角色的授予與收回在SQL語言中,通過Grant語句為用戶授予用戶級權(quán)限或角色,其語法格式為:Grant<用戶級權(quán)限>|<角色>[{,<用戶級權(quán)限>|<角色>}]To<用戶名>|<角色>|public[{,<用戶名>|<角色>}][WithGrantOption]其中,public指數(shù)據(jù)庫中的全部用戶。WithGrantOption則允許被授權(quán)的用戶將指定的用戶級權(quán)限或角色授予其他用戶。用戶級權(quán)限與角色的授予與收回為用戶授予用戶級權(quán)限GrantCreateSessiontoSCOTT;為用戶授予角色GrantConnecttoSCOTT;將權(quán)限授予角色GrantCreatetabletoStudent_role;將角色授予角色GrantResourcetoStudent_role;將角色授予用戶組GrantStudent_roletoPUBLIC;用戶級權(quán)限與角色的授予與收回當(dāng)要取消一個用戶或角色的權(quán)限時,可以使用REVOKE語句將其收回:Revoke<用戶級權(quán)限>|<角色>[{,<用戶級權(quán)限>|<角色>}]From<用戶名>|<角色>|public[{,<用戶名>|<角色>}]例:取消用戶SCOTT的CreateTable權(quán)限。RevokeCreateTableFromSCOTT;關(guān)系級權(quán)限的授予與收回每一個用戶都擁有自己定義的數(shù)據(jù)庫對象如(基本表、視圖等),除了他自己和擁有DBA權(quán)限的用戶以外,其他用戶都不能訪問這些數(shù)據(jù)庫對象。如果想和其他用戶共享其中一部分?jǐn)?shù)據(jù)庫對象,就必須將這些數(shù)據(jù)庫對象上的部分或全部權(quán)限授予其他用戶。其語法格式為:GrantALL|<權(quán)限>[{,<權(quán)限>}]On<表名>|<視圖名>[{,<表名>|<視圖名>}]To{<用戶>[{,<用戶>}]|public}[WithGrantOption]關(guān)系級權(quán)限的授予與收回授予用戶Liming在Student表上的Select和Insert權(quán)限。

GrantSelect,UpdateOnStudentToLimingWithGrantOption;Liming授予用戶SCOTT在Student表的Sno列上的Update權(quán)限。

GrantUpdate(Sno)OnStudentToSCOTT;將Student表上的全部權(quán)限授予全體用戶。

GrantALLOnStudentToPUBLIC;關(guān)系級權(quán)限的授予與收回回收權(quán)限RevokeALL|<表級權(quán)限>[{,<表級權(quán)限>}]On<表名>|<視圖名>[{,<表名>|<視圖名>}]

From{<用戶>[{,<用戶>}]|PUBLIC}例:收回Liming對Student表的全部權(quán)限RevokeALLOnStudentFromLiming;收回權(quán)限時,若該用戶已將權(quán)限授予其它用戶,則也一并收回。用戶權(quán)限定義表用戶名數(shù)據(jù)對象名允許的操作類型王平關(guān)系StudentSELECT張明霞關(guān)系StudentUPDATE張明霞關(guān)系CourseALL張明霞Sc.GradeUPDATE張明霞Sc.SnoSELECT張明霞Sc.CnoSELECT利用視圖實(shí)現(xiàn)安全控制為不同的用戶定義不同的視圖,可以將用戶對數(shù)據(jù)的訪問限制在一定的范圍內(nèi)。例:限制王平只能檢索Student表中計算機(jī)系學(xué)生的學(xué)號和姓名。CreateViewCS_StudentAsSelectSno,SnameFromStudentWhereSdept=‘CS’;GrantSelectOnCS_StudentToWangping;強(qiáng)制存取方法主體是系統(tǒng)中的活動實(shí)體,既包括DBMS所管理的實(shí)際用戶,也包括代表用戶的各進(jìn)程??腕w是系統(tǒng)中的被動實(shí)體,是受主體操縱的,包括文件、基本表、索引、視圖等對于主體和客體,DBMS為他們每個實(shí)例(值)指定一個敏感度標(biāo)記。敏感度表被分為若干級別,如絕密、機(jī)密、可信、公開等。主體的敏感度標(biāo)記稱為許可證級別,客體的敏感度標(biāo)記稱為密級。強(qiáng)制存取方法當(dāng)某一主體以某一許可證級別注冊入系統(tǒng)時,系統(tǒng)要求他對任何客體的存取必須遵循如下規(guī)則:僅當(dāng)主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應(yīng)的客體;僅當(dāng)主體的許可證級別等于客體的密級時,該主體才能寫相應(yīng)的客體;審計和數(shù)據(jù)加密審計功能把用戶對數(shù)據(jù)庫的所有操作都自動記錄下來放入審計日志中。DBA可以利用審計跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。數(shù)據(jù)加密是防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段。加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù)(明文)變換為不可識別的格式(密文),從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。統(tǒng)計數(shù)據(jù)庫安全性統(tǒng)計數(shù)據(jù)庫中的數(shù)據(jù)分為兩類,一類是微數(shù)據(jù)描述現(xiàn)實(shí)世界的實(shí)體、概念或事件的數(shù)據(jù);另一類是統(tǒng)計或綜合數(shù)據(jù),時對微數(shù)據(jù)進(jìn)行綜合處理而得到的結(jié)果數(shù)據(jù)。統(tǒng)計數(shù)據(jù)庫只為用戶提供統(tǒng)計數(shù)據(jù),不允許用戶訪問微數(shù)據(jù)。但微數(shù)據(jù)有時可以通過一組統(tǒng)計數(shù)據(jù)推導(dǎo)出來。統(tǒng)計數(shù)據(jù)庫安全性的目的就是防止用戶訪問或推導(dǎo)出統(tǒng)計數(shù)據(jù)庫的微數(shù)據(jù)。統(tǒng)計數(shù)據(jù)庫安全性例:關(guān)系PERSON(NAME,SSN,INCOME,ADDRESS,CITY,STATE,ZIP,SEX,LAST_DEGREE)為人口統(tǒng)計數(shù)據(jù)庫中的一個關(guān)系。假設(shè)已知王蘭獲博士學(xué)位,居住在黑龍江省哈爾濱市,現(xiàn)要查詢其收入,首先執(zhí)行:

SELECTCOUNT(*)FROMPERSONWHERELAST_DEGREE=‘PH.D’ANDSEX=‘F’ANDCITY=‘哈爾濱’

ANDSTATE=‘黑龍江’;統(tǒng)計數(shù)據(jù)庫安全性若返回結(jié)果為1,則在執(zhí)行以下查詢:SELECTAVG(INCOME)FROMPERSONWHERELAST_DEGREE=‘PH.D’ANDSEX=‘F’ANDCITY=‘哈爾濱’ANDSTATE=‘黑龍江’;就可獲得王蘭的收入。統(tǒng)計數(shù)據(jù)庫安全性為防止用戶推導(dǎo)出統(tǒng)計數(shù)據(jù)庫的微數(shù)據(jù),可以采取以下方法:對統(tǒng)計結(jié)果的大小加以控制,將其限制在某一范圍之內(nèi)。這樣可以減小使用統(tǒng)計查詢推導(dǎo)微數(shù)據(jù)的可能性。禁止在相同元組集合上重復(fù)執(zhí)行一系列統(tǒng)計查詢。在統(tǒng)計查詢結(jié)果中加入噪聲,為推導(dǎo)微數(shù)據(jù)制造困難。完整性數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。其中,正確性是指數(shù)據(jù)應(yīng)具有合法的類型,如數(shù)值型的字段只能含有0~9,不能包含其它符號;更進(jìn)一步,數(shù)據(jù)還應(yīng)在有效的取值范圍之內(nèi),如一年最多只有12個月,不能出現(xiàn)13個月。相容性是指表示同一個事實(shí)的兩個數(shù)據(jù)應(yīng)該相同,如一個人不應(yīng)當(dāng)存在兩個年齡。數(shù)據(jù)庫能否保持完整性關(guān)系到數(shù)據(jù)庫系統(tǒng)是否能夠真實(shí)的反映現(xiàn)實(shí)世界,因此維護(hù)數(shù)據(jù)庫的完整性十分重要。完整性與安全性數(shù)據(jù)庫的完整性與安全性是兩個不同的概念。前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯誤信息的輸入和輸出,即所謂的垃圾進(jìn)垃圾出所造成的無效操作和錯誤結(jié)果。而后者是保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法存取。也就是說,安全性防范的是非法用戶和非法操作,完整性措施的防范對象是不合語義的數(shù)據(jù)。完整性約束條件施加在數(shù)據(jù)庫數(shù)據(jù)之上的語義約束條件稱為數(shù)據(jù)庫完整性約束條件。數(shù)據(jù)庫系統(tǒng)依據(jù)完整性約束條件進(jìn)行完整性檢查。完整性約束條件作用的對象可以是關(guān)系、元組、列三種。其中列約束主要是列的類型、取值范圍、精度等約束條件。元組的約束是元組中各個字段間聯(lián)系的約束。關(guān)系的約束是若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束。完整性約束條件涉及這三類對象的完整性約束又可分為靜態(tài)約束和動態(tài)約束。靜態(tài)約束是指數(shù)據(jù)庫每一確定狀態(tài)(在某一時刻數(shù)據(jù)庫中的所有數(shù)據(jù)實(shí)例構(gòu)成了數(shù)據(jù)庫的一個狀態(tài))時,數(shù)據(jù)對象所應(yīng)滿足的約束條件,它是反映數(shù)據(jù)庫狀態(tài)合理性的約束。動態(tài)約束是指數(shù)據(jù)庫從一個中狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時,新、舊值之間所應(yīng)滿足的約束條件,它是反映數(shù)據(jù)庫狀態(tài)變遷的約束。靜態(tài)約束固有約束指數(shù)據(jù)模型固有的約束,如關(guān)系的屬性應(yīng)當(dāng)是原子的。隱含約束指隱含于數(shù)據(jù)模式的約束,一般用DDL語句說明,并存于數(shù)據(jù)字典中。如實(shí)體完整性約束。顯式約束指固有約束,隱含約束之外,依賴于數(shù)據(jù)的語義和應(yīng)用,需要顯式定義的完整性約束。靜態(tài)約束靜態(tài)列級約束是對一個列的取值域的說明,包括:對數(shù)據(jù)類型的約束(包括數(shù)據(jù)的類型、長度、單位、精度等)對數(shù)據(jù)格式的約束對取值范圍或取值集合的約束對空值的約束其他約束靜態(tài)約束靜態(tài)元組約束規(guī)定了組成一個元組的各個列之間的約束關(guān)系。靜態(tài)關(guān)系約束規(guī)定了一個關(guān)系的若干元組或者若干關(guān)系之間常常存在的各種聯(lián)系或約束。包括:實(shí)體完整性約束參照完整性約束函數(shù)依賴統(tǒng)計約束動態(tài)約束動態(tài)列級約束是修改列定義或列值時應(yīng)滿足的約束條件,包括:修改列定義時的約束修改列值時的約束動態(tài)元組約束指修改元組值時元組中各個字段間需要滿足的約束。動態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件。數(shù)據(jù)庫的完整性控制機(jī)制為保護(hù)數(shù)據(jù)庫的完整性,防止錯誤的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,數(shù)據(jù)庫提供了完整性控制機(jī)制。它包括三個方面的功能:定義功能,提供定義完整性約束條件的機(jī)制。檢查功能,檢查用戶發(fā)出的操作請求是否違背了完整性約束條件。違約響應(yīng),若違背了完整性約束條件,則采取一定措施來保證數(shù)據(jù)的完整性。完整性檢查的時機(jī)立即執(zhí)行約束是指在執(zhí)行用戶事務(wù)的過程中,在一條語句執(zhí)行完后立即進(jìn)行完整性約束的檢查。若違背了完整性約束,系統(tǒng)將拒絕該操作。延遲執(zhí)行約束是指在整個用戶事務(wù)執(zhí)行完畢后,再進(jìn)行完整性約束的檢查,若正確方允許提交事務(wù)。若違背了完整性約束,系統(tǒng)將拒絕整個事務(wù)。完整性規(guī)則一條完整性規(guī)則可以用一個五元組(D,O,A,C,P)來描述,其中:D(Data)約束所作用的數(shù)據(jù)對象O(Operation)觸發(fā)完整性檢查的數(shù)據(jù)庫操作,即當(dāng)用戶發(fā)出什么操作請求時需要檢查該完整性規(guī)則,是立即檢查還是延遲檢查。A(Assertion)數(shù)據(jù)對象必須滿足的斷言或語義約束。C(Condition)選擇A作用的數(shù)據(jù)對象值的謂詞。P(Procedure)違反完整性規(guī)則時觸發(fā)的過程。完整性規(guī)則教授的工資不得低于1000元。D約束作用的對象為工資Sal屬性O(shè)插入或修改職工元組時ASal不能小于1000C職稱=‘教授’P拒絕執(zhí)行該操作完整性約束的說明固有約束在DBMS實(shí)現(xiàn)時已經(jīng)考慮,不必特殊說明。隱含約束的說明可以通過DDL語句來定義實(shí)現(xiàn)。顯式完整性約束的說明一般有過程說明方式,斷言說明方式,觸發(fā)器說明方式等幾種。顯式完整性約束的說明用過程說明約束把約束的說明和檢驗(yàn)作為一個過程,由程序員編碼到每個更新數(shù)據(jù)庫的事務(wù)中。用以檢驗(yàn)數(shù)據(jù)庫更新是否違反了給定約

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論