數據庫模擬考試

2020-08-13 11:51:56

第1套綜合試卷

  1. 五種基本關係代數運算是[ ]

U,-,×,π和σ
U,-,∞,π和σ
U,n,x,π和σ
U,n,∞,π和σ
正確答案: A

  1. 下列聚集函數中不忽略空值(null)的是[ ]

SUM(列名)
MAX(列名)
COUNT(*)
AVG(列名)
正確答案: C

  1. 設關係模式R(A,B,C),F是及上成立的FD集,F={B→C},則分解ρ{AB,BC}[ ]

是無失真聯接,也是保持FD的分解
是無失真聯接,但不保持FD的分解
不是無失真聯接,但保持FD的分解
既不是無失真聯接,也不保持FD的分解
正確答案: A

  1. 在數據庫設計中,將E-R圖轉換成關係數據模型的過程屬於[ ]

需求分析階段
概念設計階段
邏輯設計階段
物理設計階段
正確答案: C

  1. DBMS中實現事務永續性的子系統是[ ]

安全性管理子系統
完整性管理子系統
併發控制子系統
恢復管理子系統
正確答案: D

  1. 當關系及和S自然聯接時,能夠把及和S原該捨棄的元組放到結果關係中的操作是[ ]

左外聯接
右外聯接
外部並
外聯接
正確答案: D

  1. 關係模型中的實體完整性、參照完整性

正確答案: (1)實體完整性規則:若屬性/4是基本關係及的主屬性,則屬性A不能取空值。 (2)參照完整性規則:若屬性(或屬性組)9是基本關係及的外碼,它與基本關係S的主碼X。相對應(基本關係只和S不一定是不同的關係),則對於R中每個元組在9上的值必須爲: 1)或者取空值(9的每個屬性值均爲空值); 2)或者等於S中某個元組的主碼值。

  1. 二段鎖協定,可序列化排程

正確答案: (1)兩段鎖協定是指所有事務必須分兩個階段對數據項加鎖和解鎖。 1)在對任何數據進行讀、寫操作之前,首先要申請並獲得對該數據的封鎖; 2)在釋放一個封鎖之後,事務不再申請和獲得任何其他封鎖。 「兩段」的含義是,事務分爲兩個階段: 第一階段是獲得封鎖,也稱爲擴充套件階段。在這階段,事務可以申請獲得任何數據項上的任何型別的鎖,但是不能釋放任何鎖。 第二階段是釋放封鎖,也稱爲收縮階段。在這階段,事務釋放已經獲得的鎖,但是不能再申請任何鎖。 (2)可序列化的排程的定義:多個事務的併發執行是正確的,當且僅當其結果與按某一次序序列地執行它們時的結果相同,我們稱這種排程策略爲可序列化的排程。

  1. 什麼是數據模型及其要素?

