版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫與管理信息系統(tǒng) 復習題一、簡答題1. 試述數(shù)據(jù)庫二級映像和數(shù)據(jù)獨立性之間的關系DBMS在三級模式之間提供二級映像“外模式|模式映像”和“模式|內(nèi)模式映像”,保證了數(shù)據(jù)庫的數(shù)據(jù)具有較高的邏輯獨立性和物理獨立性。數(shù)據(jù)庫的二級映像保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從底層保證了應用程序的穩(wěn)定性,除非應用需求本身發(fā)生變化,否則應用程序一般不需要修改。數(shù)據(jù)庫的三級模式與二級映像實現(xiàn)了數(shù)據(jù)與程序之間的獨立性,使數(shù)據(jù)的定義和描述可以從應用程序中分離出來。另外,由于數(shù)據(jù)的存取由DBMS管理,用戶不必考慮存取路徑等細節(jié),從而簡化了應用程序的編制,大大降低了應用程序的維護和修改成本。2. 請舉例說明在同一個關系內(nèi)部
2、也可能存在參照的完整性約束。參照完整性約束是不同關系之間或一個關系的不同元組之間的制約。不僅在關系間存在引用,同一關系內(nèi)部屬性也可能存在引用關系。也就是說,參照完整性規(guī)則中,參照關系和目標關系(被參照關系)可以是同一個關系。比如對于關系“學生(學號,姓名,性別,專業(yè)號,年齡,班長)”,主鍵是學號,班長屬性表示該學生所在班級的班長的學好呢,這班長的屬性實際引用了學號屬性,也就是是說,班長必須是實際存在的學生的學號。 3. 簡述事務的特性。(PPT上只給出了四個特性,我又在后面加了每個特性的意思,作為參考)事務的:原子性、一致性、隔離性、持續(xù)性(1) 原子性事務的原子性指的是,事務中包含的程序作為
3、數(shù)據(jù)庫的邏輯工作單位,它所做的對數(shù)據(jù)修改操作要么全部執(zhí)行,要么完全不執(zhí)行。這種特性稱為原子性。(事務的原子性要求,如果把一個事務可看作是一個程序,它要么完整的被執(zhí)行,要么完全不執(zhí)行。就是說事務的操縱序列或者完全應用到數(shù)據(jù)庫或者完全不影響數(shù)據(jù)庫。這種特性稱為原子性。假如用戶在一個事務內(nèi)完成了對數(shù)據(jù)庫的更新,這時所有的更新對外部世界必須是可見的,或者完全沒有更新。前者稱事務已提交,后者稱事務撤消(或流產(chǎn))。DBMS必須確保由成功提交的事務完成的所有操縱在數(shù)據(jù)庫內(nèi)有完全的反映,而失敗的事務對數(shù)據(jù)庫完全沒有影響)(2) 一致性事務的一致性指的是在一個事務執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫都必須處于一致性狀態(tài)。即
4、事務執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。這種特性稱為事務的一致性。(假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束,就說該數(shù)據(jù)庫是一致的。一致性處理數(shù)據(jù)庫中對所有語義約束的保護。假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束,就說該數(shù)據(jù)庫是一致的。例如,當數(shù)據(jù)庫處于一致性狀態(tài)S1時,對數(shù)據(jù)庫執(zhí)行一個事務,在事務執(zhí)行期間假定數(shù)據(jù)庫的狀態(tài)是不一致的,當事務執(zhí)行結(jié)束時,數(shù)據(jù)庫處在一致性狀態(tài)S2。)(3) 隔離性隔離性指并發(fā)的事務是相互隔離的。一個事務的執(zhí)行不能被其他事物干擾。即一個事務內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務是隔離的,并發(fā)執(zhí)行的各個事務之間不能相互干擾。(隔離性是DBMS針對并發(fā)事
5、務間的沖突提供的安全保證。DBMS可以通過加鎖在并發(fā)執(zhí)行的事務間提供不同級別的隔離。假如并發(fā)交叉執(zhí)行的事務沒有任何控制,操縱相同的共享對象的多個并發(fā)事務的執(zhí)行可能引起異常情況。DBMS可以在并發(fā)執(zhí)行的事務間提供不同級別的隔離。隔離的級別和并發(fā)事務的吞吐量之間存在反比關系。較多事務的可隔離性可能會帶來較高的沖突和較多的事務流產(chǎn)。流產(chǎn)的事務要消耗資源,這些資源必須要重新被訪問。)(4)持續(xù)性持久性也成永久性。指一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變應該是永久性的,接下來的其他操作或故障不應該對其執(zhí)行結(jié)果有任何影響。持久性主要在于DBMS的恢復性能。4. 簡述并發(fā)操作引發(fā)的問題。并發(fā)操作可能會破壞
6、事務的隔離性,從而引發(fā)數(shù)據(jù)的一致性問題,主要包括丟失修改、不可重復讀和讀“臟”數(shù)據(jù)等問題。5. 什么是封鎖協(xié)議,簡述三級封鎖協(xié)議。在運用封鎖方法時,對數(shù)據(jù)對象加鎖時需要需要約定一些規(guī)則,例如何時申請封鎖、持續(xù)時間、何時釋放封鎖等。我們稱這些規(guī)則為封鎖協(xié)議。約定不同的規(guī)則,就形成了不同的封鎖協(xié)議。三級封鎖協(xié)議是一級封鎖協(xié)議加上事務T在讀取數(shù)據(jù)R之前必須先對其加S鎖即共享鎖,直到事務結(jié)束才釋放。而一級封鎖協(xié)議是:事務T在修改數(shù)據(jù)R之前必須先對其加X鎖,直到事務結(jié)束才釋放。三級封鎖協(xié)議除防止了丟失修改和不讀“臟”數(shù)據(jù)外,還進一步防止了不可重復讀。二、證明或推導1. 已知關系模式R的屬性集合U=A,B
7、,C,D,E。函數(shù)依賴集合F=A->C,B->C,C->D,DE->C,CE->A,分解=R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)。請驗證是否具有無損聯(lián)接性解:用判斷無損連接的算法來解。 構(gòu)造一個初始的二維表,若“屬性”屬于“模式”中的屬性,則填aj,否則填bij。 根據(jù)AC,對上表進行處理,由于屬性列A上第1、2、5行相同均為a1,所以將屬性列C上的b13、b23、b53改為同一個符號b13(取行號最小值)。(有A的相對就的行改)相同的改成一樣的 根據(jù)BC,對上表進行處理,由于屬性列B上第2、3行相同均為a2,所以將屬性
8、列C上的b13、b33改為同一個符號b13(取行號最小值)。 根據(jù)CD,對上表進行處理,由于屬性列C上第1、2、3、5行相同均為b13,所以將屬性列D上的值均改為同一個符號a4。(因為C也依賴于A ,B) 根據(jù)DEC,對上表進行處理,由于屬性列DE上第3、4、5行相同均為a4a5,所以將屬性列C上的值均改為同一個符號a3。 根據(jù)CEA,對上表進行處理,由于屬性列CE上第3、4、5行相同均為a3a5,所以將屬性列A上的值均改為同一個符號a1。 通過上述的修改,使第三行成為a1a2a3a4a5,則算法終止。且分解具有無損連接性。2.設關系模式R(A, B, C, D), 其函數(shù)依賴集:F=DB,
9、BD, ADB, ACD 求R的所有候選碼。 L類: A, C R類: N類: LR類: B, D因為(AC)F+=ACDB,所以AC是R的唯一候選碼。3. 試證明,若并發(fā)事務遵守兩段鎖協(xié)議,則對這些事務的并發(fā)調(diào)度是可串行化的。證明:首先以兩個并發(fā)事務 Tl 和T2為例,存在多個并發(fā)事務的情形可以類推。根據(jù)可串行化定義可知,事務不可串行化只可能發(fā)生在下列兩種情況:( l )事務 Tl 寫某個數(shù)據(jù)對象 A ,T2讀或?qū)?#160;A ( 2 )事務 Tl
10、讀或?qū)懩硞€數(shù)據(jù)對象 A ,T2寫 A 。下面稱 A 為潛在沖突對象。設 Tl 和T2訪問的潛在沖突的公共對象為A1,A2 , An 。不失一般性,假設這組潛在沖突對象中 X (A 1 , A2 , , Ai 均符合情況 1 。 Y A i + 1 , , An
11、160;符合所情況( 2 )。VX x , Tl 需要 XlockX T2 需要 Slockx 或 Xlockx 1 )如果操作 先執(zhí)行,則 Tl 獲得鎖,T2等待由于遵守兩段鎖協(xié)議, Tl 在成功獲得 x 和 Y 中全部對象及非潛在沖突對象的鎖后,才會釋放鎖。這時如果存在 w x 或
12、60;Y ,T2已獲得 w 的鎖,則出現(xiàn)死鎖;否則, Tl 在對 x 、 Y 中對象全部處理完畢后,T2才能執(zhí)行。這相當于按 Tl 、T2的順序串行執(zhí)行,根據(jù)可串行化定義, Tl 和幾的調(diào)度是可串行化的。 2 )操作 先執(zhí)行的情況與( l )對稱因此,若并發(fā)事務遵守兩段鎖協(xié)議,在不發(fā)生死鎖的情況下,對這些事務的并發(fā)調(diào)度一定是可串行化的。證畢。4.設關系模式R(ABCD),F(xiàn)是R上成立的FD集,F(xiàn)=ABCD
13、,AD。 (1) 試說明R不是2NF模式的理由。(2) 試把R分解成2NF模式集。答: 從已知的函數(shù)依賴集F,可知R的候選鍵是AB。另外,由ABCD可推出ABD,再由AD可知ABD是部分(局部)函數(shù)依賴,因此R不是2NF模式。 如果將R分解成=AD,ABC,則是2NF模式集。5. 設關系模式R(ABC),F(xiàn)是R上成立的FD集,F(xiàn)=CB,BA。 試說明R不是3NF模式的理由。 試把R分解成3NF模式集。答: 從已知函數(shù)依賴集F可知,R的候選鍵是C。由CB,BA可知,CA是一個傳遞依賴,因此R不是3NF模式。 此時如果將R分解成=CB,BA,則是3NF模式集。6. 什么是Armstrong公理系統(tǒng)
14、的完備性,試對其進行證明。Armstrong公理系統(tǒng)是有效的、完備的有效性:由F出發(fā)根據(jù)Armstrong公理推導出來的每一個函數(shù)依賴一定在F+中;完備性:F+中的每一個函數(shù)依賴,必定可以由F出發(fā)根據(jù)Armstrong公理推導出來只需證明逆否命題: 若函數(shù)依賴XY不能由F從Armstrong公理導出,那么它必然不為F所蘊含(1) 引理: 若VW成立,且V XF+,則W XF+ 因為VXF+,所以X->V成立;于是X->W成立,所以WXF+(2) 構(gòu)造一張二維表r,它由下列兩個元組構(gòu)成,可以證明r必是R(U,F(xiàn))的一個關系,即F+中的全部函數(shù)依賴在 r上成立。 XF+ U-XF+ 1
15、1.1 00.0 11.1 11.1 若人不是R<U,F>的關系,則必須由于F中某一個函數(shù)依賴V->W 在r上不成立所致。由r的構(gòu)成可知。若XY 不能由F從Armstrong公理導出,則Y 不是XF+ 的子集。三、某數(shù)據(jù)庫有三個表:student(sno, sname, ssex, sage, sdept),course(cno, cname, cpno, ccredit),s_c(sno, cno, grade),其中S_C表詳細完整性約束條件如下所示,寫出在SQL SERVER服務器中建立S_C表的T-SQL語句。字段名字段含義數(shù)據(jù)類型允許為空默
16、認值約束條件sno學號Char(8)否參照student表的snocno課程號Char(2)否參照course表的cnograde成績Int是取值為0-100use scgocreate table s_c (sno char(8), cno char(2), grade int constraint grade_ch check(grade>=0 and grade<=100), constraint s_c_p primary key (sno,cno), constraint s_c_refsno foreign key (sno) references student (s
17、no) on delete no action on update cascade, constraint s_c_refcno foreign key (cno) references course (cno) on delete no action on update cascade )go四、基于以上數(shù)據(jù)庫,請寫出滿足下列查詢要求的SQL語句。l 查詢有間接先行課的課程情況,包括課程名(cname),間接先行課的課程號(cpno),查詢結(jié)果按課程名降序排列。l SELECT FIRST.Cno,SECOND.Cpnol FROM Course FIRST,Course SECONDl W
18、HERE FIRST.Cpno = SECOND.Cno;查詢學生“李勇”所選課程的課程名(cname)及成績(grade)。l Select cname,gradel from student,course,s_c l where student.sno=s_c.sno and s_o=o and sname=李勇l 查詢學生“劉晨”所選課程的課程號(cno)及成績(grade),要求用“子查詢”實現(xiàn)。l Select cno,grade l from s_c where sno in l (select sno from student l where sname=劉晨)l 查詢所有學生的
19、考試情況(包括學號sno,姓名sname,課程名cname,成績grade)。l Select student.sno,sname,cname,gradel from (student left join s_c on student.sno=s_c.sno) l left join course on s_o=ol 查詢系別sdept=“IS”的每個學生的學號sno,其所選課程的平均成績,按平均成績降序排序。l Select sno,avg(grade)l from s_c group by sno l having sno in l (select sno from student l w
20、here sdept=is ) l order by avg(grade) desc五、設某個數(shù)據(jù)庫中有兩個表products(pid, pname, pquantity)和sales(saleid, pid, quantity)分別來記錄商品的庫存和銷售情況,其中pquantity用來表示某種商品的庫存量,quantity用來表示某種商品的某次銷量。請設計觸發(fā)器完成某種商品的庫存量隨著銷量的變化而變化。create trigger ins_triggeron salesafter insertas update products set pquantity=pquantity- (select sum(quantity) from inserted where inse
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 普外科疾病護理案例分析
- 工廠班組早會管理精要
- 《GBT 34024-2017 客運架空索道風險評價方法》專題研究報告
- 《GB 30000.16-2013化學品分類和標簽規(guī)范 第16部分:有機過氧化物》專題研究報告
- 醫(yī)療器械采購付款擔保協(xié)議
- 智能門鎖維修技師崗位招聘考試試卷及答案
- 珠寶 3D 打印技師崗位招聘考試試卷及答案
- 2025年公路收費員面試題目及答案解析
- 2025年車輛專用照明、信號及其裝置項目發(fā)展計劃
- 2025年全腦開發(fā)項目建議書
- 2025云南省人民檢察院招聘22人筆試考試備考題庫及答案解析
- 銀行行業(yè)公司銀行客戶經(jīng)理崗位招聘考試試卷及答案
- 2026年安全生產(chǎn)管理培訓課件與事故預防與應急處理方案
- 2026天津市靜海區(qū)北師大實驗學校合同制教師招聘81人(僅限應屆畢業(yè)生)考試筆試備考題庫及答案解析
- 2025陜西陜煤澄合礦業(yè)有限公司招聘570人參考筆試題庫及答案解析
- 2025年倉儲服務外包合同協(xié)議
- 2025遼寧沈陽金融商貿(mào)經(jīng)濟技術開發(fā)區(qū)管理委員會運營公司招聘60人考試歷年真題匯編帶答案解析
- 2025年刑法學考試試題及答案
- 廣東省汕頭市金平區(qū)2024-2025學年七年級上學期期末地理試題
- 2025年二手車交易市場發(fā)展可行性研究報告及總結(jié)分析
- 北京市交通運輸綜合執(zhí)法總隊軌道交通運營安全專職督查員招聘10人考試參考題庫附答案解析
評論
0/150
提交評論