申論 1有一個與租船有關的資料庫,其綱要(Schema)及案例內容(Instance)如下:Sailors(sid:integer, sname:string, rating:integer, age:real)Boats(bid: integer, bname:string, color:string)Reserves(sid: integer, bid:integer, day:date)sid sname rating age sid bid day22 Wawrinka 10 30 22 101 6/7/201529 Brutus 6 33 22 102 6/5/201531 Lubber 8 55 22 103 6/3/201532 Lu 9 32 22 104 6/1/201558 Rusty 8 35 32 102 5/28/201564 Nishikori 10 26 32 103 6/1/201571 Dustin 10 30 64 104 6/3/201574 Murray 10 28 85 101 5/30/201585 Nadal 10 29 85 102 6/3/201595 Bob 3 60 85 103 6/3/2015圖一、Sailors 表格的案例 圖二、 Reserves 表格的案例bid bname color101 Intelake blue102 Clipper red103 Marine green104 Blast red圖三、Boats 表格的案例請回答下列各題:(每小題5 分,共40 分)。請注意:答案必須具備一般性,表格案例內容只為參考用,案例內容更改後,答案仍須正確。㈠請劃出此資料庫相對應的實體關聯圖(ER Diagram)。㈡請指出那幾個表格中的那幾個欄位,需要滿足參考限制(Referential Integrity)?㈢寫出一個SQL 的查詢命令,查詢"Wawrinka"所租過的船的船名。㈣寫出一個SQL 的查詢命令,查詢rating 大於或等於9 的船員人數。㈤寫出一個SQL 的查詢命令,查詢曾經租過編號為103 號的船的船員名字。㈥寫出一個SQL 的查詢命令,查詢曾經租過所有顏色為紅色(red)的船的船員名字(即該船員租過所有顏色為紅色的船)。㈦寫出一個SQL 的查詢命令,查詢同一天之中租超過一艘以上(不包括一艘)的船的船員名字。㈧寫出一個關聯代數(Relational Algebra)運算式,以關聯代數運算子(selection: σ、projection: Π、join: 、divide: ÷、union: ∪、intersection: ∩、cartesian product: ×、difference: -)表示,查詢租過船名為"Blast"的船的船員名字。104年公務人員高等考試三級考試試題 代號:26870類 科: 資訊處理科 目: 資料庫應用
本卷皆為申論題,點「看答案與解析」查看擬答。
弱點分析
未作答的題目不計分。看我的紀錄
申論 2請回答下列和資料倉儲相關的問題:㈠請舉一個資料倉儲中的星狀資料綱要(Star Schema)的例子。(10 分)㈡請問資料倉儲架構中的ETL 操作指的是什麼?(5 分)
申論 3在高階語言(如C 語言)中要查詢或異動資料庫時,通常會使用到一種被稱為Cursor的結構,請說明Cursor 的功用及其相關的操作。(10 分)
申論 4表格的正規化(Normalization)是透過切割表格(Decomposition)來進行,請回答下列各題:㈠定義何謂無損切割(Lossless Decomposition)?(5 分)㈡若有一個表格綱要r(A,B,C,D,E)的函數相依關係集合F 為:A→BCCD→EB→DE→A請問將r 切割為r1(A,B,C)及r2(A,D,E)的切割是否是無損切割?若是無損切割,則請證明之。(10 分)
申論 5線上交易處理(Online Transaction Processing)是資料庫系統中的一個重要功能,請回答下列各題:(每小題5 分,共20 分)㈠定義什麼是一個交易(Transaction)?它必須滿足那四個特性?㈡何謂並行控制(Concurrency Control)?資料庫中若無並行控制的機制,則可能會產生什麼問題?㈢何謂兩階段鎖定(Two-Phase Locking)?其目的為何?㈣圖四為兩個交易T1 及T2 的執行過程(Schedule),假設交易執行的過程中有實施兩階段鎖定,請問這個執行過程(Schedule)的結果是順利執行完畢,或是發生死結狀態(Deadlock)?T1 T2Read(A)A:=A-50Write(A)Read(B)B:=B-10Write(B)Read(A)A:=A+10Write(A)Read(B)B:=B+50Write(B)圖四、交易T1、T2 的執行過程(指令的上下位置表示執行時間的先後,上面的指令比下面的指令先發生)