數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊版.doc_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊版.doc_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊版.doc_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊版.doc_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊版.doc_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、第二章 關(guān)系數(shù)據(jù)庫(kù)1 試述關(guān)系模型的三個(gè)組成部分。答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。2 試述關(guān)系數(shù)據(jù)語(yǔ)言的特點(diǎn)和分類(lèi)。答:關(guān)系數(shù)據(jù)語(yǔ)言可以分為三類(lèi):關(guān)系代數(shù)語(yǔ)言。關(guān)系演算語(yǔ)言:元組關(guān)系演算語(yǔ)言和域關(guān)系演算語(yǔ)言。SQL:具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言。這些關(guān)系數(shù)據(jù)語(yǔ)言的共同特點(diǎn)是,語(yǔ)言具有完備的表達(dá)能力,是非過(guò)程化的集合操作語(yǔ)言,功能強(qiáng),能夠嵌入高級(jí)語(yǔ)言中使用。3 (略)4 5 . 述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空?什么情況下才可以為空?答:實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。若屬性(或

2、屬性組)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。6設(shè)有一個(gè)SPJ數(shù)據(jù)庫(kù),包括S,P,J,SPJ四個(gè)關(guān)系模式:1)求供應(yīng)工程J1零件的供應(yīng)商號(hào)碼SNO:Sno(Jno=J1(SPJ))2)求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)碼SNO:Sno(Jno=J1Pno=P1(SPJ)3)求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)碼SNO:Sno(Sno,Pno(Jno=J1 (SPJ)Pno(COLOR=紅 (

3、P))4)求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO:Jno(SPJ)- JNO(city=天津Color=紅 (SSPJP)5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)JNO:Jno,Pno(SPJ) Pno(Sno=S1 (SPJ)7. 試述等值連接與自然連接的區(qū)別和聯(lián)系。答:連接運(yùn)算符是“=”的連接運(yùn)算稱(chēng)為等值連接。它是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。8關(guān)系代數(shù)的基本運(yùn)算有哪些 ? 如何用這些基本運(yùn)算來(lái)表示其他運(yùn)算? 答:并、差、笛卡爾積、投

4、影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)算,即交、連接和除,均可以用這5種基本運(yùn)算來(lái)表達(dá)。第三章 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言SQL1 試述 sQL 語(yǔ)言的特點(diǎn)。答:(l)綜合統(tǒng)一。 sQL 語(yǔ)言集數(shù)據(jù)定義語(yǔ)言 DDL 、數(shù)據(jù)操縱語(yǔ)言 DML 、數(shù)據(jù)控制語(yǔ)言 DCL 的功能于一體。(2)高度非過(guò)程化。用 sQL 語(yǔ)言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無(wú)需指明“怎么做”,因此無(wú)需了解存取路徑,存取路徑的選擇以及 sQL 語(yǔ)句的操作過(guò)程由系統(tǒng)自動(dòng)完成。 (3)面向集合的操作方式。 sQL 語(yǔ)言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。(4)

5、以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式。 sQL 語(yǔ)言既是自含式語(yǔ)言,又是嵌入式語(yǔ)言。作為自含式語(yǔ)言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式;作為嵌入式語(yǔ)言,它能夠嵌入到高級(jí)語(yǔ)言程序中,供程序員設(shè)計(jì)程序時(shí)使用。(5)語(yǔ)言簡(jiǎn)捷,易學(xué)易用。2. 3 (1) select * from S where A=10; (2) select A,B from S; (3) select A,B,S.C,S.D,E,F from S ,T where S.C=T.C and S.D=T.D; (4) select * from S ,T where S.C=T.C; (5) select * from S ,T wh

6、ere S.AT.E; (6) select S.C,S.D,T.* from S ,T ;4用 sQL 語(yǔ)句建立第二章習(xí)題 6中的 4 個(gè)表。答:對(duì)于 S 表: S ( SNO , SNAME , STATUS , CITY ) ; 建 S 表: CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4);對(duì)于 P 表: P ( PNO , PNAME , COLOR , WEIGHT );建 P 表 :CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIG

