數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊薩師喧版_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊薩師喧版_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊薩師喧版_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊薩師喧版_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案王珊薩師喧版_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)和分類 。 答:關(guān)系數(shù)據(jù)語(yǔ)言可以分為三類: 關(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á)能力,是非過程化的集合操作 語(yǔ)言,功能強(qiáng),能夠嵌入高級(jí)語(yǔ)言中使用。3 (略)4 5 . 述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空?什 么情況下才可以為空?答:實(shí)體完整性規(guī)則是指若屬性 A 是基本關(guān)系 R 的主屬性,則屬性

2、A 不能取空值。若屬性 (或?qū)傩越M )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 :J1'( SPJ) )Sno( Jno=2) 求供應(yīng)工程J1 零件 P1 的供應(yīng)商號(hào)碼 SNO :J1 'Pno= P

3、1(SPJ)Sno( Jno=3) 求供應(yīng)工程J1 零件為紅色的供應(yīng)商號(hào)碼 SNO :Sno( Sno,Pno ( Jno= J1 (SPJ) Pno( COLOR='紅 (P)4) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào) JNO : Jno (SPJ)- JNO( city= 天津'Color= ( S SPJ P)5) 求至少用了供應(yīng)商S1 所供應(yīng)的全部零件的工程號(hào)JNO :Jno Pno (SPJ) ÷ Pno ( Sno= S1( SPJ )7. 試述等值連接與自然連接的區(qū) 和系別聯(lián)。答:連接運(yùn)算符是 =“”的連接運(yùn)算稱為等值連接。它是從 關(guān)系R 與 S

4、的廣義笛卡爾積中選取 A ,B 屬性值相等的那些元組 自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組, 并且在結(jié)果中把重復(fù)的屬性列去掉。8關(guān)系代數(shù)的基本運(yùn)算有哪些 ? 如何用這些基本運(yùn)算來表示其他運(yùn)算 ? 答:并、差、笛卡爾積、投影和擇選 5 種運(yùn)算為基本的運(yùn)算。其他3 種運(yùn)算,即交、連接和除,均可以用這 5 種基本運(yùn)算來表達(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) 高度非過程化。 用 sQL 語(yǔ)言進(jìn)行數(shù)據(jù)操作,

5、只要提出 “做什么 ” ,而無需指明 “怎么做 因此無需了解存取路徑,存取路徑的選擇以及 sQL 語(yǔ)句的操作過程由系統(tǒng)自動(dòng)完成。(3 )面向集合的操作方式。 sQL 語(yǔ)言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是 元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。(4 )以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式。 sQL 語(yǔ)言既是自含式語(yǔ)言,又是嵌入式語(yǔ)言。 作為自含式語(yǔ)言, 它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式; 作為嵌入式語(yǔ)言, 它能夠嵌入到 高級(jí)語(yǔ)言程序中,供程序員設(shè)計(jì)程序時(shí)使用。(5 )語(yǔ)言簡(jiǎn)捷,易學(xué)易用。8.3 (1) select * from S where A=

6、9;10'(2) select A,B from S;(3) select A,B,S.C,S.D,E,F from S ,Twhere S.C=T.C and S.D=T.D;(4) select * from S ,Twhere S.C=T.C;(5) select * from S ,Twhere S.A<T.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 ( S

7、no 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) , WEIGHT INT);對(duì)于 J 表: J ( JNO , JNAME , CITY ) ;建 J 表:CREATE TABLE J(Jno C(2) UNlQUE , JNAMEC(8), CITY C(4)對(duì)于 sPJ 表: sPJ ( sNo , PNo , JNo

8、 , QTY ) ;建 SPJ 表: SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(SnoC(2) , Pno C(2) ,JNO C(2), QTY INT)針對(duì)建立的 4 個(gè)表用 sQL 語(yǔ)言完成第二章習(xí)題 6 中的查詢。( l )求供應(yīng)工程 Jl 零件的供應(yīng)商號(hào)碼 SNO ;SELECT DIST SNO FROM SPJ WHEREJNO '=J1'( 2 )求供應(yīng)工程 Jl 零件 Pl 的供應(yīng)商號(hào)碼 SNO ;SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1

9、9;( 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 )求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào) JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY=' 天 津 ' AND COLOR=' 紅 ' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO) 。

