數(shù)據(jù)庫技術(shù)與應(yīng)用第5章 習(xí)題標(biāo)準(zhǔn)答案_第1頁
數(shù)據(jù)庫技術(shù)與應(yīng)用第5章 習(xí)題標(biāo)準(zhǔn)答案_第2頁
數(shù)據(jù)庫技術(shù)與應(yīng)用第5章 習(xí)題標(biāo)準(zhǔn)答案_第3頁
數(shù)據(jù)庫技術(shù)與應(yīng)用第5章 習(xí)題標(biāo)準(zhǔn)答案_第4頁
數(shù)據(jù)庫技術(shù)與應(yīng)用第5章 習(xí)題標(biāo)準(zhǔn)答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第5章數(shù)據(jù)庫完整性與安全性 1. 什么是數(shù)據(jù)庫的完整性?什么是數(shù)據(jù)庫的安全性?兩者之間有什么區(qū)別和聯(lián)系? 解: 數(shù)據(jù)庫的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和相容性,其目的是防止不符合語義、不正確的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,從而來保證數(shù)據(jù)庫系統(tǒng)能夠真實(shí)的反映客觀現(xiàn)實(shí)世界。 數(shù)據(jù)庫安全性是指保護(hù)數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。 數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,但是有一定的聯(lián)系: 前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃圾出所造成的無效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取。也就是說,安全性措施的防范對(duì)象是非法

2、用戶和非法操作,完整性措施的防范對(duì)象是不合語義的數(shù)據(jù)。 2. 什么是數(shù)據(jù)庫的完整性約束條件?完整性約束條件可以分為哪幾類? 解: 完整性約束條件是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該滿足的語義約束條件。一般可以分為六類:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、動(dòng)態(tài)元組約束、動(dòng)態(tài)關(guān)系約束。靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說明,包括以下幾個(gè)方面:數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長度、單位、精度等;對(duì)數(shù)據(jù)格式的約束;對(duì)取值范圍或取值集合的約束;對(duì)空值的約束;其他約束。靜態(tài)元組約束就是規(guī)定組成一個(gè)元組的各個(gè)列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個(gè)元組上。靜態(tài)關(guān)系約束是在一個(gè)關(guān)系的各個(gè)元組之間或者若干

3、關(guān)系之間常常存在各種聯(lián)系或約束。常見的靜態(tài)關(guān)系約束有:實(shí)體完整性約束;參照完整性約束;函數(shù)依賴約束。動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足的約束條件,包括下面兩方面:修改列定義時(shí)的約束;修改列值時(shí)的約束。動(dòng)態(tài)元組約束是指修改某個(gè)元組的值時(shí)需要參照其舊值,并且新舊值之間需要滿足某種約束條件。動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。 3. 試述DBMS如何實(shí)現(xiàn)完整性控制。 解: 為了維護(hù)數(shù)據(jù)庫的完整性,DBMS提供了以下三種機(jī)制: 完整性約束條件定義完整性約束條件也稱為完整性規(guī)則,是數(shù)據(jù)庫中的數(shù)據(jù)必須滿足的語義約束條件。SQL標(biāo)準(zhǔn)使用了一系列概念來描述完整

