lawpalyer logo

資訊處理 105 年資料庫應用考古題

民國 105 年(2016)資訊處理「資料庫應用」考試題目,共 12 題 | 資料來源:考選部

0 題選擇題 + 12 題申論題

有一個二層次顧客/伺服器結構的關聯式資料庫管理系統(Two-Tier Client/Server Architecture for RDBMS),在顧客端(Client Side)和伺服器端(Server Side)之間, 使用ODBC(Open Database Connectivity)運作 請說明在Client Side 和Server Side,如何劃分資料庫系統相關軟體。(10 分) 何謂ODBC?(5 分) 使用一個查詢請求(Query Request)為例,說明ODBC 如何在Client Side 和Server Side 之間運作。(10 分)
某一資料庫系統內有下列兩個資料表: 課程資料表(實底線欄位為主鍵、虛底線欄位為外鍵) 課程編號 名稱 教室 教師編號 時間 S01 資料庫 316-S P01 09:00 S02 網路 316-S P02 13:00 S03 多媒體 322-D P01 13:00 教師資料表(實底線欄位為主鍵、虛底線欄位為外鍵) 教師編號 姓名 辦公室編號 職等 P01 王教授 F12 A P02 張教授 D02 B 試寫出一個SQL 指令,將課程資料表中,王教授在教室322-D 的課程時間更改為 09:00。(15 分) 試寫出一個SQL 指令,透過課程及教師資料表,查詢所有在教室316-S 上課的教 師資料。(10 分)
某市政府希望透過網路來處理市民的反映問題,經過訪談和分析後,獲得以下需求: 1.陳情案(Case):必須記載陳情人的電子郵件信箱(email)和姓名(name)、陳情 時間(dateTime)、主旨(title)、內容(content)和附檔(files)。其中陳情人的電 子郵件信箱、姓名和陳情時間合起來為唯一,附檔可有多個。 2.局處(Division):必須記載局處名稱(dName)和首長姓名(director)。其中局處 名稱為唯一,且每一陳情案可能會分配給數個相關局處來處理。 3.員工(Employee):必須記載員工編號(eId)、姓名(eName)和身分證字號(pId)。 其中員工編號和身分證字號均為唯一,且一位員工剛好屬於一個局處。員工一定是 以下兩種身分中的一種:行政員工(Admin)和技術員工(Tech),行政員工要記 載其職級(level),技術員工則要記載其技術能力(expertise)。此外,一個陳情案 會由一位行政員工來總負責(Handles)。 請依以上需求敘述,畫出其實體關係圖(Entity Relationship Diagram),員工的分 類請使用繼承(Inheritance)來表示。(20 分) 請將的實體關係圖轉成關聯綱目並指出主鍵、外鍵,以及外鍵的參考關係。(10 分)
假設你為某醫院設計資料庫以記錄該醫院的相關資料,其資料需求(Data Requirements) 如下: z 相關的基本實體(Entities)為員工、病人、行政工作及小孩。 z 員工、病人及小孩,三集合中任二集合之交集均為空集合。 z 每一位員工可能是一位醫生、一位技師或是一位行政人員; 醫生、技師及行政人員,三集合中任二集合之交集均為空集合。 z 每位醫生可治療多位病人,但每位病人僅由一位醫生負責治療。 z 每次醫療檢驗包含一位病人及一位技師。 z 每一位技師對每一位病人至多做一次醫療檢驗,當然,每一位技師可為很多病人 做醫療檢驗,而每一位病人亦可由不同的技師做不同的醫療檢驗。 z 每一位行政人員至少須參與一項行政工作,至多參與三項行政工作。 z 每一項行政工作至少須由二位行政人員參與,至多五位行政人員參與。 z 每一位員工可以擁有很多小孩,且每一個小孩必定屬於某一位員工所擁有,而所 有小孩必須加上員工的鍵(Key)才可區分所有小孩。 根據上述之資料需求,請繪出該醫院資料庫之擴充式實體關係圖EER(Enhanced Entity-Relationship)Diagram,結構限制(Structural Constraints)請使用一對整數(至 少,至多)方式表示,若至多沒有限制,則使用*表示。(30 分) 105年公務人員特種考試關務人員考試、 105年公務人員特種考試身心障礙人員考試及 105年國軍上校以上軍官轉任公務人員考試試題 全一張 (背面) 考試別: 關務人員考試 等 別: 三等考試 類 科: 資訊處理 科 目: 資料庫應用
某公部門計劃開發一套資料庫應用系統,其需求如下所述: 此部門在各地有多個辦事處,每個辦事處皆有名稱、負責事項、以及多位駐處同 仁(其中一位為此辦事處主任,其開始擔任主任之日期需記載);此外,每個辦事 處皆擁有多間辦公室(每間辦公室皆有編號與配置人數)。 每個辦事處皆負責許多工作業務,每個業務皆有名稱、編號、所在辦公室、以及 多位參與同仁(其中一位為此業務負責人)。 每位同仁皆有姓名、編號、職等、地址、性別、出生日期等資料,每位同仁皆派 駐於一個辦事處並配置於一間辦公室,但可以參與多個(屬於同一辦事處的)業務。 試針對上述需求,描繪出實體關係圖。(15 分) 試依據實體關係圖,設計出此系統的資料表。(10 分)
考慮以下記載討論版文章的關聯: R(發表人id, 發表人姓名, 發表時間, 主旨, 內容, 字數, 回應發表人id, 回應發表時 間) 函數相依(functional dependency)以→表示,包含於(is the subset of)以⊆表示: 發表人id→發表人姓名 {發表人id, 發表時間}→{主旨, 內容, 回應發表人id, 回應發表時間} 內容→字數 {(回應發表人id, 回應發表時間)}⊆{(發表人id, 發表時間)} 請推論出以上關聯R 的主鍵和外鍵,推導過程必須列出。(6 分) 請將關聯分解成第二正規式(Second Normal Form, 2NF)但不滿足第三正規式 (Third Normal Form, 3NF),請指明主鍵、外鍵和其參考關係。(7 分) 請將關聯分解成第三正規式,請指明主鍵、外鍵和其參考關係。(7 分)
若已知一個關聯綱目(Relation Schema)R 及其功能相依性(Functional Dependencies) 之集合F,欲找出R 所有的鍵(Keys)之方法有二個要點如下: R 中某一屬性若從未在F 中任一個功能相依性的右手邊出現過,則此屬性必為鍵 (Key)之一部分。 R 中某一屬性若僅在F 中之功能相依性的右手邊出現,則此屬性必不為鍵(Key) 之一部分。 一個功能相依性X →Y,X 代表左手邊,Y 代表右手邊,請說明此二個要點成立之 原因為何?(20 分)
在ANSI/SPARC 三層資料庫系統架構的每一層,都可以分割成資料及綱要 (schema),因此完整的資料庫綱要也分成三層,試說明並舉例描述此三層資料庫綱 要。(25 分)
考慮以下記載討論版文章的關聯: Member(mId, mName, email) // 會員(編號, 姓名, 電子郵件信箱) Post(pId, mId, dateTime, title, pContent) // 文章(文章id, 作者編號, 日期時間, 主旨, 內容) 105年公務人員高等考試三級考試試題 全一張 (背面) 類 科:資訊處理 科 目:資料庫應用 Reply(pId, rId, rmId, dateTime, rContent) // 回文(文章id, 回文id, 回文作者編號, 日期時間, 內容) 其中主鍵以底線表示,外鍵如下: Post(mId)參考到Member(mId) Reply(pId)參考到Post(pId) Reply(rmId)參考到Member(mId) 請用一個SQL 查詢句(Queries)回答以下每一個查詢: 列出2016 年有PO 過文章(即出現在Post 關聯裡)的會員之會員編號和姓名。(5 分) 對於每一篇PO 文,列出其pId, PO 文時間,PO 文作者姓名,以及在2016 年被回 應的次數。(8 分) 列出有原作者回應的PO 文之pId, title 和作者姓名。(7 分) 找出PO 文中(即出現在Post 關聯裡)的內容有疑似西元日期的文章之pId, title, PO 文作者姓名。所謂疑似西元日期是指出現連續四個數字,且第一個數字為1 或2, 或是(連續)數字前有西元或公元的字眼。(10 分)
已知關聯綱目(Relation Schema)R = {A,B,C,D,E},其功能相依性(Functional Dependencies)之集合F = {AC →E,AC →D,BC →D,ACD →BE} 試問R 所滿足之最高正規型式(Normal Form)為何?請說明原因。(10 分) 試問F 之最小集合(Minimal Set)為何?請解釋每一步驟。(15 分)
在現今處理巨量資料(Big Data)成為常態的時代,傳統關聯式資料庫常顯得力不從 心,於是新的資料儲存解決方案應運而生,其中NoSQL 即為知名的解決方案之一: 試說明NoSQL 的特性。(10 分) 試說明NoSQL 的種類並針對每一種類舉一實例。(15 分)
MongoDB 是目前使用愈來愈普遍的NoSQL 資料庫管理系統,NoSQL 的主要特色包 括Schemaless, eventual consistency 和horizontal scaling 請說明Schemaless, eventual consistency 和horizontal scaling 的意義。(10 分) 假設你有一個order(訂單)的collection,包含四個欄位:cust_id(顧客id), product(產 品), amount(金額), type(產品型態),以下Mongo 查詢句可用來找出衣服(clothing) 類產品總購買金額超過10,000 元的顧客之顧客id 和衣服類產品購買總金額: db.orders.aggregate( [ { $match: {type: “clothing”}} { $group: { _id: “cust_id”, total: { $sum: “amount”} } } { $match: {total: { $gt: 10000}}} ]) 請仿以上MongoDB 語法,找出購買金額超過1,000 元的訂單中,各類產品的總購買 金額。(10 分)