7、HT INT);對(duì)于 J 表: J ( JNO , JNAME , CITY) ; 建 J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)對(duì)于 sPJ 表: sPJ ( sNo , PNo , JNo , QTY) ; 建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY INT)針對(duì)建立的 4 個(gè)表用 sQL 語(yǔ)言完成第二章習(xí)題6中的查詢(xún)。 ( l )求供應(yīng)工程 Jl 零件的供應(yīng)商號(hào)碼 SNO ;SELECT DIST SNO FR

8、OM SPJ WHERE JNO=J1 ( 2 )求供應(yīng)工程 Jl 零件 Pl 的供應(yīng)商號(hào)碼 SNO ; SELECT DIST SNO FROM SPJ WHERE JNO=J1 AND PNO=P1( 3 )求供應(yīng)工程 Jl 零件為紅色的供應(yīng)商號(hào)碼 SNO ; SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=紅( 4 )求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào) JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE

9、S.CITY=天津 AND COLOR=紅 AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。( 5 )求至少用了供應(yīng)商 Sl 所供應(yīng)的全部零件的工程號(hào) JNO ;由于VFP不允許子查詢(xún)嵌套太深,將查詢(xún)分為兩步A、查詢(xún)S1供應(yīng)商供應(yīng)的零件號(hào)SELECT DIST PNO FROM SPJ WHERE SNO=S1結(jié)果是(P1,P2)B、查詢(xún)哪一個(gè)工程既使用P1零件又使用P2零件。SELECT JNO FROM SPJ WHERE PNO=P1 AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)5針對(duì)上題中的四個(gè)表試用SQL語(yǔ)言完成

10、以下各項(xiàng)操作:(1)找出所有供應(yīng)商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出所有零件的名稱(chēng)、顏色、重量。SELECT PNAME,COLOR,WEIGHT FROM P(3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。 SELECT DIST JNO FROM SPJ WHERE SNO=S1(4)找出工程項(xiàng)目J2使用的各種零件的名稱(chēng)及其數(shù)量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2(5)找出上海廠商供應(yīng)的所有零件號(hào)碼。SELECT PNO FROM SPJ,S WHERE S.

11、SNO=SPJ.SNO AND CITY=上海(6)出使用上海產(chǎn)的零件的工程名稱(chēng)。SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY=上海 AND J.JNO=SPJ.JNO(7)找出沒(méi)有使用天津產(chǎn)的零件的工程號(hào)碼。注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY=天津) 適用于JNO是唯一或不唯一的情況. 注意: SELECT DIST JNO FROM SPJ,S WHER

12、E S.SNO=SPJ.SNO AND S.CITY天津適用于JNO是唯一的情況(8)把全部紅色零件的顏色改成藍(lán)色。UPDATE P SET COLOR=藍(lán) WHERE COLOR=紅(9)由S5供給J4的零件P6改為由S3供應(yīng)。 UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P6(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。 A、DELETE FROM S WHERE SNO=S2 B、DELETE FROM SPJ WHERE SNO=S2(11)請(qǐng)將(S2,J6,P4,200)插入供應(yīng)情況關(guān)

13、系。 INSERT INTO SPJ VALUES(S2,J6,P4,200)6 什么是基本表?什么是視圖??jī)烧叩膮^(qū)別和聯(lián)系是什么?答:基本表是本身獨(dú)立存在的表,在 sQL 中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)表。視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中,是一個(gè)虛表。即數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶(hù)可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。 7 試述視圖的優(yōu)點(diǎn)。答 ( l )視圖能夠簡(jiǎn)化用戶(hù)的操作; ( 2 )視圖使用戶(hù)能以多種角度看待同一數(shù)據(jù); ( 3 )視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)