正確答案: 數據模型是數據庫中用來對現實世界進行抽象的工具,是數據庫中用於提供資訊表示和操作手段的形式構架。 一般地講,數據模型是嚴格定義的概唸的集合。這些概念精確地描述系統的靜態特性、動態特性和完整性約束條件。因此數據模型通常由數據結構、數據操作和完整性約束三部分組成。 (1)數據結構:是所研究的物件型別的集合,是對系統的靜態特性的描述。 (2)數據操作:是指對數據庫中各種物件(型)的範例(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。 (3)數據的約束條件:是完整性規則的集合,完整性規則是給定的數據模型中數據及其聯繫所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。

  1. 檔案系統的特點及其主要缺點是什麼?

正確答案: 特點:數據可以長期儲存,把數據組織成相互獨立的數據檔案,利用「按檔名存取,按記錄進行存取」的技術,可以對檔案進行修改、插入和刪除的操作。實現了記錄內的結構性,但整體無結構。應用程式和數據有一定的獨立性,程式設計師不必過多考慮物理細節,節省了維護程式的工作量。 缺點:(1)數據共用性差,冗餘度大;(2)數據獨立性差。

  1. 什麼是數據庫恢復?簡述數據庫恢復的基本技術。

正確答案: 把數據庫從錯誤狀態恢復到某一已知的正確狀態(即一致狀態或完整狀態),就是數據庫恢復。 數據庫恢復的基本技術是數據轉儲和登錄日誌檔案。即根據儲存在系統別處的冗餘資訊來恢復數據庫系統。轉儲即DBA按照一定的策略將數據庫複製到磁帶或另一個磁碟上儲存起來的過程。 日誌檔案是用來記錄事務對數據庫的所有更新操作的檔案,包括數據庫內部的更新操作。不同數據庫系統採用的日誌檔案格式是不同的。 當系統執行過程中發生故障,利用轉儲的數據庫後備副本和日誌檔案就可以將數據庫恢復到故障前的某個一致性狀態。

  1. 已知關係模式R,U={A,B,C,D,E,C}F:{AC—B,CB—D,A—BE,E—GCl 求:AB,BC,AC是否爲關係R的候選碼?

正確答案: BC不是候選碼,AB、AC是超碼。

  1. 試證由關係模式中全部屬性組成的集合爲候選碼的關係是3NF,也是BCNF。

正確答案: 證明:因爲關係模式的候選碼由全部屬性組成,所以該關係中沒有非主屬性。因此滿足關係只屬於3NF的條件:每個非主屬性既不部分依賴於碼,也不傳遞依賴於碼。

  1. 現有如下關係模式: 其中,Teacher(Tno,Tname,Tel,Dpartment,Bno,Bname,BorrowDate,Rdate,Backup)。 Tno一教師編號, Tname一教師姓名, Tel一電話, Department一所在部門, Bno一借閱圖書編號, Bname一書名, BorrowDate一借書日期, Rdate一還書日期, Backup一備註 該關係模式的屬性之間具有通常的語意,例如,教師編號函數決定教師姓名,即教師編號是惟一的,圖書編號是惟一的,等等。 1.教師編號是候選碼嗎? 2.說明上一題判斷的理由是什麼。 3.寫出該關係模式的主碼。 4.該關係模式中是否存在部分函數依賴?如果存在,請寫出其中兩個。 5.說明要將一個1NF的關係模式轉化爲若幹個2NF關係,需要如何做? 6.該關係模式最高滿足第幾範式?並說明理由。 7.將該關係模式分解爲3NF。

正確答案: 1.教師編號Tno不是候選碼。

  1. 假設某商業集團數據庫中有一關係模式R如下: R(商店編號,商品編號,商品庫存數量,部門編號,負責人)如果規定: (1)每個商店的每種商品只在該商店的一個部門銷售; (2)每個商店的每個部門只有一個負責人; (3)每個商店的每種商品只有一個庫存數量。 試回答下列問題 (1)根據上述規定,寫出關係模式R的基本函數依賴; (2)找出關系模式R的候選碼; (3)試問關係模式R最高已經達到第幾範式?爲什麼? (4)如果R不屬於3NF,請將R分解成3NF模式集。

正確答案: (1)有3個函數依賴:

  1. 在供應商、零件數據庫中有以下3個關係模式: 供應商:S(SNO,SNAME,CITY,STATUS) 零件:P(PNO,PNAME,WEIGHT,COLOR,CITY) 供應貨:SP(SNO,PNO,QTY) 各屬性的含義可由屬性名體現,不再重複,供應貨關係SP表示某供應商SNO,供應了PNO零件,數量爲QTY。 用SQL語言完成以下操作: 1.求供應紅色零件的供應商名字; 2.求北京供應商的號碼、名字和狀況(STATUS); 3.求零件P2的總供應量; 4.把零件P2的重量增加5,顏色該爲黃色。

正確答案: 1. SELECT SNAME FROM S WHERE SNO IN (SELECTSNO FROM P,SP WHERE P.COLOR:‘紅色’ANDP.PNO:SP.PNO); 2. SELECT SNO,SNAME,STATUS FROM S WHERE S.CITY:‘北京’ 3. WHERE PNO:‘P2’ 4. UPDATE P SETWEIGHT:WEIGHT十5,COLOR:‘黃色’ WHERE PNO:‘P2’

第2套綜合試卷

  1. 數據庫與檔案系統的根本區別在於[ ]

提高了系統效率
方便了使用者使用
數據的結構化
節省了儲存空間
正確答案: C

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

檢視V1,由1970年以後參加工作的僱員組成
檢視V2,由部門號和各部門的平均工資組成
檢視V3,由僱員姓名和其領導者姓名組成
檢視V4,由薪金超出所有僱員平均薪金以上的僱員組成
正確答案: B D

  1. 對由SELECT–FROM—WHERE—GROUP–ORDER組成的SQL語句,其在被DBMS處理時,各子句的執行次序爲[ ]。

SELECT—FROM—GROUP—WHERE—ORDER
FROM——SELECT–WHERE——GROUP——ORDER
FROM——WHERE——GROUP——SELECT——ORDER
SELECT——FROM——WHERE——GROUP——ORDER
正確答案: C

  1. 試給出BCNF的定義,並說明滿足BCNF的關係有哪些特性。

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

  1. 在建立一個數據庫應用系統時,爲什麼要首先偵錯執行DBMS的恢復功能?簡述一下你所瞭解的數據庫系統的恢復方法。

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

  1. 試述數據模型中完整性約束條件的概念,並給出關係模型中的完整性約束。

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

  1. 設有學生表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 S.SNO,S.SN,CNO,SC.CN,SC.G FROM S,SC WHERE S.SNO:SC.SNO ORDER BY CNO; (2) SELECT SN,CN,C FROM V—SSC GROUP BY SNO HAVINGAVG©>90;

  1. 今有如下關係數據庫: 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 SPJ.SNO FROM SPJ,P WHERE P.PNO二SPJ.PNO AND SPJ.JNO=‘J1’AND P.COLOR=‘紅’; (2) SELECTJ.JN FROM J,SPJ WHERE J.JNO=SPJ.JNOAND SPJ.SNO=‘S1’; (3) SELECT DISTINCT SPJ.PNO FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND).JNO=SPJ.JNO AND S.CITY=J.CITY; (4) SELECT DISTINCT SPJ.JNO FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY<>J.CITY;

  1. 假設存款餘額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

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

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