第1學(xué)期《數(shù)據(jù)庫原理與應(yīng)用》課程A卷



西北農(nóng)林科技大學(xué)本科課程考試試題(卷)2013—2014學(xué)年第1學(xué)期《數(shù)據(jù)庫原理與應(yīng)用》課程A卷專業(yè)班級: 命題教師: 審題教師:學(xué)生姓名: 學(xué)號: 考試成績: 一、單項選擇題(每小題2分,共20分) 得分: 分1.一個關(guān)系只有一個( C ) A.超碼 B.候選碼 C.主碼 D.外碼2.?dāng)?shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS三者之間的關(guān)系是( A )A.DBS包括DB和DBMS B.DBMS包括DB和DBSC.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS3.關(guān)系數(shù)據(jù)庫規(guī)范化是為了解決關(guān)系數(shù)據(jù)庫中( C )等問題而引入的A.減少數(shù)據(jù)操作的復(fù)雜性 B.提高查詢速度 C.插入異常、刪除異常和數(shù)據(jù)冗余 D.?dāng)?shù)據(jù)的完整性4.下列關(guān)于Oracle中觸發(fā)器的描述,不正確的是( D )。
A.視圖上只能創(chuàng)建instead of類型的觸發(fā)器B.觸發(fā)器不需要用戶調(diào)用執(zhí)行C.利用觸發(fā)器可以實施更為復(fù)雜的完整性約束D.一張表上只能創(chuàng)建一個觸發(fā)器5.Oracle數(shù)據(jù)庫物理結(jié)構(gòu)包括三種文件,以下不屬于的是( B )A.?dāng)?shù)據(jù)文件 B.系統(tǒng)文件 C.控制文件 D.日志文件6.當(dāng)關(guān)系R和S作自然連接時,能夠把R和S原該舍棄的元組保留到結(jié)果關(guān)系中的操作是( A )A. 全外連接 B. 右外連接 C. 外部并 D. 左外連接7.設(shè)有關(guān)系模式R(A,B,C),F(xiàn)是R上成立的函數(shù)依賴集,F(xiàn)={A→B,C→B},則相對于F,關(guān)系模式R的主鍵為( A ) A.AC B.ABC C.AB D.BC 8.在ER模型中,如果有6個不同實體集,有9個不同的二元聯(lián)系,其中3個1∶N聯(lián)系,3個1∶1聯(lián)系,3個M∶N聯(lián)系,根據(jù)ER模型轉(zhuǎn)換成關(guān)系模型的規(guī)則,轉(zhuǎn)換成關(guān)系的最少數(shù)目是( B ) A.6 B.9 C.12 D.15 9.設(shè)計內(nèi)模式屬于數(shù)據(jù)庫設(shè)計的( D )。
A.需求設(shè)計 B.概念設(shè)計 C.邏輯設(shè)計 D.物理設(shè)計 10.一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他事務(wù)是( B )的,并發(fā)執(zhí)行的各個事務(wù)之間不能相互干擾 A.一致 B.隔離 C.永久 D.原子二、填空題(每空1分,共10分) 得分: 分1.在Oracle中,當(dāng)在表上創(chuàng)建主鍵約束(Primary Key)和 唯一性 約束時系統(tǒng)自動在相應(yīng)的屬性列上創(chuàng)建索引(Index)2.在Oracle中創(chuàng)建用戶時,若未提及DEFAULT TABLESPACE關(guān)鍵字,則系統(tǒng)將 users 表空間分配給用戶作為默認表空間3.執(zhí)行授權(quán)語句Grant時如果指定了With Grant Option子句表示: 獲得權(quán)限的用戶可以傳播此權(quán)限 4.對于視圖的查詢和更新,系統(tǒng)最終轉(zhuǎn)化為對 基本表 的查詢和更新5.設(shè)R(U)是屬性集U上的關(guān)系模式X,Y是U的子集若對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組 在x上的值相同,而在y上的值不同 ,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作X→Y。
6.?dāng)?shù)據(jù)庫設(shè)計中,需求分析階段產(chǎn)生的數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、 數(shù)據(jù)流 、數(shù)據(jù)處理和 數(shù)據(jù)存儲 五個部分7.事務(wù)通常是以Begin Transaction開始,以 commit 或Rollback結(jié)束8.一個“不好”的關(guān)系模式會存在數(shù)據(jù)冗余太大、 刪除異常 、更新異樣、插入異常9.PL/SQL程序由三個塊組成,即聲明部分、 執(zhí)行部分 、異常處理部分三、簡答題(每小題5分,共20分) 得分: 分1.什么是視圖?請列舉出使用視圖的優(yōu)點(列出任意三點即可)1. 視圖是從一個或幾個基本表(或視圖)中導(dǎo)出的表它與基本表不同,是一個虛表,數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中視圖的優(yōu)點:(1)視圖能夠簡化用戶的操作;(2)視圖使用戶能以多種角度看待同一數(shù)據(jù);(3)視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性;(4)視圖能夠?qū)C密數(shù)據(jù)提供安全保護;(5)適當(dāng)?shù)睦靡晥D可以更清晰的表達查詢2.簡述關(guān)系數(shù)據(jù)庫的三類完整性約束。
2. 關(guān)系數(shù)據(jù)庫的完整性約束包括:實體完整性、參照完整性和用戶自定義的完整性實體完整性規(guī)則:若屬性(指一個或一組屬性)A是基本關(guān)系R的主屬性,則A不能取空值參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值;或者等于S中某個元組的主碼值用戶自定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求3.有一張學(xué)生基本信息表S(Sno,Sname,Ssex,Sbirth,Sdept,Major),表中存放某高校各個學(xué)院的學(xué)生信息,如果只允許數(shù)據(jù)庫用戶Jobs查詢“生命科學(xué)”學(xué)院的學(xué)生信息而不能查詢其它學(xué)院的學(xué)生信息,請給出相應(yīng)的授權(quán)方案1)創(chuàng)建“生命科學(xué)”學(xué)院視圖 Create view shengming As Select sno,sname,ssex,sbirth,sdept,major From s Where sdept=‘生命科學(xué)’(2)授權(quán)Grant select on shengming to jobs;4.簡述概念結(jié)構(gòu)階段的設(shè)計內(nèi)容與步驟。
設(shè)計內(nèi)容:將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型步驟:第一步是抽象數(shù)據(jù)并設(shè)計局部視圖,第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)四、設(shè)計題(每小題9分,共18分) 得分: 分1.有一圖書出版銷售系統(tǒng),其中的數(shù)據(jù)有:圖書的書號、書名及作者姓名;出版社名稱、地址及電話;書店名稱、地址及其經(jīng)理;倉庫號,面積,負責(zé)人其中:每種圖書只能由一家出版社出版,一家出版社可出版多種圖書;每種圖書可由多家書店銷售,每家書店可經(jīng)銷多種圖書,用銷售量表示某種圖書在某個書店的銷售數(shù)量;一個出版社出版的圖書存放在一個倉庫,一個倉庫可以存放若干個出版社出版的圖書,用庫存量表示某種圖書在某個倉庫中的數(shù)量1)請畫出該系統(tǒng)數(shù)據(jù)庫的ER圖5分)(2)將ER圖轉(zhuǎn)換成關(guān)系模式,要求關(guān)系模型的數(shù)量盡可能少4分)2.現(xiàn)有如下關(guān)系模式:借閱(圖書編號,書名,作者名,出版社,讀者編號,讀者姓名,借閱日期,歸還日期)基本函數(shù)依賴集F:F={圖書編號→(書名,作者名,出版社),讀者編號→讀者姓名,(圖書編號,讀者編號,借閱日期)→歸還日期}(1)寫出借閱關(guān)系的主碼,分析非主屬性對主碼的函數(shù)依賴。
5分)(2)利用規(guī)范化理論對借閱關(guān)系進行分解,使分解后的每個關(guān)系模式達到3NF4分)五、綜合題(共32分) 得分: 分1.設(shè)有關(guān)系模式如下:部門(部門編號,部門名稱,電話)員工(員工編號,姓名,性別,部門編號,職務(wù))項目(項目編號,項目名稱,預(yù)算)施工(員工編號,項目編號,工時)注:工時的單位為小時寫出下列操作的關(guān)系代數(shù):(每小題3分,共9分)(1)查詢員工“陳艷”的部門名稱和職務(wù);(2)查詢工時超過100小時的項目名稱和員工的姓名3)刪除部門編號為D4的部門信息2.現(xiàn)有如下關(guān)系:職工(職工號,姓名,性別,職務(wù),家庭地址,部門編號)部門(部門編號,部門名稱,地址,電話)保健(保健卡編號,職工號,檢查身體日期,健康狀況)寫出下列操作的SQL語句:(每小題3分,共15分)(1)查找所有女科長的姓名和家庭地址2)統(tǒng)計“財務(wù)科”中健康狀況為“良好”的職工人數(shù)3)統(tǒng)計身體檢查3次以上健康狀況都是“差”的職工號4)將“研發(fā)部”職工的健康狀況改為“一般”5)建立健康狀況為“差”的職工的視圖,視圖中包括職工號、姓名、性別、部門名稱、檢查身體日期、健康狀況。
3.補全下面的PL/SQL程序每空2分,共8分)有三個關(guān)系S(Sno,Sname,Ssex,Sage,Sdept),C(Cno,Cname,Ccredit),SC(Sno,Cno,Grade),創(chuàng)建存儲過程CJ_P,實現(xiàn)查詢指定學(xué)院學(xué)生的成績情況,在過程體中輸出學(xué)生的姓名、選課的課程名和成績create or replace procedure CJ_P(v_sdept )isv_sname s.sname%type; v_cname ame%type; v_grade sc.grade%type; cursor c1 is select Sname, Cname,Grade from where s.sno = sc.sno and o = o and Sdept = v_sdept;begin open c1; loop fetch ; exit when c1%notfound; dbms_output.put_line(v_sname||','||v_cname||','||v_grade); end loop; ;end;第 8 頁 共 8 頁。