14、立性; ( 4 )視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。8 哪類(lèi)視圖是可以更新的?哪類(lèi)視圖是不可更新的?各舉一例說(shuō)明。答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來(lái)自集合函數(shù)、表達(dá)式,則該視圖肯定是不可以更新的。所有的視圖是否都可以更新?為什么?答:不是。視圖是不實(shí)際存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新,最終要轉(zhuǎn)換為對(duì)基本表的更新。因?yàn)橛行┮晥D的更新不能惟一有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新,所以,并不是所有的視圖都是可更新的.9 請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。CREATE VIEW VSP AS SELECT SNO,S

15、PJ.PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=三建針對(duì)該視圖VSP完成下列查詢(xún):(1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。SELECT DIST PNO,QTY FROM VSP(2)找出供應(yīng)商S1的供應(yīng)情況。SELECT DIST * FROM VSP WHERE SNO=S1第4章 數(shù)據(jù)庫(kù)安全性1 什么是數(shù)據(jù)庫(kù)的安全性?答:數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。2 數(shù)據(jù)庫(kù)安全性和計(jì)算機(jī)系統(tǒng)的安全性有什么關(guān)系?答:安全性問(wèn)題不是數(shù)據(jù)庫(kù)系統(tǒng)所獨(dú)有的,所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問(wèn)題。只是在數(shù)據(jù)

16、庫(kù)系統(tǒng)中大量數(shù)據(jù)集中存放,而且為許多最終用戶(hù)直接共享,從而使安全性問(wèn)題更為突出。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)的主要指標(biāo)之一。數(shù)據(jù)庫(kù)的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的,4 試述實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性控制的常用方法和技術(shù)。答:實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性控制的常用方法和技術(shù)有:( l )用戶(hù)標(biāo)識(shí)和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶(hù)標(biāo)識(shí)自己的名字或身份。每次用戶(hù)要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過(guò)鑒定后才提供系統(tǒng)的使用權(quán)。( 2 )存取控制:通過(guò)用戶(hù)權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù),所有未被授權(quán)的人員無(wú)法存取數(shù)據(jù)。例如CZ 級(jí)中的自主存取

17、控制( DAC ) , Bl 級(jí)中的強(qiáng)制存取控制(MAC )。( 3 )視圖機(jī)制:為不同的用戶(hù)定義視圖,通過(guò)視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶(hù)隱藏起來(lái),從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。( 4 )審計(jì):建立審計(jì)日志,把用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志中,DBA 可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。( 5 )數(shù)據(jù)加密:對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法的人無(wú)法獲知數(shù)據(jù)的內(nèi)容。5什么是數(shù)據(jù)庫(kù)中的自主存取控制方法和強(qiáng)制存取控制方法? 答:自主存取控制方法:定義各個(gè)用戶(hù)對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。當(dāng)用

18、戶(hù)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)時(shí)首先檢查用戶(hù)的存取權(quán)限。防止不合法用戶(hù)對(duì)數(shù)據(jù)庫(kù)的存取。強(qiáng)制存取控制方法:每一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以一定的密級(jí),每一個(gè)用戶(hù)也被(強(qiáng)制地)授予某一個(gè)級(jí)別的許可證。系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的用戶(hù)才能存取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。6. (1) GRANT ALL PRIVILEGES ON Student,Class TO U1WITH GRANT OPTION ; (2)GRANT SELECT,UPDATE(家庭住址),DELETE ON Student TO U2; (3)GRANT SELECT ON Class TO PUBLIC; (4)GRANT SELECT,UP

