申論 1某市政府希望透過網路來處理市民的反映問題,經過訪談和分析後,獲得以下需求: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 分)
本卷皆為申論題,點「看答案與解析」查看擬答。
弱點分析
未作答的題目不計分。看我的紀錄
申論 2考慮以下記載討論版文章的關聯: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 分)
申論 3考慮以下記載討論版文章的關聯:Member(mId, mName, email)// 會員(編號, 姓名, 電子郵件信箱)Post(pId, mId, dateTime, title, pContent)// 文章(文章id, 作者編號, 日期時間, 主旨, 內容)105年公務人員高等考試三級考試試題 代號:26670類科:資訊處理科目:資料庫應用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 分)
申論 4MongoDB 是目前使用愈來愈普遍的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 分)