4、性,包括關(guān)系模型的實(shí)體完整性、參照完整性和用戶定義完整性。這些完整性一般由SQL的DDL語義來實(shí)現(xiàn)。它們作為數(shù)據(jù)庫模式的一部分存入數(shù)據(jù)字典中。 完整性檢查方法檢查數(shù)據(jù)是否滿足已定義的完整性約束條件稱為完整性檢查。一般在INSERT、UPDATE、DELETE語句執(zhí)行后開始檢查,也可以在事務(wù)提交時(shí)檢查。檢查這些操作執(zhí)行后數(shù)據(jù)庫中的數(shù)據(jù)是否違背了完整性約束條件。 違約處理若發(fā)現(xiàn)用戶操作違背了完整性約束條件,應(yīng)采取一定的措施,如拒絕(NOACTION)執(zhí)行該操作,或級(jí)連(CASCADE)執(zhí)行其它操作,進(jìn)行違約處理以保證數(shù)據(jù)的完整性。 4. 現(xiàn)有以下四個(gè)關(guān)系模式: ,其中供應(yīng)商編號(hào)為主碼;供應(yīng)商(供應(yīng)

5、商編號(hào),姓名,電話,地點(diǎn))零件(零件編號(hào),零件名稱,顏色,重量),其中零件編號(hào)為主碼; 工程(工程編號(hào),工程名稱,所在地點(diǎn)),其中工程編號(hào)為主碼; 供應(yīng)情況(供應(yīng)商編號(hào),零件編號(hào),工程編號(hào),數(shù)量),其中供應(yīng)商編號(hào),零件編號(hào),工程編號(hào)為主碼 用SQL語句定義這四個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義: 定義每個(gè)模式的主碼; 定義參照完整性; 定義零件重量不得超過100千克。 解: CREATE SCHEMA Supplier_schema CREATE TABLE Supplier ( Sno CHAR(5) PRIMARY KEY, Sname CHAR(20) NOT NULL

6、, Phone CHAR(13), Address CHAR(30) ); CREATE SCHEMA Part_schema CREATE TABLE Part ( Pno CHAR(7) PRIMARY KEY, Pname CHAR(20) NOT NULL, Color CHAR(10), Weight SMALLINT CHECK(Weight 每個(gè)用戶也具有相應(yīng)的級(jí)別,稱為許可證級(jí)別,密級(jí)和許可證級(jí)別都是有序的,如絕密公用,采用規(guī)則是:一是用戶只能查看比它級(jí)別低或是同級(jí)的數(shù)據(jù),二是用戶只秘密密 能修改和它同級(jí)的數(shù)據(jù)。 提供了哪些數(shù)據(jù)控制語句?舉例說明。9. SQL 解:中,這些語句

7、SQL數(shù)據(jù)控制語言是用來設(shè)置或者更改數(shù)據(jù)庫用戶或角色權(quán)限的語句。語句收回授予的REVOKE等語句。GRANT語句向用戶授予權(quán)限,包括GRANT、REVOKE 權(quán)限。 表的權(quán)限授予所有用戶的控制語句為例如:描述把查詢Course GRANT SELECT ON Course TO PUBLIC; 修改學(xué)生學(xué)號(hào)的查詢權(quán)限的控制語句為:描述收回用戶U3REVOKE UPDATE(Sno) ON TABLE Student FROM U3; 語句有哪些?使用角色有什么好處?涉及角色的SQL10. 解:角色是權(quán)限數(shù)據(jù)庫角色是指被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限。使用角色的好處:使用角色進(jìn)角色簡化了授權(quán)操

8、作。的集合,可以為一組具有相同權(quán)限的用戶創(chuàng)建一個(gè)角色,使得將數(shù)據(jù)庫對(duì)象上的存取權(quán)限授予角色,才能將角色授予用戶,行授權(quán)必須先創(chuàng)建角色,拒絕或廢除的權(quán)限也適用于該角色用戶擁有角色所具有的所有存取權(quán)限。對(duì)一個(gè)角色授予、 的任何成員。 SQL語句有:角色的創(chuàng)建涉及角色的 CREATE ROLE GRANT, 對(duì)象名ON 角色,角色 TO 1,角色 GRANT TO ,權(quán)限,權(quán)限 REVOKE 對(duì)象名對(duì)象類型 ON,FROM 角色角色 現(xiàn)有以下兩個(gè)關(guān)系模式:11. 雇員(員工號(hào),姓名,年齡,工資,部門號(hào),職務(wù)) 部門(部門號(hào),名稱,經(jīng)理名,電話)使用SQL提供的功能完成如下操作: 允許WangHong

9、對(duì)兩個(gè)關(guān)系進(jìn)行任何操作,并可以將他的權(quán)限轉(zhuǎn)授他人。 允許所有用戶查詢部門關(guān)系。 允許所有用戶查詢雇員關(guān)系中除員工號(hào)、年齡和工資之外的所有屬性。 LiLan對(duì)雇員關(guān)系中的工資屬性進(jìn)行修改。允許,可以對(duì)部門關(guān)系進(jìn)行任何操作,對(duì)雇員關(guān)系除了不能修改工定義一個(gè)角色Manager 資外,可以進(jìn)行任何操作。 Manager的權(quán)限。SongHua是秘書,擁有角色 收回的授權(quán)。Manager修改雇員的職務(wù)屬性值。 不允許角色解: 允許WangHong對(duì)兩個(gè)關(guān)系進(jìn)行任何操作,并可以將他的權(quán)限轉(zhuǎn)授他人: GRANT ALL PRIVILEGES ON TABLE雇員, 部門 TO WangHong; WITH G

10、RANT OPTION; 允許所有用戶查詢部門關(guān)系: GRANT SELECT ON TABLE部門 TO PUBLIC; 允許所有用戶查詢雇員關(guān)系中除員工號(hào)、年齡和工資之外的所有屬性: GRANT SELECT(姓名,部門號(hào),職務(wù)) ON TABLE雇員 TO PUBLIC; 允許LiLan對(duì)雇員關(guān)系中的工資屬性進(jìn)行修改: GRANT UPDATE(工資) ON TABLE部門 TO LiLan; 定義一個(gè)角色Manager,可以對(duì)部門關(guān)系進(jìn)行任何操作,對(duì)雇員關(guān)系除了不能修改工資外,可以進(jìn)行任何操作: CREATE ROLE Manager; GRANT ALL PRIVILEGES ON TABLE雇員,部門 TO WangHong; REVOKE UPDATE(工資) ON TABLE部門FROM Manager; SongHua是秘書,擁有角色Manager的權(quán)限: GRANTManager TO SongHua; 收回(1)(4)的授權(quán)。 REVOKE ALL PRIVILEGES ON TABLE雇員, 部門 FROMWangHong; REVOKE SELECT ON TABLE部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論