19、DATE ON Student TO R1; (5)GRANT R1 TO U1 WITH ADMIN OPTION ; 7 .SQL 語(yǔ)言中提供了哪些數(shù)據(jù)控制(自主存取控制)的語(yǔ)句?請(qǐng)?jiān)嚺e幾例說(shuō)明它們的使用方法。答:SQL 中的自主存取控制是通過(guò)GRANT語(yǔ)句和REVOKE語(yǔ)句來(lái)實(shí)現(xiàn)的。如:GRANT SELECT , INSERT ON Student TO 王平WITH GRANT OPTION ; 就將Student 表的SELECT 和INSERT 權(quán)限授予了用戶(hù)王平,后面的“WITH GRANT OPTION ”子句表示用戶(hù)王平同時(shí)也獲得了“授權(quán)”的權(quán)限,即可以把得到的權(quán)限繼續(xù)授予

20、其他用戶(hù)。REVOKE INSERT ON Student FROM 王平CASCADE ; 就將Student 表的INSERT 權(quán)限從用戶(hù)王平處收回,選項(xiàng)CASCADE 表示,如果用戶(hù)王平將Student 的INSERT 權(quán)限又轉(zhuǎn)授給了其他用戶(hù),那么這些權(quán)限也將從其他用戶(hù)處收回。7請(qǐng)用SQL的GRANT 和REVOKE語(yǔ)句(加上視圖機(jī)制)完成以下授權(quán)定義或存取控制功能:( a )用戶(hù)王明對(duì)兩個(gè)表有SELECT 權(quán)力。GRANT SELECT ON 職工,部門(mén)TO 王明( b )用戶(hù)李勇對(duì)兩個(gè)表有INSERT 和DELETE 權(quán)力。GRANT INSERT,DELETE ON 職工,部門(mén)TO

21、 李勇( c ) 每個(gè)職工只對(duì)自己的記錄有SELECT 權(quán)力。GRANT SELECT ON 職工WHEN USER()=NAMETO ALL;( d )用戶(hù)劉星對(duì)職工表有SELECT 權(quán)力,對(duì)工資字段具有更新權(quán)力。GRANT SELECT,UPDATE(工資) ON 職工TO 劉星 ( e )用戶(hù)張新具有修改這兩個(gè)表的結(jié)構(gòu)的權(quán)力。GRANT ALTER TABLE ON 職工,部門(mén)TO 張新; ( f )用戶(hù)周平具有對(duì)兩個(gè)表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶(hù)授權(quán)的權(quán)力。GRANT ALL PRIVILIGES ON 職工,部門(mén)TO 周平WITH GRANT OPTION;( g

22、 )用戶(hù)楊蘭具有從每個(gè)部門(mén)職工中SELECT 最高工資、最低工資、平均工資的權(quán)力,他不能查看每個(gè)人的工資。CREATE VIEW 部門(mén)工資 ASSELECT 部門(mén).名稱(chēng),MAX(工資),MIN(工資),AVG(工資)FROM 職工,部門(mén)WHERE 職工.部門(mén)號(hào)=部門(mén).部門(mén)號(hào)GROUP BY 職工.部門(mén)號(hào)GRANT SELECT ON 部門(mén)工資TO 楊蘭;8 把習(xí)題8 中(1)-(7)的每一種情況,撤銷(xiāo)各用戶(hù)所授予的權(quán)力(1) REVOKE SELECT ON 職工,部門(mén) FROM 王明;(2) REVOKE INSERT , DELETE ON 職工,部門(mén) FROM 李勇;(3) REOVKE

23、 SELECT ON 職工WHEN USER ( ) =NAMEFROM ALI ;(4) REVOKE SELECT , UPDATE ON 職工FROM 劉星;(5) REVOKE ALTER TABLE ON 職工,部門(mén)FROM 張新;(6) REVOKE ALL PRIVILIGES ON 職工,部門(mén)FROM 周平;(7) REVOKE SELECT ON 部門(mén)工資FROM 楊蘭;DROP VIEW 部門(mén)工資;9理解并解釋MAC 機(jī)制中主體、客體、敏感度標(biāo)記的含義。答:主體是系統(tǒng)中的活動(dòng)實(shí)體,既包括DBMS 所管理的實(shí)際用戶(hù),也包括代表用戶(hù)的各進(jìn)程??腕w是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱

