四級數據庫系統工程師試題及答案

爲了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的四級數據庫系統工程師試題及答案,供參考練習,預祝考生們考出自己理想的成績!

四級數據庫系統工程師試題及答案

1、數據庫與文件系統的根本區別在於[ ] (單選題)

A.提高了系統效率

B.方便了用戶使用

C.數據的結構化

D.節省了存儲空間

答案

C

2 .對由SELECT--FROM—WHERE—GROUP--ORDER組成的SQL語句,其在被DBMS處理時,各子句的執行次序爲[ ]。 (單選題)

CT—FROM—GROUP—WHERE—ORDER

——SELECT--WHERE——GROUP——ORDER

——WHERE——GROUP——SELECT——ORDER

CT——FROM——WHERE——GROUP——ORDER

答案

C

3 .現有關係模式: EMP(empno,ename,mgr,sal,workday) DEPT(deptno,dname,loc) 在以下視圖中,不可能更新的視圖爲[]。 (多選題)

A.視圖V1,由1970年以後參加工作的僱員組成

B.視圖V2,由部門號和各部門的平均工資組成

C.視圖V3,由僱員姓名和其領導者姓名組成

D.視圖V4,由薪金超出所有僱員平均薪金以上的僱員組成

E.

答案

B D

4 .試給出BCNF的定義,並說明滿足BCNF的關係有哪些特性。 (設計題)

答案

關係模式R∈1NF。若X→Y且YX時X必含有 碼,則R∈BCNF。滿足BCNF關係的特性有:所有非主屬性對每一個碼都是完全函數依賴;所有的主屬性對每一個不包含它的碼,也是完全函數依賴;沒有任何屬性完全函數依賴於非碼的任何一組屬性。

5 .在建立一個數據庫應用系統時,爲什麼要首先調試運行DBMS的恢復功能?簡述一下你所瞭解的數據庫系統的恢復方法。 (設計題)

答案

因爲計算機系統中硬件的故障、軟件的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成運行事務非正常中斷,影響數據庫中數據的正確性,重則破壞數據庫,使數據庫中全部或部分數據丟失,爲了防止出現此類事件帶來的災難性後果,必須首先調試運行DBMS的恢復功能。即把數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱爲一致狀態或完整狀態)的功能。 DBMS一般都使用數據轉儲和登錄日誌文件實現數據庫系統恢復功能。針對不同的故障,使用不同的恢復策略和方法。例如,對於事務故障的恢復是由DBMS自動完成的,對用戶是透明的。對於系統故障,也是由DBMS完成恢復操作,包括撤銷(UNDO)故障發生時未完成的事務,重做(REDO)已完成的事務。DBA的任務是重新啓動系統,系統啓動後恢復操作就由DBMS來完成了。對於介質故障,則恢復方法是由DBA重裝最新的數據庫後備副本和轉儲結束時刻的日誌文件副本,然後DBA啓動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務。

6 .試述關係數據庫系統中視圖(VIEW)的定義,引進VIEW的概念有什麼優點。 (設計題)

答案

視圖是從一個或幾個基本表導出的表。視圖本身不獨立存儲在數據庫中,是一個虛表。即數據庫中只存放視圖的定義而不存放視圖對應的數據,這些數據仍存放在導出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。引進VIEW的優點有: (1)視圖能夠簡化用戶的操作。 (2)視圖使用戶能以多種角度看待同一數據。 (3)視圖對重構數據庫提供了一定程度的邏輯獨立性。 (4)視圖能夠對機密數據提供安全保護。

7 .試述數據模型中完整性約束條件的概念,並給出關係模型中的完整性約束。 (設計題)

答案

數據模型應該反映和規定本數據模型必須遵守的基本的通用的`完整性約束條件。數據模型還應該提供定義完整性約束條件的機制,以反映具體應月所涉及的數據必須遵守的特定的語義約束條件。在關係模型中,任何關係必須滿足實體完整性和參照完整性兩個條件。這是關係數據模型必須遵守基本的通用的完整性約束條件。

8 .設有學生表S(SNO,SN)(SNO爲學生號,SN爲姓名)和學生選修課程表SC(SNO,CNO,CN,C)(CNO爲課程號,CN爲課程名,C爲成績),試用SQL語言完成以下各題 (1)建立一個視圖V—SSC(SNO,SN,CNO,CN,C),並按CNO升序排序; (2)從視圖V—SSC上查詢平均成績在90分以上的SN、CN和C。 (計算題)

答案

(1) CREATEVIEWV—SSC(SNO,SN,CNO,CN,G) AS SELECT ,,CNO,,SC.G FROM S,SC WHERE : ORDER BY CNO; (2) SELECT SN,CN,C FROM V—SSC GROUP BY SNO HAVINGAVG?>90;

9 .今有如下關係數據庫: S(SNO,SN,STATUS,CITY) P(PNO,PN,COLOR,WEIGHT) (JNO,JN,CITY) SPJ(SNO,PNO,JNO,QTY) 其中,S爲供應單位,P爲零件,J爲工程項目,SPJ爲工程訂購零件的訂單,其語義爲:某供應單位供應某種零件給某個工程,請用SQL完成下列操作。 (1)求爲工程J1提供紅色零件的供應商代號。 (2)求使用S1供應的零件的工程名稱。 (3)求供應商與工程所在城市相同的供應商提供的零件代號。 (4)求至少有一個和工程不在同一城市的供應商提供零件的工程代號。 (計算題)

答案

(1) SELECT DISnNCT FROM SPJ,P WHERE 二 AND =‘J1’AND R=‘紅’; (2) FROM J,SPJ WHERE =ND =‘S1’; (3) SELECT DISTINCT FROM S,J,SPJ WHERE = AND)= AND =; (4) SELECT DISTINCT FROM S,J,SPJ WHERE = AND = AND <>;

10 .假設存款餘額x:1000元,甲事務取走存款300元,乙事務取走存款200元,其執行時間如下:甲事務 時間 乙事務讀x t1 t2 讀x 更新x二x—300 t3 14 更新x:x—200 如何實現這兩個事務的併發控制? (計算題)

答案

如果按照題中的順序執行甲乙兩個事務,則最後的x爲800,而不是正確的500。爲此,採用封鎖的方法,將甲事務修改爲: WHILE(x上已有排他鎖) {等待 } 對x加上排他鎖讀x 更新x=x-300 釋放排他鎖將乙事務修改爲: { 等待 } 對x加上排他鎖讀x 更新x=x-200 釋放排他鎖可以說明如下:甲事務 時間 乙事務 XLOCK x t1 獲得 t2 XLOCK x 等待更新x=x-300 t3 等待 x=700 Commit t4 等待 UNLOCKx t5 等待 t6 獲得XLOCK x t7 更新x=x-200 x=500 t8 Commit t9 UNLOCK x