10、( 5 )求至少用了供應(yīng)商 Sl 所供應(yīng)的全部零件的工程號(hào)JNO ;由于 VFP 不允許子查詢嵌套太深,將查詢分為兩步A、查詢 S1 供應(yīng)商供應(yīng)的零件號(hào)SELECT DIST PNO FROM SPJ WHERE SNO='S結(jié)1'果是( P1 , P2 )B、查詢哪一個(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ǔ)言完成以下各項(xiàng)操作:(1) 找出所有供應(yīng)商的

11、姓名和所在城市。SELECT SNAME,CITY FROM S(2) 找出所有零件的名稱、顏色、重量。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 使用的各種零件的名稱及其數(shù)量。SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'(5) 找出上海廠商供應(yīng)的所有零件號(hào)碼。SELECT PNO FROM SPJ,S WH

12、ERE S.SNO=SPJ.SNO AND CITY='上海 '(6) 出使用上海產(chǎn)的零件的工程名稱。SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY=' 上海' AND J.JNO=SPJ.JNO(7) 找出沒有使用天津產(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 是唯一

13、或不唯一的情況 .注意: SELECT DIST JNO FROM SPJ,S WHERE 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=

14、9;P6'(10) 從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是 S2 的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。A、 DELETE FROM S WHERESNO= 'S2'B 、 DELETE FROM SPJ WHERESNO= S2'(11) 請(qǐng)將(S2 , J6, P4, 200)插入供應(yīng)情況關(guān)系。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)出的表。 視圖本身

15、不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中, 是一個(gè)虛表。 即數(shù)據(jù)庫(kù)中只存放視圖的 定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù), 這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。 視圖在概念上與基 本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7 試述視圖的優(yōu)點(diǎn)( l )視圖能夠簡(jiǎn)化用戶的操作; ( 2 )視圖使用戶能以多種角度看待同一數(shù)據(jù); ( 3 )視 圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性;( 4 )視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。8 哪類視圖是可以更新的?哪類視圖是不可更新的?各舉一例說明。 答:基本表的行列子集視圖一般是可更新的。 若視圖的屬性來自集合函數(shù)、 表達(dá)式,則該視 圖肯定是不可以更新的。所有的視圖是否

16、都可以更新?為什么?答:不是。 視圖是不實(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,SPJ.PNO,QTY FROM SPJ,JWHERE SPJ.JNO=J.JNO AND J.JNAME=' 三建 '針對(duì)該視圖 VSP 完成下列查詢:(1) 找出三建工程項(xiàng)目使用的各種

17、零件代碼及其數(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)系? 答:安全性問題不是數(shù)據(jù)庫(kù)系統(tǒng)所獨(dú)有的, 所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問題。 只是在數(shù)據(jù)庫(kù)系 統(tǒng)中大量數(shù)據(jù)集中存放,而且為許多最終用戶直接共享,從而使安全性問題更為突出。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)的主要指標(biāo)之一。數(shù)

18、據(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 )用戶標(biāo)識(shí)和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份。每次 用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才提供系統(tǒng)的使用權(quán)。( 2 )存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫(kù),所 有未被授權(quán)的人員無法存取數(shù)據(jù)。例如 CZ 級(jí)中的自主存取控制 ( DAC ) , Bl 級(jí)中的強(qiáng)制存 取控制( MAC )。( 3 )視圖機(jī)制:為不同的用戶定義視圖,通過視圖

19、機(jī)制把要保密的數(shù)據(jù)對(duì)無權(quán)存取的用戶 隱藏起來,從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。( 4 )審計(jì): 建 立審計(jì)日志, 把用戶對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來放入審計(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)行加密處理,從而使得不知道解密算法的人無法獲 知數(shù)據(jù)的內(nèi)容。5什么是數(shù)據(jù)庫(kù)中的自主存取控制方法和強(qiáng)制存取控制方法?答:自主存取控制方法: 定義各個(gè)用戶對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。 當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)訪問時(shí)首先 檢查用戶的存取權(quán)限。防止不合法用戶對(duì)數(shù)據(jù)庫(kù)的存取。強(qiáng)制存取控制方法:每

