數(shù)據(jù)庫(kù)原理及應(yīng)用-期末考試試題及答案
數(shù)據(jù)庫(kù)原理及應(yīng)用-期末考試試題及答案
一、單項(xiàng)選擇題
得 分
(本大題共10小題,每小題2分,共20分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要 求的,錯(cuò)選、多選或未選均無(wú)分。
1. DB、DBMS和DBS三者之間的關(guān)系是( )。
A.DB包括DBMS和DBS B.DBS包括DB和DBMS
C.DBMS包括DB和DBS D.不能相互包括
2. 對(duì)數(shù)據(jù)庫(kù)物理存儲(chǔ)方式的描述稱(chēng)為( )
A.外模式 B.內(nèi)模式
C.概念模式 D.邏輯模式
3. 在數(shù)據(jù)庫(kù)三級(jí)模式間引入二級(jí)映象的主要作用是( )
A.提高數(shù)據(jù)與程序的獨(dú)立性 B.提高數(shù)據(jù)與程序的安全性
C.保持?jǐn)?shù)據(jù)與程序的一致性 D.提高數(shù)據(jù)與程序的可移植性
4. 視圖是一個(gè)“虛表”,視圖的構(gòu)造基于( )
A.基本表 B.視圖
C.基本表或視圖 D.?dāng)?shù)據(jù)字典
5. 關(guān)系代數(shù)中的π運(yùn)算符對(duì)應(yīng)SELECT語(yǔ)句中的以下哪個(gè)子句?( )
A.SELECT B.FROM
C.WHERE D.GROUP BY
6. 公司中有多個(gè)部門(mén)和多名職員,每個(gè)職員只能屬于一個(gè)部門(mén),一個(gè)部門(mén)可以有多名職員,從職員到部門(mén)的聯(lián)系類(lèi)型是( )
A.多對(duì)多 B.一對(duì)一 C.多對(duì)一 D.一對(duì)多
7. 如何構(gòu)造出一個(gè)合適的數(shù)據(jù)邏輯結(jié)構(gòu)是( )主要解決的問(wèn)題。
A.關(guān)系系統(tǒng)查詢(xún)優(yōu)化 B.?dāng)?shù)據(jù)字典
C.關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 D.關(guān)系數(shù)據(jù)庫(kù)查詢(xún)
8. 將E-R模型轉(zhuǎn)換成關(guān)系模型,屬于數(shù)據(jù)庫(kù)的( )。
A. 需求分析 B. 概念設(shè)計(jì)
C. 邏輯設(shè)計(jì) D. 物理設(shè)計(jì)
9. 事務(wù)日志的用途是( )
A. 事務(wù)處理 B. 完整性約束
C. 數(shù)據(jù)恢復(fù) D. 安全性控制
10.如果事務(wù)T已在數(shù)據(jù)R上加了X鎖,則其他事務(wù)在數(shù)據(jù)R上( )
A. 只可加X(jué)鎖 B. 只可加S鎖
C. 可加S鎖或X鎖 D. 不能加任何鎖
二、填空題
得 分
(本大題共10小題,每小題2分,共20分)
錯(cuò)填、不填均無(wú)分。
1. 數(shù)據(jù)庫(kù)的邏輯數(shù)據(jù)獨(dú)立性是由 映象提供的。
2. 關(guān)系代數(shù)中專(zhuān)門(mén)的關(guān)系運(yùn)算包括:選擇、投影、連接和_________。
3. 設(shè)有學(xué)生表S(學(xué)號(hào),姓名,班級(jí))和學(xué)生選課表SC(學(xué)號(hào),課程號(hào),成績(jī)),為維護(hù)數(shù)據(jù)一致性,表S與SC之間應(yīng)滿(mǎn)足 完整性約束。
4. 當(dāng)數(shù)據(jù)庫(kù)被破壞后,如果事先保存了數(shù)據(jù)庫(kù)副本和 ,就有可能恢復(fù)數(shù)據(jù)庫(kù)。
5. 如果一個(gè)滿(mǎn)足1NF關(guān)系的所有屬性合起來(lái)組成一個(gè)關(guān)鍵字,則該關(guān)系最高滿(mǎn)足的范式是 (在1NF、2NF、3NF范圍內(nèi))。
6. 設(shè)關(guān)系模式R(A,B,C,D),函數(shù)依賴(lài)集F={AB→C,D→B},則R的候選碼為 。
7. 從關(guān)系規(guī)范化理論的角度講,一個(gè)只滿(mǎn)足1NF的關(guān)系可能存在的四方面問(wèn)題是:數(shù)據(jù)冗余度大、插入異常、______________和刪除異常。
8. 并發(fā)控制的主要方法是 機(jī)制。
9. 若有關(guān)系模式R(A,B,C)和S(C,D,E),SQL語(yǔ)句
SELECT A, D FROM R, S WHERE R.C=S.C AND E = '80' ;
對(duì)應(yīng)的關(guān)系代數(shù)表達(dá)式是 。
10. 分E-R圖之間的沖突主要有屬性沖突、 、結(jié)構(gòu)沖突三種。
得 分
三、簡(jiǎn)答題
(本大題共4小題,每小題5分,共20分)
1. 說(shuō)明視圖與基本表的區(qū)別和聯(lián)系。
2. 簡(jiǎn)述事務(wù)的特性。
3. 試述關(guān)系模型的參照完整性規(guī)則。
4. 簡(jiǎn)述系統(tǒng)故障時(shí)的數(shù)據(jù)庫(kù)恢復(fù)策略。
得 分
四、設(shè)計(jì)題
(本大題共5小題,每小題4分,共20分)
現(xiàn)有關(guān)系數(shù)據(jù)庫(kù)如下:
學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè))
課程(課程號(hào),課程名,學(xué)分)
學(xué)習(xí)(學(xué)號(hào),課程號(hào),分?jǐn)?shù))
分別用關(guān)系代數(shù)表達(dá)式和SQL語(yǔ)句實(shí)現(xiàn)下列1—5小題(注意:每小題都要分別寫(xiě)出關(guān)系代數(shù)表達(dá)式和SQL語(yǔ)句?。?!每小題關(guān)系代數(shù)表達(dá)式2分,SQL語(yǔ)句2分):
1. 檢索所有選修了課程號(hào)為“C112”的課程的學(xué)生的學(xué)號(hào)和分?jǐn)?shù);
2. 檢索“英語(yǔ)”專(zhuān)業(yè)學(xué)生所學(xué)課程的信息,包括學(xué)號(hào)、姓名、課程名和分?jǐn)?shù);
3. 檢索“數(shù)據(jù)庫(kù)原理”課程成績(jī)高于90分的所有學(xué)生的學(xué)號(hào)、姓名、專(zhuān)業(yè)和分?jǐn)?shù);
4. 檢索沒(méi)學(xué)課程號(hào)為“C135”課程的學(xué)生信息,包括學(xué)號(hào),姓名和專(zhuān)業(yè);
5. 檢索至少學(xué)過(guò)課程號(hào)為“C135”和“C219”的課程的學(xué)生的信息,包括學(xué)號(hào)、姓名和專(zhuān)業(yè)。
得 分
五、綜合題
(本大題共2小題,每小題10分,共20分)
1. 現(xiàn)有如下關(guān)系模式:借閱(圖書(shū)編號(hào),書(shū)名,作者名,出版社,讀者編號(hào),讀者姓名,借閱日期,歸還日期),基本函數(shù)依賴(lài)集F={圖書(shū)編號(hào)→(書(shū)名,作者名,出版社),讀者編號(hào)→讀者姓名,(圖書(shū)編號(hào),讀者編號(hào),借閱日期)→歸還日期}
(1)讀者編號(hào)是候選碼嗎?(2分)
(2)寫(xiě)出該關(guān)系模式的主碼。(2分)
(3)該關(guān)系模式中是否存在非主屬性對(duì)碼的部分函數(shù)依賴(lài)?如果存在,請(qǐng)寫(xiě)出一個(gè)。(2分)
(4)該關(guān)系模式滿(mǎn)足第幾范式?并說(shuō)明理由。(4分)
2. 某工廠生產(chǎn)多種產(chǎn)品,每種產(chǎn)品由不同的零件組裝而成,有的零件可用在不同的產(chǎn)品上。產(chǎn)品有產(chǎn)品號(hào)和產(chǎn)品名兩個(gè)屬性,零件有零件號(hào)和零件名兩個(gè)屬性。根據(jù)語(yǔ)義設(shè)計(jì)E-R模型,并將E-R模型轉(zhuǎn)換成關(guān)系模式,要求關(guān)系模式主碼加下劃線表示。(E-R模型4分,關(guān)系模型6分)
參考答案與評(píng)分細(xì)則
一、單項(xiàng)選擇題(共10小題,每小題2分,共20分)
題號(hào)
1
2
3
4
5
6
7
8
9
10
答案
B
B
A
C
A
C
C
C
C
D
二、填空題(共10小題,每小題2分,共20分)。
1. 外模式/模式 2. 除
3. __ 參照 __ 4. 日志文件_____
5. __ 3NF _ 6. _ AD __ _
7. _ 修改異常 __ 8. _ 封鎖__
9.πA,D(σE='80'(R
S)) 10. 命名沖突
三、簡(jiǎn)答題(共4小題,每小題5分,共20分)。
1. 答:視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表,它與基本表不同,它是一個(gè)虛表,(2分)數(shù)據(jù)庫(kù)中只存放視圖的定義,而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)存放在原來(lái)的基本表中,當(dāng)基本表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢(xún)出的數(shù)據(jù)也就隨之改變(2分)。視圖一經(jīng)定義就可以像基本表一樣被查詢(xún)、刪除,也可以在一個(gè)視圖之上再定義新的視圖,但是對(duì)視圖的更新操作有限制(1分)。
2. 答:事務(wù)具有四個(gè)特性,即ACID特性:(1分)
(1)原子性:事務(wù)中包括的所有操作要么都做,要么都不做。(1分)
(2)一致性:事務(wù)必須使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。(1分)
(3)隔離性:一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的。(1分)
(4)持續(xù)性:事務(wù)一旦提交,對(duì)數(shù)據(jù)庫(kù)的改變是永久的。(1分)
3. 答:參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系)(2分),則對(duì)于R中每個(gè)元組在F上的值必須為:取空值(F的每個(gè)屬性值均為空值)(1.5分)或者等于S中某個(gè)元組的主碼值(1.5分)。
4. 答:正像掃描日志文件,找出在故障發(fā)生前已經(jīng)提交的事務(wù),將其事務(wù)標(biāo)識(shí)記入REDO隊(duì)列,同時(shí)找出故障發(fā)生時(shí)尚未完成的事務(wù),將其事務(wù)標(biāo)識(shí)記入U(xiǎn)NDO隊(duì)列(2分);對(duì)UNDO隊(duì)列中的各個(gè)事務(wù)進(jìn)行撤銷(xiāo)處理(1.5分);對(duì)REDO隊(duì)列中的各個(gè)事務(wù)進(jìn)行重做處理。(1.5分)
四、設(shè)計(jì)題(共5小題,每小題關(guān)系代數(shù)式2分,SQL語(yǔ)句2分,共20分)。
1.SQL語(yǔ)句:
SELECT 學(xué)號(hào),分?jǐn)?shù) FROM 學(xué)習(xí) WHERE 課程號(hào)=’C112’
(SELECT 學(xué)號(hào),分?jǐn)?shù) FROM 學(xué)習(xí)1分,WHERE 課程號(hào)=’C112’1分)
關(guān)系代數(shù):
π學(xué)號(hào),分?jǐn)?shù)(
課程號(hào)=’C112’(學(xué)習(xí)))
(π學(xué)號(hào),分?jǐn)?shù)1分,
課程號(hào)=’C112’(學(xué)習(xí))1分。
2. SQL語(yǔ)句:
SELECT 學(xué)生.學(xué)號(hào),姓名,課程名,分?jǐn)?shù)
FROM 學(xué)生,學(xué)習(xí),課程 (1分)
WHERE 學(xué)習(xí).學(xué)號(hào)=學(xué)生.學(xué)號(hào) AND 學(xué)習(xí).課程號(hào)=課程.課程號(hào) AND 專(zhuān)業(yè)=’英語(yǔ)’ (1分)
關(guān)系代數(shù):
π學(xué)號(hào),姓名,課程名,分?jǐn)?shù)(π學(xué)號(hào),姓名(
專(zhuān)業(yè)=’英語(yǔ)’(學(xué)生))
學(xué)習(xí)
π課程號(hào),課程名(課程))
(π學(xué)號(hào),姓名,課程名,分?jǐn)?shù)1分,π學(xué)號(hào),姓名(
專(zhuān)業(yè)=’英語(yǔ)’(學(xué)生))
學(xué)習(xí)
π課程號(hào),課程名(課程)1分)
3. SQL語(yǔ)句:
SELECT 學(xué)生.學(xué)號(hào),姓名,專(zhuān)業(yè),分?jǐn)?shù)
FROM 學(xué)生,學(xué)習(xí),課程 (1分)
WHERE 學(xué)生.學(xué)號(hào)=學(xué)習(xí).學(xué)號(hào) AND 學(xué)習(xí).課程號(hào)=課程.課程號(hào) AND分?jǐn)?shù)>90 AND 課程名=‘?dāng)?shù)據(jù)庫(kù)原理’ (1分)
關(guān)系代數(shù):
π學(xué)號(hào),姓名,專(zhuān)業(yè),分?jǐn)?shù)(π學(xué)號(hào),姓名,專(zhuān)業(yè)(學(xué)生)
(
分?jǐn)?shù)>90(學(xué)習(xí)))
π課程號(hào),課程名(
課程名=’數(shù)據(jù)庫(kù)原理’(課程)))
(π學(xué)號(hào),姓名,專(zhuān)業(yè),分?jǐn)?shù)1分,π學(xué)號(hào),姓名,專(zhuān)業(yè)(學(xué)生)
(
分?jǐn)?shù)>90(學(xué)習(xí)))
π課程號(hào),課程名(
課程名=’數(shù)據(jù)庫(kù)原理’(課程)) 1分)
4.SQL語(yǔ)句:
SELECT 學(xué)號(hào),姓名,專(zhuān)業(yè)
FROM 學(xué)生
WHERE 學(xué)號(hào) NOT IN (1分)
(SELECT 學(xué)號(hào) FROM 學(xué)習(xí) WHERE 課程號(hào)=‘C135’) (1分)
關(guān)系代數(shù):
(π學(xué)號(hào)(學(xué)生)-π學(xué)號(hào)(
課程號(hào)=‘C135’ (學(xué)習(xí))))
(π學(xué)號(hào),姓名,專(zhuān)業(yè)(學(xué)生)
(π學(xué)號(hào)(學(xué)生)-1分,π學(xué)號(hào)(
課程號(hào)=‘C135’ (學(xué)習(xí))))
(π學(xué)號(hào),姓名,專(zhuān)業(yè)(學(xué)生)1分)
5.SQL語(yǔ)句:
SELECT 學(xué)號(hào),姓名,專(zhuān)業(yè) FROM 學(xué)生 WHERE 學(xué)號(hào) IN (1分)
(SELECT X1.學(xué)號(hào) FROM 學(xué)習(xí) X1,學(xué)習(xí) X2 WHERE X1.學(xué)號(hào)=X2.學(xué)號(hào) AND X1.課程號(hào)=‘C135’AND X2.課程號(hào)=‘C219’)(1分)
關(guān)系代數(shù):
(π學(xué)號(hào),課程號(hào)(學(xué)習(xí))÷π課程號(hào)(
課程號(hào)=‘C135’∨課程號(hào)=‘C219’ (課程)))
π學(xué)號(hào),姓名,專(zhuān)業(yè)(學(xué)生)
(π學(xué)號(hào),課程號(hào)(學(xué)習(xí))÷π課程號(hào)(
課程號(hào)=‘C135’∨課程號(hào)=‘C219’ (課程))1分,
π學(xué)號(hào),姓名,專(zhuān)業(yè)(學(xué)生)1分)
五、綜合題(共2小題,每小題10分,共20分)。
1.
答:(1)不是(2分)。
(2)(圖書(shū)編號(hào),讀者編號(hào),借閱日期)(2分)
(3)存在(1分)。(圖書(shū)編號(hào),讀者編號(hào),借閱日期)→書(shū)名、(圖書(shū)編號(hào),讀者編號(hào),借閱日期)→作者名、(圖書(shū)編號(hào),讀者編號(hào),借閱日期)→出版社、(圖書(shū)編號(hào),讀者編號(hào),借閱日期)→讀者姓名(1分,四個(gè)函數(shù)依賴(lài)任選一個(gè)即可)
(4)1NF。因?yàn)榇嬖诜侵鲗傩詫?duì)碼的部分函數(shù)依賴(lài)。
2.
(E-R模型4分,兩個(gè)實(shí)體型屬性少1個(gè)扣0.5分,聯(lián)系類(lèi)型錯(cuò)扣1分)
產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名)
零件(零件號(hào),零件名)
組裝(產(chǎn)品號(hào),零件號(hào))
(關(guān)系模型6分,3個(gè)關(guān)系模式各2分,主鍵錯(cuò)