【正文】
指出各關(guān)系的候選碼、外部碼,有沒有全碼存在? 答: 關(guān)系模式: 學(xué)生S(S,SN,SB,DN,C,SA) 班級C(C,CS,DN,CNUM,CDATE) 系 D(D,DN,DA,DNUM) 學(xué)會P(PN,DATE1,PA,PNUM) 學(xué)生學(xué)會SP(S,PN,DATE2) 其中,S—學(xué)號,SN—姓名,SB—出生年月,SA—宿舍區(qū) C—班號,CS—專業(yè)名,CNUM—班級人數(shù),CDATE—入校年份 D—系號,DN—系名,DA—系辦。學(xué)生參加某學(xué)會有一個入會年份。一個系的學(xué)生住在同一宿舍區(qū)。 描述學(xué)會的屬性有:學(xué)會名、成立年份、地點、人數(shù)。 描述班級的屬性有:班號、專業(yè)名、系名、人數(shù)、入校年份。 2.建立一個關(guān)于系、學(xué)生、班級、學(xué)會等諸信息的關(guān)系數(shù)據(jù)庫。 答: 外碼:關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個關(guān)系模式的碼,則稱X是R的外部碼也稱外碼。 候選碼、主碼: 設(shè)K為R(U,F(xiàn))中的屬性或?qū)傩越M合,若K → U則K為R的候選碼。 答: 完全函數(shù)依賴、部分函數(shù)依賴:在R(U)中,如果X→Y,并且對于X的任何一個真子集X,都有X′→Y,則稱Y對X完全函數(shù)依賴。 3)我們要從屬性間實際存在的語義來確定他們之間的函數(shù)依賴,即函數(shù)依賴反映了(描述了)現(xiàn)實世界的一種語義。 2)函數(shù)依賴是屬性之間的一種聯(lián)系,體現(xiàn)在屬性值是否相等。對于R (U)的任意一個可能的關(guān)系r,如果r中不存在兩個元組,它們在X上的屬性值相同, 而在Y上的屬性值不同, 則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作X→Y。關(guān)鍵是真正理解和運用這些概念。 A. 1NF B. 2NF C. 3NF D. BCNF 選擇題答案: (1) A (2) B (3) B (4) A (5) D (6) B (7) C (8) B (9) B (10) C (11) D (12) A (13) D (14) D (15) B (16) B (17) D (18) B (19) C (20) C (21) C (22) A (23) A (24) A (25) D (26) B (27) B (28) B (29) B (30) B (31) D (32) B (33) B B D 二、簡答題 1.理解并給出下列術(shù)語的定義: 函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、候選碼、主碼、 外碼、全碼。 A. C B.(H,S) C.(H,R) D.(H,T) ?。?)關(guān)系模式A的規(guī)范化程度最高達到( )。 32. 根據(jù)關(guān)系數(shù)據(jù)庫規(guī)范化理論,關(guān)系數(shù)據(jù)庫中的關(guān)系要滿足第一范式,部門(部門號,部門名,部門成員,部門總經(jīng)理)關(guān)系中,因哪個屬性而使它不滿足第一范式( )。 →Y,Y→Z,則X→YZ →YZ,則X→Y, Y→Z →Y,WY→Z,則XW→Z →Y,Z∈Y,則X→Z 30. X→Y,當(dāng)下列哪一條成立時,稱為平凡的函數(shù)依賴( )。 A. 1NF B. 2NF C. 3NF D. BCNF 28. 設(shè)有關(guān)系模式R(A,B,C,D),其數(shù)據(jù)依賴集:F={(A,B)→C,C→D},則關(guān)系模式R的規(guī)范化程度最高達到( )。 A. 容易產(chǎn)生錯誤 B. 容易產(chǎn)生沖突 C. 無關(guān)緊要 D. 由基本數(shù)據(jù)導(dǎo)出 26. 學(xué)生表(id,name,sex,age,depart_id,depart_name),存在函數(shù)依賴是id→name,sex,age,depart_id;dept_id→dept_name,其滿足( )。 A. 插入、刪除和數(shù)據(jù)冗余 B. 提高查詢速度 C. 減少數(shù)據(jù)操作的復(fù)雜性 D. 保證數(shù)據(jù)的安全性和完整性 24. 關(guān)系的規(guī)范化中,各個范式之間的關(guān)系是( ) 。 A. 任何一個包含兩個屬性的關(guān)系模式一定滿足3NF B. 任何一個包含兩個屬性的關(guān)系模式一定滿足BCNF C. 任何一個包含三個屬性的關(guān)系模式一定滿足3NF D. 任何一個關(guān)系模式都一定有碼 22. 設(shè)關(guān)系模式R(A,B,C),F(xiàn)是R上成立的FD集,F(xiàn)={B→C},則分解P={AB,BC}相對于F( )。 →→Y,則X→→Z →Y,則X→→Y →→Y,且Y′∈Y,則X→→Y′ ?。健?,則X→→Y 20. 若關(guān)系模式R(U,F(xiàn))屬于3NF,則( )。 I.(A,B,C)(C,D,E) II.(A,B)(A,C,D,E) III.(A,C)(B,C,D,E) IV.(A,B)(C,D,E) Ⅳ B. Ⅰ和Ⅱ C. Ⅰ、Ⅱ和Ⅲ D. 都不是 19. 設(shè)U是所有屬性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。 17. 任何一個滿足2NF但不滿足3NF的關(guān)系模式都不存在( )。 A. 1NF C. 3NF D. BCNF 15. 在關(guān)系規(guī)范式中,分解關(guān)系的基本原則是( )。 A. 不可再分 B. 可以再分 C. 命名在關(guān)系模式上可以不唯一 D. 以上都不是 13. 設(shè)有關(guān)系模式W(C,P,S,G,T,R),其中各屬性的含義是:C表示課程,P表示教師,S表示學(xué)生,G表示成績,T表示時間,R表示教室,根據(jù)語義有如下數(shù)據(jù)依賴集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },若將關(guān)系模式W分解為三個關(guān)系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),則W1的規(guī)范化程序最高達到( ) 。 A. 多個 B. 0個 C. 1個 D. 1個或多個 11. 候選關(guān)鍵字的屬性可以有( ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 9. 如果A-B ,那么屬性A和屬性B的聯(lián)系是( ) 。 A. 可能是1NF B. 必定是1NF C. 必定是3NF D. 必定是BCNF 7. 關(guān)系模式R中的屬性全是主屬性,則R的最高范式必定是( ) 。 A. 1NF C. 3NF D. BCNF 5. 設(shè)有關(guān)系模式W(C,P,S,G,T,R),其中各屬性的含義是:C表示課程,P表示教師,S表示學(xué)生,G表示成績,T表示時間,R表示教室,根據(jù)語義有如下數(shù)據(jù)依賴集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },關(guān)系模式W的一個關(guān)鍵字是( ) 。 A. 長度不變的 B. 不可分解的 C.互相關(guān)聯(lián)的 D. 互不相關(guān)的 3. 已知關(guān)系模式R(A,B,C,D,E)及其上的函數(shù)相關(guān)性集合F={A→D,B→C ,E→A },該關(guān)系模式的候選關(guān)鍵字是( ) 。 第六章 關(guān)系數(shù)據(jù)理論 一、選擇題 1. 為了設(shè)計出性能較優(yōu)的關(guān)系模式,必須進行規(guī)范化,規(guī)范化主要的理論依據(jù)是( ) 。 *8. 試述你了解的某一個實際的DBMS產(chǎn)品的完整性控制策略。而對于違反參照完整性的操作,并不都是簡單地拒絕執(zhí)行,有時要根據(jù)應(yīng)用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的正確性。 答 CREATE TABLE DEPT (Deptno NUMBER(2), Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12) CONSTRAINT PK_SC PRIMARY KEY (Deptno))。 詳細討論可以參見《概論》。 如果允許修改主碼,首先要保證主碼的唯一性和非空,否則拒絕修改。 ? 答: RDBMS在實現(xiàn)參照完整性時需要考慮以下幾個方面: 1) 外碼是否可以接受空值 2) 刪除被參照關(guān)系的元組時的考慮,這時系統(tǒng)可能采取的作法有三種: (a)級聯(lián)刪除(CASCADES); (b)受限刪除(RESTRICTED); (c)置空值刪除(NULLIFIES) 3) 在參照關(guān)系中插入元組時的問題,這時系統(tǒng)可能采取的作法有: (a)受限插入 (b)遞歸插入 4) 修改關(guān)系中主碼的問題 一般是不能用UPDATE語句修改關(guān)系主碼的。 2. 檢查功能,即檢查用戶發(fā)出的操作請求是否違背了完整性約束條件。 動態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。 3. 函數(shù)依賴約束。常見的靜態(tài)關(guān)系約束有: 1. 實體完整性約束。 4. 對空值的約束 5. 其他約束 靜態(tài)元組約束就是規(guī)定組成一個元組的各個列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個元組上。 一般可以分為六類: 靜態(tài)列級約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動態(tài)列級約束、動態(tài)元組約束、動態(tài)關(guān)系約束。 也就是說,安全性措施的防范對象是非法用戶和非法操作,完整性措施的防范對象是不合語義的數(shù)據(jù)。 前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯誤信息的輸入和輸出,即所謂垃圾進垃圾出(Garbage In Garbage Out)所造成的無效操作和錯誤結(jié)果。 A. INSERT B. DELETE C. REFERENCES D. SELECT 選擇題答案: (1) A C B D (2) A (3) C 二、簡答題 ??? 答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。 A. 不合語義的數(shù)據(jù) B. 非法用戶 C. 不正確的數(shù)據(jù) D. 非法操作 2.下述哪個是SQL語言中的數(shù)據(jù)控制命令( )。 第五章 數(shù)據(jù)庫完整性 一、選擇題 1.完整性檢查和控制的防范對象( ),防止它們進入數(shù)據(jù)庫。 *12. 試述你了解的某一個實際的DBMS產(chǎn)品的安全性措施。 ??? 答: 統(tǒng)計數(shù)據(jù)庫允許用戶查詢聚集類型的信息,如合計、平均值、最大值、最小值等,不允許查詢單個記錄信息。 因為任何系統(tǒng)的安全保護措施都不是完美無缺的,蓄意盜竊破壞數(shù)據(jù)的人總可能存在。主體的敏感度標(biāo)記稱為許可證級別(Clearance Level),客體的敏感度標(biāo)記稱為密級(Classification Level)。 對于主體和客體,DBMS為它們每個實例(值)指派一個敏感度標(biāo)記(Label)。 答: 主體是系統(tǒng)中的活動實體,既包括DBMS所管理的實際用戶,也包括代表用戶的各進程。 (d) REVOKE SELECT,UPDATE ON 職工 FROM 劉星; (e) REVOKE ALTER TABLE ON 職工,部門 FROM 張新; (f) REVOKE ALL PRIVILIGES ON 職工,部門 FROM 周平; (g) REVOKE SELECT ON 部門工資 FROM 楊蘭; DROP VIEW 部門工資; ??? 答: 強制存取控制(MAC)是對數(shù)據(jù)本身進行密級標(biāo)記,無論數(shù)據(jù)如何復(fù)制,標(biāo)記與數(shù)據(jù)是一個不可分的整體,只有符合密級標(biāo)記要求的用戶才可以操縱數(shù)據(jù),從而提供了更高級別的安全性。 CREATE VIEW 部門工資 AS SELECT ,MAX(工資),MIN(工資),AVG(工資) FROM 職工,部門 WHERE = 部門. 部門號 GROUP BY ; GRANT SELECT ON 部門工資 TO 楊蘭; (a)~(g) 的每一種情況,撤銷各用戶所授予的權(quán)力。 答: 首先建立一個視圖。讀者應(yīng)該了解你使用的DBMS產(chǎn)品的擴展語句。用戶將自己的名字作為ID。 REVOKE INSERT ON Student FROM 王平 CASCADE; 就將Student表 的INSERT權(quán)限從用戶王平處收回,選項 CASCADE 表示,如果用戶王平將 Student 的 INSERT 權(quán)限又轉(zhuǎn)授給了其他用戶,那么這些權(quán)限也將從其他用戶處收回。 答: SQL中 的自主存取控制是通過GRANT 語句和 REVOKE 語句來實現(xiàn)的。即用戶具有一定的“自主”權(quán)。系統(tǒng)規(guī)定只有具有某一許可證級別的用戶才能存取某一個密級的數(shù)據(jù)對象。防止不合法用戶對數(shù)據(jù)庫的存取。 ? 答: 自主存取控制方法:定義各個用戶對不同數(shù)據(jù)對象的存取權(quán)限。 4)審計:建立審計日志,把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志中, DBA可以利用審計跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。 2)存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫,所有未被授權(quán)的人員無法存取數(shù)據(jù)。 答: 實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)有: 1)用戶標(biāo)識和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份。 系統(tǒng)安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。 2. 數(shù)據(jù)庫安全性和計算機系統(tǒng)的安全性有什么關(guān)系? 答: 安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨有的,所有計算機系統(tǒng)都有這個問題。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4. 在數(shù)據(jù)庫的安全性控制中,授權(quán)的數(shù)據(jù)對