20、一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以一定的密級(jí),每一個(gè)用戶也被(強(qiáng)制 地)授予某一個(gè)級(jí)別的許可證。 系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的用戶才能存取某一個(gè)密 級(jí)的數(shù)據(jù)對(duì)象。9. (1) GRANT ALL PRIVILEGES ON Student,ClassTO U1WITH GRANT OPTION ;(2)GRANT SELECT,UPDATE( 家庭住址 ),DELETE ON Student TO U2;(3) GRANT SELECT ON Class TO PUBLIC ;(4) GRANT SELECT,UPDATE ON Student TO R1;(5) GRANT R1 TO U1

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

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

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

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

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

26、被動(dòng)實(shí)體,是受主體操縱的,包括文件、基表、索引、視圖等。對(duì)于主體和 客體, DBMS 為它們每個(gè)實(shí)例(值)指派一個(gè)敏感度標(biāo)記( Label )。敏感度標(biāo)記被分成若干級(jí)別, 例如絕密( Top Secret )、機(jī)密(Secret )· 可信( Confidential )、 公開( PubliC )等。主體的敏感度標(biāo)記稱為許可證級(jí)別( ClearanCe 玫 vel ) ,客體的敏感 度標(biāo)記稱為密級(jí)( Classification Level )。11 什么是數(shù)據(jù)庫(kù)的審計(jì)功能,為什么要提供審計(jì)功能?答:審計(jì)功能是指 DBMS 的審計(jì)模塊在用戶對(duì)數(shù)據(jù)庫(kù)執(zhí)行操作的同時(shí)把所有操作自動(dòng)記錄

27、到系統(tǒng)的審計(jì)日志中。因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無缺的, 蓄意盜竊破壞數(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

28、)所造成的無效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的 存取。 也就是說, 安全性措施的防范對(duì)象是非法用戶和非法操作, 完整性措施的防范對(duì)象是 不合語(yǔ)義的數(shù)據(jù)。3 什么是數(shù)據(jù)庫(kù)的完整性約束條件?可分為哪幾類? 答完整性約束條件是指數(shù)據(jù)庫(kù)中的數(shù)據(jù)應(yīng)該滿足的語(yǔ)義約束條件。 一般可以分為六類: 靜態(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è)方面: ( l )對(duì)數(shù)據(jù)類型的約束,包 括數(shù)據(jù)的類型、長(zhǎng)度、單位、精度等; ( 2 )對(duì)數(shù)據(jù)格式的約束; ( 3 )對(duì)取值范圍或取 值集合的約束; ( 4 )

29、對(duì)空值的約束; ( 5 )其他約束。靜態(tài)元組約束就是規(guī)定組成一個(gè) 元組的各個(gè)列之間的約束關(guān)系, 靜態(tài)元組約束只局限在單個(gè)元組上。 靜態(tài)關(guān)系約束是在一個(gè) 關(guān)系的各個(gè)元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。常見的靜態(tài)關(guān)系約束有:( l )實(shí)體完整性約束; ( 2 )參照完整性約束;( 3 )函數(shù)依賴約束。動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足的約束條件,包括下面兩方面: ( l )修改列定 義時(shí)的約束; ( 2 )修改列值時(shí)的約束。動(dòng)態(tài)元組約束是指修改某個(gè)元組的值時(shí)需要參照 其舊值, 并且新舊值之間需要滿足某種約束條件。 動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上 的限制條件,例如事務(wù)一致性、原

30、子性等約束條件。4 . DBMS 的完整性控制機(jī)制應(yīng)具有哪些功能?答:DBMS 的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能: ( l )定義功能,即提供定義完整性約 束條件的機(jī)制; ( 2 )檢查功能,即檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件;( 3 )違約反應(yīng):如果發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng) 作來保證數(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)刪 除( CASCA

31、DES ) ; 2 )受限刪除( RESTRICTED ) ; 3 )置空值刪除( NULLIFIES )。( 3 )在參照關(guān)系中插入元組時(shí)的問題,這時(shí)系統(tǒng)可能采取的作法有: l )受限插入; 2 ) 遞歸插入。( 4 )修改關(guān)系中主碼的問題。一般是不能用 UPDATE 語(yǔ)句修改關(guān)系主碼的。如果需要修 改主碼值, 只能先刪除該元組, 然后再把具有新主碼值的元組插入到關(guān)系中。 如果允許修改 主碼, 首先要保證主碼的惟一性和非空, 否則拒絕修改。 然后要區(qū)分是參照關(guān)系還是被參照 關(guān)系。6 假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部門號(hào)) ,其中 職工號(hào)為主碼;部門(部門號(hào),名

32、稱,經(jīng)理名,電話) ,其中部門號(hào)為主碼。用 sQL 語(yǔ)言 定義這兩個(gè)關(guān)系模式, 要求在模式中完成以下完整性約束條件的定義: 定義每個(gè)模式的主碼; 定義參照完整性;定義職工年齡不得超過 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),CONSTR

