• 沒有找到結果。

類 科: 資訊處理 科 目: 資料庫應用

N/A
N/A
Protected

Academic year: 2022

Share "類 科: 資訊處理 科 目: 資料庫應用 "

Copied!
2
0
0

加載中.... (立即查看全文)

全文

(1)

98 年公務人員高等考試三級考試試題 代號:35670

類 科: 資訊處理 科 目: 資料庫應用

考試時間: 2 小時 座號:

※注意: 禁止使用電子計算器。

不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

(請接背面)

全一張

(正面)

一、假設你想設計一個討論區系統,該系統需要維護的資料包括會員(Member)、討論 版(Forum)、主題文章(Article),和回應文章(Response)。資料需求如下:

會員(Member):包括帳號(account)、密碼(passwd)、姓名(name)、身分證字號(pId)和 email。

其中帳號和身分證字號均為唯一。

討論版(Forum):包括版名(fName)和開版日期(startDate),其中版名為唯一。此外,每一討論版必須 剛好有一位版主(Owner),版主為會員。

主題文章(Article):包括主題(aTitle)、張貼時間(aTime)、標籤(tags)和內容(content),其中標籤 可以有多個。此外,每一篇主題文章必須由一位會員張貼(Creates),且必須屬於某個討論版,其中沒有任 何屬性是唯一的,但張貼會員和張貼時間合起來是唯一的。

回應文章(Response):包括張貼時間(rTime)和內容(content),一篇回應文章必須是回應一篇主題文章,

但一篇主題文章可有多篇回應文章。此外,一位會員可以有多篇回應文章,所回應的主題文章和張貼人也必 須記載,張貼會員和張貼時間合起來是唯一的。

以下是一位同學所畫的實體關係圖(ERD):

M N

N

N 1 1

1 1

Member Response

Article Forum

Posts

Creates

Has

account passwd

name email

fName

startDate owner aTitle aTime

tags content

Responds

content rTime

請指出以上 ERD 裡不符合資料需求的部分。(16 分)

請修正該 ERD 以滿足所有的資料需求。(14 分)

二、考慮以下的圖書館書籍流通系統資料庫綱目(database schema):

Book(callNo, isbn, title, subject) //分類號,ISBN,書名,主題 Patron(pId, name, startDate)

// 讀者編號,讀者姓名,開始日期

BorrowRecord(pId, callNo, borrowDate, returnDate)

//讀者編號,分類號,借閱日期,歸還日期

請按題意表達出以下查詢:

請找出「張三」(是一讀者姓名)所借過的所有書的分類號和書名,請注意,一 本書只能列出一次。

用關聯代數式(relational algebraic expression)表達。(7 分)

用一個 SQL 敘述表達。(7 分)

請列出電腦類(即「subject = 'Computer'」)每一本書籍的 ISBN、書名和被借閱 的次數。請用一個 SQL 敘述表達。(8 分)

對於每一位總借閱次數超過 10(含)次的讀者,列出其讀者編號和 2009 年的借

閱總次數。(8 分)

(2)

98 年公務人員高等考試三級考試試題 代號:35670

類 科: 資訊處理 科 目: 資料庫應用

全一張

(背面)

三、考慮以下的商品交易資料庫綱目(database schema):

Product(pId, name, type, supplierId, supplierName)

//商品編號,商品名稱,商品種類,供應商編號,供應商名稱 Transaction(tId, date, payment)

//交易編號,交易日期,付款方式

TransactionDetail(tId, pId, amount, price, productDesc) // 交易編號,商品編號,商品數量,商品單價,商品敘述

此外,並有以下的函數相依(functional dependency):

{pId}→{name, type, supplierId}

{supplierId}→{supplierName}

{tId}→{date, payment}

{tId, pId}→{amount, price}

{pId}→{productDesc}

請用以上函數相依推論出 Product, Transaction, 和 TransactionDetail 的候選鍵

(candidate keys),請注意必須用推論的方式來證明,否則不給分。(10 分)

以上資料庫綱目滿足第二正規式(2NF)嗎?滿足第三正規式(3NF)嗎?若不 滿足,請舉出並說明所有造成不滿足的函數相依。(15 分)

四、考慮以下兩支資料庫交易(database transaction)程式:

T1:

read(X, a)

//將資料庫裡的資料項 X 寫到變數 a a = a + 100

write(a, X)

//將變數 a 的值寫到資料庫裡的資料項 X commit(T1)

T2:

read(X, b)

//將資料庫裡的資料項 X 寫到變數 b b = b - 100

write(b, X)

//將變數 b 的值寫到資料庫裡的資料項 X commit(T2)

假設資料庫裡的資料項 X 之初值為 100,考慮以下排程(schedule):

T1:read(X, a) T2:read(X, b) T2:b = b – 100 T1:a = a + 100 T2:write(b, X) commit(T2) T1:write(a, X) commit(T1)

以上排程的執行結果為何?正確的排程執行結果應該是什麼?(7 分)

請問兩階段鎖定法(two phase locking, 簡稱 2PL)會允許以上的排程執行嗎?請

解釋。(8 分)

參考文獻

相關文件

For comparison, we implemented and tested performance using another model selection method, specialized Speech Enhancement Model Selection (SSEMS) [32], in which

序號 項目 問題 處理方式. 1

職類代號 職類 姓名 名次

[r]

請列舉資料集(view)的三個主要的用途。.

[r]

請列舉 SQL 的指令之二個主要的用途。.

聯合資料庫(federated database systems)