24、的,包括文件、基表、索引、視圖等。對(duì)于主體和 客體,DBMS 為它們每個(gè)實(shí)例(值)指派一個(gè)敏感度標(biāo)記(Label )。敏感度標(biāo)記被分成若干級(jí)別,例如絕密(Top Secret )、機(jī)密(Secret ) 可信( Confidential )、公開(kāi)(PubliC )等。主體的敏感度標(biāo)記稱(chēng)為許可證級(jí)別(ClearanCe 玫vel ) ,客體的敏感度標(biāo)記稱(chēng)為密級(jí)(Classification Level )。11 什么是數(shù)據(jù)庫(kù)的審計(jì)功能,為什么要提供審計(jì)功能?答:審計(jì)功能是指DBMS 的審計(jì)模塊在用戶(hù)對(duì)數(shù)據(jù)庫(kù)執(zhí)行操作的同時(shí)把所有操作自動(dòng)記錄到系統(tǒng)的審計(jì)日志中。因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無(wú)

25、缺的,蓄意盜竊破壞數(shù)據(jù)的人總可能存在。利用數(shù)據(jù)庫(kù)的審計(jì)功能,DBA 可以根據(jù)審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。第5章 數(shù)據(jù)庫(kù)完整性1什么是數(shù)據(jù)庫(kù)的完整性?答:數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。2 數(shù)據(jù)庫(kù)的完整性概念與數(shù)據(jù)庫(kù)的安全性概念有什么區(qū)別和聯(lián)系?答:數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,但是有一定的聯(lián)系。前者是為了防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃圾出( Garba : e In Garba : e out )所造成的無(wú)效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取。也就是說(shuō)

26、,安全性措施的防范對(duì)象是非法用戶(hù)和非法操作,完整性措施的防范對(duì)象是不合語(yǔ)義的數(shù)據(jù)。3 什么是數(shù)據(jù)庫(kù)的完整性約束條件?可分為哪幾類(lèi)?答完整性約束條件是指數(shù)據(jù)庫(kù)中的數(shù)據(jù)應(yīng)該滿(mǎn)足的語(yǔ)義約束條件。一般可以分為六類(lèi):靜態(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è)列的取值域的說(shuō)明,包括以下幾個(gè)方面: ( l )對(duì)數(shù)據(jù)類(lèi)型的約束,包括數(shù)據(jù)的類(lèi)型、長(zhǎng)度、單位、精度等; ( 2 )對(duì)數(shù)據(jù)格式的約束; ( 3 )對(duì)取值范圍或取值集合的約束; ( 4 )對(duì)空值的約束; ( 5 )其他約束。靜態(tài)元組約束就是規(guī)定組成一個(gè)元組的各個(gè)列之間的約束關(guān)系,靜態(tài)元組約束只

27、局限在單個(gè)元組上。靜態(tài)關(guān)系約束是在一個(gè)關(guān)系的各個(gè)元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。常見(jiàn)的靜態(tài)關(guān)系約束有: ( l )實(shí)體完整性約束; ( 2 )參照完整性約束; ( 3 )函數(shù)依賴(lài)約束。動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿(mǎn)足的約束條件,包括下面兩方面: ( l )修改列定義時(shí)的約束; ( 2 )修改列值時(shí)的約束。動(dòng)態(tài)元組約束是指修改某個(gè)元組的值時(shí)需要參照其舊值,并且新舊值之間需要滿(mǎn)足某種約束條件。動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。4 . DBMS 的完整性控制機(jī)制應(yīng)具有哪些功能?答:DBMS 的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能:

