
104
年公務人員高等考試三級考試試題  代號:26870 
類    科: 資訊處理
科    目: 資料庫應用
考試時間: 2小時 座號: 
※注意: 
禁止使用電子計算器。 
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。 
 
(請接背面) 
 
全一張 
(
)
 
一、有一個與租船有關的資料庫,其綱要(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 
22 Wawrinka 10 30 
29 Brutus 6  33 
31 Lubber 8  55 
32 Lu  9  32 
58 Rusty 8  35 
64 Nishikori 10 26 
71 Dustin 10 30 
74 Murray 10 28 
85 Nadal 10 29 
95 Bob  3  60 
 
圖一、Sailors 表格的案例 圖二、 Reserves 表格的案例 
bid bname color 
101 Intelake blue 
102 Clipper red 
103 Marine green 
104 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"的船的船員名字。 
sid bid day 
22 101 6/7/2015 
22 102 6/5/2015 
22 103 6/3/2015 
22 104 6/1/2015 
32 102 5/28/2015
32 103 6/1/2015 
64 104 6/3/2015 
85 101 5/30/2015
85 102 6/3/2015 
85 103 6/3/2015