高普考題庫
100 年 100年公務人員高等考試三級考試暨普通考試

資料庫應用

本卷皆為申論題,點「看答案與解析」查看擬答。

申論 1某公司為管理員工出差,登錄有員工資料包括身分證字號、姓名、工作部門編號、薪水、員工帳號;出差資料有出差編號、出發地、抵達地、出發日、抵達日、出差費。已知一個員工只在一個部門做事且只有一份薪水登錄在一個帳號;不是每一位員工都會出差。一件出差,只有一種行程和出差費,有一到多個員工參與,行程一樣,出差費也一樣。假設關連設計如下:員工(身分證字號、姓名、工作部門編號、薪水、員工帳號)出差(身分證字號、出差編號、出發地、抵達地、出發日、抵達日、出差費、員工帳號)㈠以上述關連為例,舉例說明超級鍵(superkey)和外部鍵(foreign key)的性質。(10 分)㈡說明上述關連設計在資料更新和刪除時有何嚴重缺點?(10 分)要如何改正,以維持一致性。(5 分)
申論 2假設某公司資料庫有供應商資料、零件資料、供應零件資料:Supplier(SID, SNAME, ADDRESS)// 供應商(供應商代號,供應商姓名,地址)Parts(PID, TYPE, PRICE)// 零件(零件編號,零件類別,價格)Offer(SID , PID)// 供應零件(供應商代號,零件編號)註:劃底線的屬性為主鍵㈠以關連代數運算子{selection σ、projection Π、equal-join 、division /}進行查詢“找出供應所有零件的供應商姓名"。(10 分)㈡以SQL 表示查詢“找出那些價格最高的零件編號PID 和其價格PRICE"。(10 分)㈢以SQL 表示查詢“找出每個零件類別,其零件數和其平均價格"。(5 分)
申論 3已知關聯R={A, B, C, E, G, H}為1NF,其functional dependency F={A→B, B→C,AB→CEG, H→A}。㈠何者可作R 的主鍵(primary key)?要說明理由才可得分。(5 分)㈡簡化集合F 成為M 使得M 含最少數量的functional dependency 且F+=M+。(5 分)㈢若將R 分解成R1(A, B, C, E, G)與R2(H, A),則是無失誤合併的分解嗎?要說明理由驗證才可得分。(5 分)㈣將R 分解為無失誤合併且保留F 的3NF 關聯,註明各關連的主鍵,要注意控制屬性在各關連的重覆出現。(10 分)
申論 4多數資料庫系統會定期執行checkpoint,以提高毀損回復(recovery)的執行成效。㈠說明資料庫系統是如何執行checkpoint?(5 分)㈡在有checkpoint 機制配合下,針對在checkpoint 後,毀損前,已committed 和uncommitted 的交易(transaction),系統如何進行延遲更新(deferred-update)的回復?(10 分)㈢在有checkpoint 機制配合下,針對在checkpoint 後,毀損前,已committed 和uncommitted 的交易(transaction),系統如何進行立即更新(immediate-update)的回復?(10 分)