28、( l )定義功能,即提供定義完整性約束條件的機(jī)制; ( 2 )檢查功能,即檢查用戶(hù)發(fā)出的操作請(qǐng)求是否違背了完整性約束條件;( 3 )違約反應(yīng):如果發(fā)現(xiàn)用戶(hù)的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來(lái)保證數(shù)據(jù)的完整性。 5 . RDBMS 在實(shí)現(xiàn)參照完整性時(shí)需要考慮哪些方面?答 RDBMs 在實(shí)現(xiàn)參照完整性時(shí)需要考慮以下幾個(gè)方面: ( l )外碼是否可以接受空值。( 2 )冊(cè) l 除被參照關(guān)系的元組時(shí)的考慮,這時(shí)系統(tǒng)可能采取的作法有三種: l )級(jí)聯(lián)刪除( CASCADES ) ; 2 )受限刪除( RESTRICTED ) ; 3 )置空值刪除( NULLIFIES )。 ( 3

29、 )在參照關(guān)系中插入元組時(shí)的問(wèn)題,這時(shí)系統(tǒng)可能采取的作法有: l )受限插入; 2 )遞歸插入。 ( 4 )修改關(guān)系中主碼的問(wèn)題。一般是不能用 UPDATE 語(yǔ)句修改關(guān)系主碼的。如果需要修改主碼值,只能先刪除該元組,然后再把具有新主碼值的元組插入到關(guān)系中。如果允許修改主碼,首先要保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)系還是被參照關(guān)系。6 假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部門(mén)號(hào)),其中職工號(hào)為主碼;部門(mén)(部門(mén)號(hào),名稱(chēng),經(jīng)理名,電話(huà)),其中部門(mén)號(hào)為主碼。用 sQL 語(yǔ)言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個(gè)模式的主碼;

30、定義參照完整性;定義職工年齡不得超過(guò) 60 歲。答CREATE TABLE DEPT (Deptno NUMBER(2), Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12) CONSTRAINT PK_SC RIMARY KEY(Deptno);CREATE TABLE EMP (Empno NUMBER(4), Ename VARCHAR(10), Age NUMBER(2), CONSTRAINT C1 CHECK ( Aage=60), Job VARCHAR(9), Sal NUMBER(7,2), Dept

31、no NUMBER(2), CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno) REFFERENCES DEPT(Deptno);7 關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶(hù)定義的完整性約束條件時(shí),一般是如何分別進(jìn)行處理的?答:對(duì)于違反實(shí)體完整性和用戶(hù)定義的完整性的操作一般都采用拒絕執(zhí)行的方式進(jìn)行處理。而對(duì)于違反參照完整性的操作,并不都是簡(jiǎn)單地拒絕執(zhí)行,有時(shí)要根據(jù)應(yīng)用語(yǔ)義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫(kù)的正確性。第6章 關(guān)系數(shù)據(jù)庫(kù)理論1 理解并給出下列術(shù)語(yǔ)的定義:函數(shù)依賴(lài)、部分函數(shù)依賴(lài)、完全函數(shù)依賴(lài)、傳遞依賴(lài)、候選碼、主碼、外碼、全碼(All 一key

32、)、1 NF 、ZNF 、3NF 、BcNF 、多值依賴(lài)、4NF 。定義1:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是屬性集U的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱(chēng)X函數(shù)確定Y或Y函數(shù)依賴(lài)于X,記作XY。(即只要X上的屬性值相等,Y上的值一定相等。)術(shù)語(yǔ)和記號(hào):XY,但Y不是X的子集,則稱(chēng)XY是非平凡的函數(shù)依賴(lài)。若不特別聲明,總是討論非平凡的函數(shù)依賴(lài)。XY,但Y是X的子集,則稱(chēng)XY是平凡的函數(shù)依賴(lài)。若XY,則X叫做決定因素(Determinant)。若XY,YX,則記作XY。若Y不函數(shù)依賴(lài)于X,則記作X Y。定義2:在