33、AINT C1 CHECK ( Aage<=60),Job VARCHAR(9),Sal NUMBER(7,2),Deptno NUMBER(2),CONSTRAINT FK_DEPTNOFOREIGN KEY(Deptno) REFFERENCES DEPT(Deptno);7 關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整性約束條件時(shí),一 般是如何分別進(jìn)行處理的?答:對(duì)于違反實(shí)體完整性和用戶定義的完整性的操作一般都采用拒絕執(zhí)行的方式進(jìn)行處理。 而對(duì) 于違反參照完整性的操作, 并不都是簡(jiǎn)單地拒絕執(zhí)行, 有時(shí)要根據(jù)應(yīng)用語(yǔ)義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫(kù)的正確性。第 6 章

34、 關(guān)系數(shù)據(jù)庫(kù)理論All1 理解并給出下列術(shù)語(yǔ)的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、主碼、外碼、全碼(key )、1 NF 、ZNF 、3NF 、 BcNF 、多值依賴、 4NF 。定義 1:設(shè)R(U)是屬性集 U 上的關(guān)系模式。 X, Y 是屬性集 U 的子集。若對(duì)于 R(U)的任意 一個(gè)可能的關(guān)系 r,r 中不可能存在兩個(gè)元組在X 上的屬性值相等, 而在 Y 上的屬性值不等,則稱X 函數(shù)確定 Y 或Y 函數(shù)依賴于 X,記作 X Y 。(即只要 X 上的屬性值相等, Y 上的值 一定相等。) 術(shù)語(yǔ)和記號(hào):X Y ,但 Y 不是 X 的子集,則稱X Y 是非平凡的函數(shù)依

35、賴。若不特別聲明,總 是 討論非 平凡的函數(shù)依賴。X Y ,但 Y 是 X 的子集,則稱X Y 是平凡的函數(shù)依賴。若 X Y ,則 X 叫做決定因素 (Determinant) 。若 X Y, Y X,則記作 XY 。若Y 不函數(shù)依賴于 X,則記作 X Y。定義 2:在 R(U) 中,如果 X Y ,并且對(duì)于 X 的任何一個(gè)真子集 X',都有 X' Y,則稱Y 對(duì) X 完全函數(shù)依賴若 X Y ,但 Y 不完全函數(shù)依賴于X ,則稱Y 對(duì) X 部分函數(shù)依賴定義 3:若關(guān)系模式 R 的每一個(gè)分量是不可再分的數(shù)據(jù)項(xiàng), 則關(guān)系模式 R 屬于第一范式 (1NF) 定義 4:若關(guān)系模式 R1

