中央存款保險公司 105 年正式職員甄試試題
甄試類組【代碼】:系統管理人員【I4103】專業科目 2:資料庫系統管理
*請填寫入場通知書編號:________________
注意:作答前須檢查答案卷、入場通知書號碼、座位標籤號碼、應試類別是否相符,如有不同應立即請 監試人員處理。使用非本人答案卷作答者,該節不予計分。
本試卷為一張單面,共有四大題之非選擇題,每題配分 25 分,總計 100 分。
非選擇題限用藍、黑色鋼筆或原子筆於答案卷上採橫式作答並請依標題指示之題號於各題指定作 答區內作答。
請勿於答案卷上書寫姓名、入場通知書號碼或與答案無關之任何文字或符號。
本項測驗僅得使用簡易型電子計算器(不具任何財務函數、工程函數功能、儲存程式功能),但不 得發出聲響;若應考人於測驗時將不符規定之電子計算器放置於桌面或使用,經勸阻無效,仍執 意使用者,該科扣 10 分;該電子計算器並由監試人員保管至該節測驗結束後歸還。
答案卷務必繳回,未繳回者該科以零分計算。
第一題:
若一書店資料庫以 Sybase ASE 建立,其中 titles, sales, salesdetail 等資料表記錄了書 籍、銷售、銷售明細等資料。
titles 記錄書籍資料,包括書籍代號、書名等資料,依下列命令建立:
create table titles (title_id tid not null,
title varchar(80) not null) 其 primary key 為 title_id:
sp_primarykey titles, title_id
sales 記錄銷售資料,每列是一筆交易,包括銷售代號、日期等資料,每次銷售交易可 銷售若干本書籍,sales 依下列命令建立:
create table sales
(sale_num numeric(6,0) identity, sale_date datetime not null) 其 primary key 為 sale_num:
sp_primarykey sales, sale_num
salesdetail 記錄銷售明細,記錄每次銷售交易所銷售的每一種書籍,包括銷售代號、書 籍代號、數量、單價等資料,salesdetail 依下列命令建立:
create table salesdetail (sale_num numeric(6,0) references sales(sale_num), title_id tid not null
references titles(title_id), qty smallint not null,
unit_price money not null)
其 primary key 為 sale_num 及 title_id:
sp_primarykey salesdetail, sale_num, title_id
且上述 tid 定義為
sp_addtype tid, "char(6)", "not null"
請寫出一查詢命令,查出 2016 年 2 月份單筆銷售記錄中,銷售總額超過 10000 元的銷 售記錄之銷售代號、日期。【25 分】
第二題:
同上題之資料庫,請寫出一查詢命令,按銷售量(數量)由多而寡之順序列出 2016 年 2 月份銷售數量超過 100 本的各書籍的書名、銷售數量。【25 分】
第三題:
若限定不可使用 join 關鍵字,且已知 S 及 Q 均有欄位 Y,請改寫下列命令。【25 分】
select R.A, S.B, Q.C
from ((R join S on R.X = S.X) as RS) join Q on RS.Y = Q.Y
第四題:
join 可分 inner join 及 outer join,請以資料表 R 中有 A, B 兩欄位、資料表 S 中有 B, C 兩欄位為例,說明對 R, S 做 equal inner join, left outer join, right outer join 之差別。【25 分】