33、R(U)中,如果 XY,并且對(duì)于X的任何一個(gè)真子集X,都有X Y,則稱(chēng)Y對(duì)X完全函數(shù)依賴(lài) 若XY,但Y不完全函數(shù)依賴(lài)于X,則稱(chēng)Y對(duì)X部分函數(shù)依賴(lài)定義3:若關(guān)系模式R的每一個(gè)分量是不可再分的數(shù)據(jù)項(xiàng),則關(guān)系模式R屬于第一范式(1NF)。定義4:若關(guān)系模式R1NF,且每一個(gè)非主屬性完全函數(shù)依賴(lài)于碼,則關(guān)系模式R2NF 。(即1NF消除了非主屬性對(duì)碼的部分函數(shù)依賴(lài)則成為2NF)。定義5:關(guān)系模式R 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XY,Y X,Y Z成立,則稱(chēng)R3NF。定義6:關(guān)系模式R1NF 。若XY且Y不是X的子集時(shí),X必含有碼,則RBCNF。定義7:關(guān)系模式R1N

34、F,如果對(duì)于R的每個(gè)非平凡多值依賴(lài)XY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱(chēng)R4NF。2建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫(kù)。學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。班級(jí):班號(hào)、專(zhuān)業(yè)名、系名、人數(shù)、入校年份。系:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。 語(yǔ)義如下:一個(gè)系有若干專(zhuān)業(yè),每個(gè)專(zhuān)業(yè)每年只招一個(gè)班,每個(gè)班有若干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干學(xué)會(huì),每個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。請(qǐng)給出關(guān)系模式,寫(xiě)出每個(gè)關(guān)系模式的極小函數(shù)依賴(lài)集,指出是否存在傳遞函數(shù)依賴(lài),對(duì)于函數(shù)依賴(lài)左部是多屬性

35、的情況討論函數(shù)依賴(lài)是完全函數(shù)依賴(lài),還是部分函數(shù)依賴(lài)。指出各關(guān)系模式的候選碼、外部碼,有沒(méi)有全碼存在?解:(1)關(guān)系模式如下: 學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班級(jí):C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 學(xué)會(huì):M(Mname,Myear,Maddr,Mnum) (2)每個(gè)關(guān)系模式的最小函數(shù)依賴(lài)集如下: A、學(xué)生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函數(shù)依賴(lài)集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,

36、DEPTRno 傳遞依賴(lài)如下:由于SnoDept,而DeptSno ,DeptRno(宿舍區(qū))所以Sno與Rno之間存在著傳遞函數(shù)依賴(lài)。 由于ClassDept,Dept Class,DeptRno 所以Class與Rno之間存在著傳遞函數(shù)依賴(lài)。 由于SnoClass,ClassSno,ClassDept 所以Sno與Dept之間存在著傳遞函數(shù)依賴(lài)。 B、班級(jí)C(Class,Pname,Dept,Cnum,Cyear)的最小函數(shù)依賴(lài)集如下: ClassPname,ClassCnum,ClassCyear,PnameDept. 由于ClassPname,PnameClass,PnameDept

37、所以C1ass與Dept之間存在著傳遞函數(shù)依賴(lài)。 C、系D(Dept,Dno,Office,Dnum)的最小函數(shù)依賴(lài)集如下: DeptDno,DnoDept,DnoOffice,DnoDnum 根據(jù)上述函數(shù)依賴(lài)可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴(lài)。 D、學(xué)會(huì)M(Mname,Myear,Maddr,Mnum)的最小函數(shù)依賴(lài)集如下: MnameMyear,MnameMaddr,MnameMnum 該模式不存在傳遞依賴(lài)。 (3)各關(guān)系模式的候選碼、外部碼,全碼如下: A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無(wú)全碼 B、班級(jí)C候選碼:Class;外部碼:D

