106年 公務人員升官等 薦任 資訊處理 資料庫應用 試卷

pdf
114.12 KB
2 頁
win7 2007
侵權投訴
加載中. ..
PDF
106年公務、關務人員升官等考試、106年交通
事業鐵路、公路、港務人員升資考試試題 代號:26230 全一張
(正面)
等級: 薦任
類科(別): 資訊處理
科目: 資料庫應用
考試時間 : 2 小時 座號:
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
(請接背面)
一、以運動健身資訊系統為例,假設有如下的系統需求:
⑴可以查詢會員的基本資料(包括姓名、生日、電話、加入日期、會員等級、所屬
店家(即加入時的店家))及學費繳交狀態(即學費到期日)。
⑵可以查詢某一特定會員於特定日期時間內的運動資料清單(包括運動日到店運動
的日期時間、店家名稱)。
⑶可以查詢教練的基本資料(包括姓名、生日、電話、到職日、職等)及受訓資料
(包括日期、地點、受訓內容)。
⑷可以查詢某一特定教練於特定日期時間內的工作清單,如 2017/10/09 早上十點到
十二點 AA 分店,下午兩點到六點 BB 分店……。
⑸可以查詢某一店家的店長、電話、地址及註冊的會員。
其中
z 每次受訓活動的日期長短不一、受訓的教練群不同、主題不定但同一次的受訓活
動只會有一個主題、一個日期只會有一種受訓活動。
z 會員可以到不同的店家運動。
z 店長由教練兼任,一家店只會有一位店長,一位教練也只能兼任一個店長。
請為如上的系統設計相關的 EER data model,您的 data model 中應符合關連式資料庫
的定義及 BCNF、註明合適的 primary key 及foreign key、資料表關連的 maximum 與
minimum cardinality。(25 分)
二、假設現有如下寵物就醫資訊的關連式資料庫,請使用 SQL 回答下列問題:
Pet(PetID, PetName, Sex, OwnerID, OwnerName, TEL, Species, BirthYear, BirthMonth)
MedicalRecord(PetID, VetID, Date_Time, DiagnosisContent)
FKs: PetID ref. Pet(PetID), VetID ref. Veterinarian(VetID)
Veterinarian(VetID, VetName, Specialty)
其中 PetID 為P初診日期_兩碼流水號組成,如 P2017110101
VetID 為V四碼流水號組成,如 V0001
定義資料表 Veterinarian(定義中應適當表示 primary)。(5分)
請找出 BirthYear 為2017 寵物的所有就醫紀錄,結果請顯示 PetName, VetName,
就醫的 Date_Time 及DiagnosisContent,並依 Date_Time 由新至舊進行排序。(5分)
刪除 PetID 為P2017110101 的寵物及其相關的就醫紀錄(多表格資料刪除,請注意
刪除的順序)。(5分)
106年公務、關務人員升官等考試、106年交通
事業鐵路、公路、港務人員升資考試試題 代號:26230 全一張
(背面)
等級: 薦任
類科(別): 資訊處理
科目: 資料庫應用
三、請將如下的資料表內容,以符合 BCNF 的關連式資料庫資料表來表示。(25 分)
同一航班編號固定飛行相同的路線(出發地與目的地為固定)、一天最多飛行一次、
起降時間可能因天候季節或特殊原因而有不同。
Flight_Seat_Info
CID Name Sex FlightNo Dep. Dest. DepD DepT ArrD ArrT SeatNo
A123 張三 M BR26 TPE SEA 20170807 2340 20170807 1950 11A
A321 李四 BR26 TPE SEA 20170807 2340 20170807 1950 22B
A111 張三 BR26 TPE SEA 20171002 2350 20171002 1940 33C
A321 李四 BR26 TPE SEA 20171002 2350 20171002 1940 55D
A123 張三 CI5235 SEA TPE 20171009 0200 20171010 0540 66E
A321 張三 CI5235 SEA TPE 20171009 0200 20171010 0540 11F
四、以下圖為例,如果最後一次系統無誤的 checkpoint 在時間 ti
,接著在下一個 checkpoint
點時間 tj時,發現系統錯誤,請問在資料庫復原的階段,就進行中的 T1, T2, T3, T4, T5
等transactions 而言,那些 transactions 應該作 rollback(也就是 undo)處理?又那些
transactions 應該作 rollforward(也就是 re-do)處理?原因為何?(15 分)
五、請說明在交易資料的處理中,何謂 dirty read pr oblem ?可以用什麼方式加以解決?
(10 分)
請說明如下的 DBMS,那些是 SQL based,那些是 NoSQL based DBMS。(10 分)
Cassandra, DB2, HBase, Hive, MariaDB,
MongoDB, MySQL, Oracle DB, PostgreSQL, Redis
syste
m
b
reak down
check
p
oint
successful
check
p
oint
not commit yet
commit
commit
not commit yet
commit
T1
T4 T5
T3
T2
titj
Time Line
收藏 ⬇️ 下載