資訊處理 99 年資料庫應用考古題(共 5 題) 資料來源:考選部歷屆試題|法律人 LawPlayer 整理 https://lawplayer.com/exam/information-processing/99-database-applications 第 1 題 假設有一汽車經銷商之關聯式資料庫(Relational database)包含三個表格(Table),其 綱要(Schema)如下,有底線之屬性(Attribute)為該表格之主鍵(Primary key): 汽車(汽車編號﹐廠牌﹐售價) 顧客(顧客編號﹐姓名﹐住址﹐電話) 購買(顧客編號﹐汽車編號﹐購買年份) ㈠請寫出關聯代數(Relational algebra)來列出所有於2009 年購買汽車的顧客姓名 和其購買的汽車售價。(10 分) ㈡請寫出SQL 敘述(Statement)來列出售價介於100 萬和120 萬之間的汽車編號及 其廠牌。(5 分) ㈢針對不同的年份,請寫出SQL 敘述(Statement)來列出每個年份和在該年份中所 有售出的汽車的總售價。(10 分) 第 2 題 一個關聯式資料庫(Relational database)表格的綱要如下所示: R(A﹐B﹐C﹐D﹐E),R 為表格名稱,A、B、C、D、E 為表格的五個屬性(Attribute), 此表格有以下的功能相依性(Functional dependency): A →C ,D → BE ㈠請列出R 的所有候選鍵(Candidate key)。(5 分) ㈡如果表格R 不為BCNF(Boyce-Codd Normal Form),請將其分解成符合BCNF 的表格,並寫出每一個表格的綱要。(15 分) 第 3 題 在資料庫的交易管理中,時間戳記(timestamp)是一種同步控制(Concurrency control) 的方法: ㈠請敘述時間戳記排序法(timestamp-ordering protocol)的做法,假設write_item(X) 代表要寫入資料項X 的動作,read_item(X)代表要讀取資料項X 的動作,read_TS(X) 代表資料項X 被讀取的時間戳記,write_TS(X)代表資料項X 被寫入的時間戳記, TS(T)代表交易T 的時間戳記。(10 分) ㈡請問使用時間戳記排序法會發生飢餓(starvation)的現象嗎?為什麼?(5 分) 第 4 題 在分散式資料庫中,兩階段提交(Two-phase commit)和三階段提交(Three-phase commit)是兩個交易回復(Recovery)管理方法: ㈠請問這個兩階段提交的方法有何缺點。(7 分) ㈡請問三階段提交方法是如何改善兩階段提交方法的缺點。(8 分) 99年特種考試地方政府公務人員考試試題 類 科: 資訊處理 第 5 題 假若有一家服飾店要建置一個資料庫,其資料需求如下: 1.服飾:每一件服飾有一個服飾編號、服飾名稱、服飾種類、單價。 每一件服飾的服飾編號是唯一的。 2.顧客:每一個顧客有一個顧客編號、顧客姓名、顧客住址、數個手機號碼。 每一個顧客的顧客編號是唯一的,一個顧客每次可購買數件服飾,每一次 購買皆記錄其購買時間。 3.供貨廠商:每一個廠商有一個廠商編號、廠商名稱、廠商住址、數個公司電話。 每一個供貨廠商的廠商編號是唯一的,一個廠商每次可供應數件服飾, 每一次供貨皆記錄其供貨時間。 ㈠畫一個實體關係圖(Entity-relationship diagram)以充分表達上述的資料需求。 (15 分) ㈡將㈠的實體關係圖轉換成一個關聯式資料庫綱要(Relational database schema), 請寫出每一個表格的綱要,包括表格名稱、屬性、主鍵。(10 分) 題目為考試當年公告版本,實務標準請以現行規範為準。