38、ept;無(wú)全碼 C、系D候選碼:Dept或Dno;無(wú)外部碼;無(wú)全碼 D、學(xué)會(huì)M候選碼:Mname;無(wú)外部碼;無(wú)全碼7下面的結(jié)論哪些是正確的? 哪些是錯(cuò)誤的? 對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例說(shuō)明之。(1)任何一個(gè)二目關(guān)系是屬于3NF。答:正確。因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無(wú)傳遞。(2)任何一個(gè)二目關(guān)系是屬于BCNF.答:正確。按BCNF的定義,若XY,且Y不是X的子集時(shí),每個(gè)決定因素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。詳細(xì)證明如下:(任何二元關(guān)系模式必定是BCNF)。證明:設(shè)R為一個(gè)二目關(guān)系R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴(lài)關(guān)系:A、A1A2,但A2A1,則關(guān)系R的碼為

39、A1,決定因素都包含碼,所以,R是BCNF。B、A1A2,A2A1,則關(guān)系R的碼為A2,所以決定因素都包含碼,R是BCNF。包含碼。R是BCNF。C、R的碼為(A1,A2)(即A1 A2,A2 A1),決定因素都第七章 數(shù)據(jù)庫(kù)設(shè)計(jì)1試述數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程。答:這里只概要列出數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程的六個(gè)階段: ( l )需求分析; ( 2 )概念結(jié)構(gòu)設(shè)計(jì); ( 3 )邏輯結(jié)構(gòu)設(shè)計(jì); ( 4 )數(shù)據(jù)庫(kù)物理設(shè)計(jì); ( 5 )數(shù)據(jù)庫(kù)實(shí)施; ( 6 )數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。這是一個(gè)完整的實(shí)際數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的設(shè)計(jì)過(guò)程。不僅包括設(shè)計(jì)數(shù)據(jù)庫(kù)本身,還包括數(shù)據(jù)庫(kù)的實(shí)施、運(yùn)行和維護(hù)。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)往往是上述六個(gè)階

40、段的不斷反復(fù)。2 試述數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程各個(gè)階段上的設(shè)計(jì)描述。答:各階段的設(shè)計(jì)要點(diǎn)如下: ( l )需求分析:準(zhǔn)確了解與分析用戶(hù)需求(包括數(shù)據(jù)與處理)。 ( 2 )概念結(jié)構(gòu)設(shè)計(jì):通過(guò)對(duì)用戶(hù)需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體 DBMS 的概念模型。 ( 3 )邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè) DBMS 所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。 ( 4 )數(shù)據(jù)庫(kù)物理設(shè)計(jì):為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。 ( 5 )數(shù)據(jù)庫(kù)實(shí)施:設(shè)計(jì)人員運(yùn)用 DBMS 提供的數(shù)據(jù)語(yǔ)言、工具及宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),

41、并進(jìn)行試運(yùn)行。 ( 6 )數(shù)據(jù)庫(kù)運(yùn)行和維護(hù):在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。3 試述數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中結(jié)構(gòu)設(shè)計(jì)部分形成的數(shù)據(jù)庫(kù)模式。答:數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的不同階段形成數(shù)據(jù)庫(kù)的各級(jí)模式,即: ( l )在概念設(shè)計(jì)階段形成獨(dú)立于機(jī)器特點(diǎn),獨(dú)立于各個(gè) DBMS 產(chǎn)品的概念模式,在本篇中就是 E 一 R 圖; ( 2 )在邏輯設(shè)計(jì)階段將 E 一 R 圖轉(zhuǎn)換成具體的數(shù)據(jù)庫(kù)產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫(kù)邏輯模式,然后在基本表的基礎(chǔ)上再建立必要的視圖 ( Vi 娜),形成數(shù)據(jù)的外模式; ( 3 )在物理設(shè)計(jì)階段,根據(jù) DBMS 特點(diǎn)和處理的需要,進(jìn)行物理存儲(chǔ)安排,建立索引,形成數(shù)據(jù)庫(kù)內(nèi)模式。5 什么是數(shù)據(jù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論