36、NF ,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則關(guān)系模式 R2NF 。(即 1NF 消除了非主屬性對(duì)碼的部分函數(shù)依賴則成為2NF )。定義 5:關(guān)系模式 R<U ,F(xiàn)> 中若不存在這樣的碼 X、屬性組 Y 及非主屬性 Z(Z 不是 Y 的子 集)使得 X Y,Y X,YZ 成立,則稱R <U , F> 3NF 。定義 6:關(guān)系模式 R<U , F>1NF 。若 X Y 且 Y 不是 X 的子集時(shí),X 必含有碼,則 R<U ,F(xiàn)>BCNF 。定義 7:關(guān)系模式 R<U , F>1NF ,如果對(duì)于 R 的每個(gè)非平凡多值依賴 X Y(Y 不是

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

38、賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴, 還是部分函數(shù)依賴。 指出 各關(guān)系模式的候選碼、外部碼,有沒有全碼存在 ?解: (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ù)依賴集如下:A 、學(xué)生 S (Sno ,Sname ,Sbirth ,Dept ,Class , Rno) 的

39、最小函數(shù)依賴集如下 :Sno Sname , Sno Sbirth , Sno Class , Class Dept , DEPT Rno傳遞依賴如下:由于 Sno Dept ,而 Dept Sno , Dept Rno (宿舍區(qū))所以 Sno 與 Rno 之間存在著傳遞函數(shù)依賴。由于 Class Dept , DeptClass ,Dept Rno所以 Class 與 Rno 之間存在著傳遞函數(shù)依賴。由于 Sno Class , Class Sno , Class Dept 所以 Sno 與 Dept 之間存在著傳遞函數(shù)依賴。B 、班級(jí) C(Class , Pname , Dept , Cn

40、um , Cyear) 的最小函數(shù)依賴集如下 : Class Pname , Class Cnum , Class Cyear , Pname Dept. 由于 Class Pname , Pname Class , Pname Dept所以 C1ass 與 Dept 之間存在著傳遞函數(shù)依賴。C 、系 D(Dept , Dno , Office , Dnum) 的最小函數(shù)依賴集如下:Dept Dno , Dno Dept, Dno Office ,Dno Dnum 根據(jù)上述函數(shù)依賴可知, Dept 與 Office , Dept 與 Dnum 之間不存在傳遞依賴。D 、學(xué)會(huì) M(Mname ,

41、 Myear , Maddr , Mnum) 的最小函數(shù)依賴集如下: Mname Myear , Mname Maddr , Mname Mnum該模式不存在傳遞依賴。(3) 各關(guān)系模式的候選碼、外部碼,全碼如下:A 、學(xué)生 S 候選碼: Sno ;外部碼: Dept 、 Class ;無全碼B 、班級(jí) C 候選碼: Class ;外部碼: Dept ;無全碼C、系 D 候選碼: Dept 或 Dno ;無外部碼;無全碼D 、學(xué)會(huì) M 候選碼: Mname ;無外部碼;無全碼 7下面的結(jié)論哪些是正確的 ? 哪些是錯(cuò)誤的 ? 對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例說明之。 (1)任何一個(gè)二目關(guān)系是屬于3NF 。

42、答:正確。因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無傳遞。( 2)任何一個(gè)二目關(guān)系是屬于BCNF.答 :正確。按 BCNF 的定義,若 X Y, 且 Y 不是 X 的子集時(shí),每個(gè)決定因素都包含碼, 對(duì)于二目關(guān)系決定因素必然包含碼。詳細(xì)證明如下: (任何二元關(guān)系模式必定是 BCNF )。證明:設(shè) R 為一個(gè)二目關(guān)系 R(A1 ,A2) ,則屬性 A1 和 A2 之間可能存在以下幾種依 賴關(guān)系:A 、A1 A2 ,但 A2 A1,則關(guān)系 R 的碼為 A1 ,決定因素都包含碼, 所以,R 是 BCNF 。 B、A1 A2, A2 A1 ,則關(guān)系 R 的碼為 A2 ,所以決定因素都包含碼,R 是 BCNF 。

43、包含碼。 R 是 BCNF 。C、R 的碼為 (A1 ,A2) (即 A1 A2, A2 A1 ),決定因素都第七章 數(shù)據(jù)庫(kù)設(shè)計(jì)1試述數(shù)據(jù)庫(kù)設(shè)計(jì)過程。答:這里只概要列出數(shù)據(jù)庫(kù)設(shè)計(jì)過程的六個(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ì)過程。 不僅包括設(shè)計(jì)數(shù)據(jù)庫(kù)本身, 還包 括數(shù)據(jù)庫(kù)的實(shí)施、 運(yùn)行和維護(hù)。 設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷 反復(fù)。2 試述數(shù)據(jù)庫(kù)設(shè)計(jì)過程各個(gè)階段上的設(shè)計(jì)描述。 答:各階段的設(shè)計(jì)要點(diǎn)如下:( l )需

44、求分析: 準(zhǔn)確了解與分析用戶需求 (包括數(shù)據(jù)與處理)( 2 )概念結(jié)構(gòu)設(shè)計(jì):通過對(duì)用戶需求進(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ù),并進(jìn)行試運(yùn)行。 ( 6 )數(shù)據(jù)庫(kù)運(yùn)行和維護(hù):在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過程中對(duì)其 進(jìn)行評(píng)價(jià)、調(diào)整與修改。3 試述數(shù)據(jù)庫(kù)設(shè)計(jì)過程中結(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ù)

溫馨提示

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