lawpalyer logo

資料庫應用考古題|歷屆國考試題彙整

橫跨多種國家考試的資料庫應用歷屆試題(選擇題 + 申論題)

年份:

資訊處理 100 題

請闡述下列專門術語的意涵:(每小題4 分,共20 分) ANSI/SPARC 三層架構 並發(Concurrent) 弱實體 2NF 網路式資料模式
假設某個銀行需要管理顧客借款的資料,而定義了三個表格,其中 CUSTOMER 表格記錄顧客基本資料,包含身分證字號(ID)、姓名(Name)、 地址(Address)和連絡電話(Telephone);LOAN 表格記錄每筆借款的 基本資料,包含借款編號(LoanNO)、借款金額(Amount)和辦理借款 的銀行分行名稱(Branch);BORROWER 表格則記錄借貸關係,包含借 款顧客(ID)、借款編號(LoanNO)和借貸成立日期(Date)。所有屬性 除了「借款金額」為數字型態之外,其餘皆為字串型態。此三個表格的綱 要簡列如下,且每個表格的主鍵以底線標註: CUSTOMER(ID, Name, Address, Telephone) LOAN(LoanNO, Amount, Branch) BORROWER(ID, LoanNO, Date) 請利用SQL 查詢指令,分別回答下列問題:(每小題10 分,共30 分) 找出那些顧客曾經在此銀行的“忠孝東路”分行辦理借款,列出其顧客身 分證字號、借款編號和借款金額。 找出每家分行的最大借款金額。 找出住在臺北市且借款超過3 次以上的顧客身分證字號。
說明下列EER 模型(Enhanced Entity Relationship)的四個構成要素, 並各舉一個具體例子說明其在真實世界中的應用⑴Entity, ⑵Attribute, ⑶Relationship, ⑷Supertype/Subtype。(20 分)
有一資料表Sales(OrderID, CustID, Amount, ODate)。請回答下列問題: (每小題10 分,共20 分) 寫出查詢2025 年1 月的訂單與金額的SQL 陳述式(statement)。 下列SQL 陳述式的作用為何? SELECT CustID, SUM(Amount)AS TotalAmt FROM Sales WHERE ODate >= DATE '2025-01-01' AND ODate < DATE '2025-02-01' GROUP BY CustID ORDER BY TotalAmt DESC;
請說明下列兩種事務隔離級別的差異,並針對每種隔離級別各舉一個可 能造成資料不一致的實際情境:⑴Read Committed, ⑵Repeatable Read。 (10 分)此外,請說明為何某些資料庫系統預設使用Read Committed 而非 Serializable。(10 分)
假設在關聯式資料庫系統中,資料庫管理者(DBA)定義了一個MEMBER 表格,並以三個字串型態的屬性記錄會員的基本資料,包含:編號(ID)、 姓名(Name)、電話號碼(Telephone)。經統計分析發現此系統的使用 者經常利用會員姓名查詢其電話號碼,如下列的範例SQL 查詢句所示: select Telephone from MEMBER where Name = ‘Wu’; 請問此資料庫管理者應該替那個或那些屬性建立索引(Index),以提升資 料庫系統的查詢處理效率?進一步以範例資料畫出此索引的樹狀結構,並 詳加說明此結構具有何種特性,可協助達到提升效率的目的。(20 分)
假設一家零售商希望對顧客的購買行為進行資料分析,而考慮是否在現有 的交易處理系統(Transaction Processing System)之外,另外再建立一個 資料倉儲(Data Warehouse)。請根據不同面向說明此兩種系統的差別, 包含資料來源多寡或資料時間特性、綱要(Schema)的設計理念(譬如是 強調正規化還是處理效率)、較常使用的SQL 指令(譬如:新增、刪除、 修改、查詢)等。並根據上述比較的結果,建議此廠商分開建立成兩個系 統或整合成一個系統。(30 分)
根據下列客戶訂單資料回答相關查詢SQL敘述,資料表格為:Customer(CID, Name), Orders(OID, CID, TotalAmount, OrderDate), Payment(PID, OID, AmountPaid)。(每小題10 分,共30 分) 在OrderDate 為“2025.01.01”當天,所有客戶訂單總量排行,依總量由 高到低列出客戶姓名與總量。 找出截至2025.01.01,曾有付款行為且總付款金額超過10,000 的客戶 姓名與其總付款金額。 所有訂單但付款金額(AmountPaid)總和不足訂單金額(TotalAmount) 的客戶名稱與欠款金額,並以欠款金額由高至低排序。
某校務系統包含Student、Course、Section、Enroll 等四個資料表。其中 Section 描述同一課程(Course)在不同學期/時段/教室/教師的實際開課 實例。請以ER 模型描述主要實體、關聯、以及基數,另外也說明為什 麼需要Section。(20 分)
闡述備份與復原策略中的「完整備份、差異備份、交易日誌(WAL/Log) 備份」三者的差異與搭配方式,並概述災難復原(DR)兩個R 指標。 (20 分)
JSON(JavaScript Object Notation)格式經常被用來表示半結構化資料 (Semi-Structured Data)。假設我們要建立多筆顧客的資料,其中顧客編 號(No)和姓名(Name)為字串型態,而子女(Children)則為數個字串 組合而成的陣列。兩個顧客的範例資料如下表所示: No Name Children 1 張三 John, Mary 2 李四 John, Tom, Sandy 請將上述內容以一個集合(collection)內含兩個JSON 文件(document) 表示,並讓一個顧客對應到一個JSON 文件。(20 分)
請說明資料庫交易處理中的ACID 意義與其四大性質(Atomicity,Consistency, Isolation, Durability)分別意義為何,(15 分)並針對下列交易衝突情境, 指出可能違反的ACID 性質與造成的後果,情境:T1 在更新帳戶A 餘額 後尚未提交(commit),T2 同時讀取帳戶A 的餘額並執行轉帳。(15 分)
闡述資料庫發展生命週期(DBLC)常見的六個階段。(20 分)
資料模型(Data Model)是用來描述資料的性質與資料之間的關係,個 體關係模型(Entity-Relationship Model, ER Model)是最常用的資料模型。 延伸個體關係模型(Enhanced Entity-Relationship Model, EER Model)的 塑模概念(Modeling Constructs )主要包括個體(Entity )、關係 (Relationship)、屬性(Attribute)及父子型態關係(Supertype/Subtype Relationship)四種,請分別定義這四種塑模概念並舉例說明。(20 分)
請設計符合BCNF 且考量OO(物件導向)的Enhanced-ER(EER)data model ,可以滿足如下航空管理的需求,model 中需註明合適的 primary/foreign key,及資料表彼此關聯的maximum/minimum cardinality。 (30 分) 註:題目中不需要用到的資料,請不要列入到資料表中 假設:一台飛行器只會由一家製造商製造,且只會隸屬一家航空公司 假設:一台飛行器的載客數,出廠時即已決定,不會再改裝 可以查詢特定旅客,指定日期期間內,所有的飛行紀錄,包括飛行器製 造商與型號、航班編號、航班所屬航空公司的國籍、名稱、註冊日期、航 班的起降地、飛行旅程數及機票費用。 可以查詢特定日期期間內,特定國家機場起飛航班,特定座位前後三排 的旅客名單,包括姓名、聯絡電話、e-mail。 可以查詢特定日期期間內,由甲地飛往乙地,所有臺籍航班的資訊,包 括航班的起降日期時間、載客比例、本國籍旅客比例、男女旅客比例、 未滿兩歲及八十歲高齡旅客名單。 可以查詢特定機場,指定日期期間內,所有行李轉盤卸載行李的航班資 訊,包括起降機場、起降日期時間、行李數。 可以查詢所有航空公司,特定日期期間內,所擁有的載客飛行器資訊, 包括飛行器的製造商、型號、出廠日期、載客數及正副駕駛的國籍、姓 名、性別、年齡。 可以查詢製造商各型號飛行器自出廠到銷毀,平均的年限、總飛行時間、 總飛行旅程數、總載客數,結果依製造商國籍分類顯示。
某醫院的關聯式資料庫綱要(Relational Database Schema)包括下列兩個 表格: 表格一為住院病患,包括病患編號、病患姓名、病房編號、護理師編號 四個欄位,病患編號為主鍵;護理師編號為外來鍵。 表格二為護理師,包括護理師編號、護理師姓名、月薪三個欄位;護理 師編號為主鍵。 對於下列三個查詢問題,請各寫出一個SQL SELECT 指令。 列出月薪高於45,000 元的每一位護理師之護理師編號與月薪。(10 分) 列出有照顧住在病房編號‘8F12’的病患之護理師姓名。(10 分) 列出每一位有照顧病患的護理師編號與照顧人數。(10 分)
假設現有如下點歌紀錄的關聯式資料庫,請使用SQL 回答相關的子問題。 (每小題5 分,共20 分) Publisher(nation, company_ID, name) PK: nation+company_ID Song(song_ID, name, language, type, publish_year, nation, publisher_ID) PK: song_ID FK: nation+publisher_ID ref. Publisher(nation+company_ID) Member(mobile, nickname, gender) PK: mobile OnDemand_Record(member_ID, song_ID, date_time) PK: (member_ID, song_ID, date_time) FK: member_ID ref. Member(mobile) FK: song_ID ref. Song(song_ID) 註:欄位名稱如相同或顯示非欄位名稱,請使用Alias 重新命名顯示的欄位 請列出2023 年,點播率最高前兩名的英文歌曲名、發行者名、發行年 份及點播次數,結果請依點播次數多至少排列顯示。 請列出"Universal" 所發行歌曲,2023 年第四季到2024 年第三季間, 點播歌曲名、歌曲類型、發行年份,結果只顯示同一發行年份點播歌曲 數>1 的歌曲,同時依發行年份,由近至遠排列。 請列出2024/02/14 的點播歌曲,結果請依歌曲類型及會員性別分類顯示 相關的點播次數。 請加入新會員"小喬"女生的點歌紀錄如下: ("0999654321", "TWC_2024000001", 2024/03/28 22:00:00")。 註:新增資料請保持參照完整性
請以符合BCNF 的RDB 資料表表示如下的汽車保修紀錄資料,正規化後 的資料表欄位,需同時註明primary/foreign key,並將正規化後的資料表資 料內容,分別以json 及XML 的檔案格式描述。(30 分) 紀
一個關聯式資料庫表格的綱要如下所示: T (A, B, C, D, E) T 為表格名稱,A、B、C、D、E 為表格的五個屬性,{A, B}與{A, C}為 表格的兩個候選鍵。另外,此表格有下列功能相依(Functional Dependency): {A, B} {D, E}、{A, C} {D, E}、{B} {C} 請問表格T 為第幾正規型式(Normal Form)?請說明原因。(15 分) 若表格T 不是適當的正規型式(換言之,可能會有重複的資料),請將 該表格正規化(Normalization),分解成若干個適當正規型式的表格。 請寫出每一個表格的綱要,包括表格名稱、屬性、主鍵以及外來鍵(假 設有外來鍵的話)。(15 分)
假設現有如下T1, T2, T3, T4 四筆交易同步存取帳號資料x, y,請以 conflict equivalent 的觀念,繪圖說明這四筆交易的執行排程,並說明這四 筆交易是否具備排程循序性(serializability)?如果具備排程循序性,則此 四筆交易的執行順序應為何,才不會出現衝突?如果不具備排程循序性, 則衝突的cycle 有那些?(20 分) 註:R 表示讀取,W 表示寫入
資料倉儲(Data Warehouse)的多維度資料模型(Multidimensional Data Model)以資料方塊(Data Cube)的形式來檢視資料,在資料方塊上的 操作稱為線上分析處理(Online Analytical Processing,簡稱OLAP),典 型的OLAP 操作主要包括向下鑽取(Drill Down)、向上鑽取(Drill Up)、 切片(Slice)及切塊(Dice)四種,請分別定義這四種OLAP 操作並舉 例說明。(20 分)
請定義資訊(Information)與詮釋資料(Metadata),並說明它們和資料 (Data)的差別。(20 分)
資料庫系統的設計原則,是根據資料抽象化(data abstraction)的概念, 將資料分作不同層,包含:實體層(physical level)、邏輯層(logical level) 和視界層(view level)。請分別敘述每一層的功能或功用為何?並說明 將資料分做三層的好處。(20 分)
國立ABC大學的校務行政電腦化,其中有關教務資料,擬採用資料庫系 統,經系統分析後,得到如下需求(Requirements): ABC大學由許多學系(DEPARTMENT)組成,每一學系有系代碼 (DeptId)與系名稱(DeptName),系代碼可區別不同學系。 各學系會開許多課程(COURSE),每一課程有課程代碼(CrsId)、課程 名稱(CrsName)、課程說明(CrsDescrip)與課程學分數(CrsCredit), 課程代碼可區別不同課程。 每一學系有許多學生(STUDENT),每個學生有學生代碼(StudId)、學 生姓名(StudName)與學生電子信箱(StudEmail),有學生會有多個電 子信箱,學生代碼可區別不同學生。 每一學系由許多教授(PROFESSOR)組成,每一教授有教職員工代碼 (ProfId)、姓名(ProfName)與職稱(ProfRank),教職員工代碼可區 別不同教授。 每個學系會開授許多課程,每一課程僅由一學系開授。 每個學系會有許多學生,每一學生僅隸屬於一學系。 每個學系會有許多教授,每一教授僅隸屬於一學系。 每一教授可以開授許多門課程,每一門課程僅由一個教授開授。 每一學生可以修習許多課程,每一課程也可由許多學生來修習,每一學 生修習的課程有一成績(Grade)。 請設計此教務關聯式資料庫綱要(Relational Database Schema),並標示出 此資料庫關聯(Relations)的主鍵(Primary Key)與外來鍵(Foreign Key)。 (25分)
給予一關聯綱要EMP-DEPT(EmpId, EmpName, EmpBdate, EmpAddr, DeptNum, DeptName, DmgrId),主鍵(Primary Key)為{EmpId},此關聯 綱要記錄員工參與部門的相關資料,員工有員工編號(EmpId)、員工姓 名(EmpName)、員工生日(EmpBdate)與員工地址(EmpAddr),部門 有部門編號(DeptNum)、部門名稱(DeptName)與部門經理編號(DmgrId), 而且給予一組功能依附性(Functional Dependencies ){{EmpId} → {EmpName, EmpBdate, EmpAddr},{DeptNum}→{DeptName, DmgrId}}, 關聯綱要EMP-DEPT是否為2NF?如不是,請將EMP-DEPT正規化至2NF, 然後正規化至3NF,並論述分割(Decompose)的理論基礎。(25分)
假設要為一個電子商務網站設計資料庫,請根據下列需求利用實體關係 模式(Entity-Relationship model)進行規劃,並畫出對應的實體關係圖 (ER-diagram): 每個物品都要記錄其編號、名稱、製造廠商和價錢。 每個會員都要記錄其會員編號、姓名、地址和電話。 每個訂單都要記錄其訂單編號、由那個會員下訂、訂單成立的日期、 應付的總金額、包含那些物品和每個物品被購買的個數等。 一個訂單只能隸屬於一個會員,但可包含多項物品。 請注意圖中必須標明實體集合、關係集合、屬性、主鍵和對應數量限制 (mapping cardinality)等,也可使用擴充實體關係模式(Extended ER model, EER)的表示法。(20 分)
在擴充實體關係模型(Extended Entity-Relationship Model, EER Model)中, 必須在父子型態關係(Supertype/Subtype Relationship)上描述兩種限制 (Constraints),請說明這兩種限制。(20 分)
給予下列二個行程(Schedules)A與B,請用一圖形演算法,利用行程中 的讀(Read)與寫(Write)動作(Operations)構成圖形,圖形邊(Edge) 上標示讀寫的資料項目(Data Items),以此演算法論述A與B兩行程是否 具序列性(Serializability)?如具序列性,請寫出對等序列行程(Equivalent Serial Schedule)。(25分) (a) transaction T1 transaction T2 transaction T3 Time read(X); write(X); read(Y); write(Y); read(Z); read(Y); write(Y); read(X); write(X); read(Y); read(Z); write(Y); write(Z); Schedule A (b) transaction T1 transaction T2 transaction T3 Time read(X); write(X); read(Y); write(Y); read(Z); read(Y); write(Y); read(X); write(X); read(Y); read(Z); write(Y); write(Z); Schedule B
在關聯式資料庫(Relational Database)的正規化理論(Normalization Theory)中,決定者(Determinant)與候選鍵(Candidate Key)的定義分 別為何?決定者與候選鍵之間的關係為何?(30 分)
假設有一個商家的關聯式資料庫系統,以四個表格記錄會員、貨品、購 買紀錄和每筆訂單的物品清單等資料,而整數型態的屬性有以下三個: 價錢(price)、應付金額(amount)和數量(quantity),其餘的屬性型態 皆為字串。其完整綱要(schema)如下所示,其中每個表格的主鍵以底 線標註: Member(accountNO, name, telephone) Item(itemNO, name, price) ShoppingRecord(orderID, accountNO, amount) ShoppingList(orderID, itemNO, quantity) 請利用SQL 查詢指令,分別回答以下子題。(每小題10 分,共30 分) 找出名為「張三」會員的所有購買紀錄,包含該筆紀錄的編號和應付 金額。 針對名為「張三」的會員,找出購買總數量超過5 個以上(含)的貨 品,每一筆輸出需包含貨品編號和購買總數量。 找出累計所有會員花了最多錢購買的貨品,輸出該貨品的編號。
分散式資料庫為一個分散在電腦網路的許多在邏輯上相關資料庫的集 合,請畫出分散式資料庫系統三層主從伺服器架構(Three-tier Client-server Architecture),並論述其運作原理,分散資料的管理具有不同層次(Levels) 的透明度(Transparency),請論述三種透明度及相關技術。(25分)
資料倉儲(Data Warehouse)的設計是採用維度模式(Dimension Model), 請列出維度模式的三種綱要(Schema),並說明這三種綱要的架構。(30 分)
關聯式資料庫綱要設計的基本原則是要符合正規化的規定,請詳述何謂 第一正規化(First Normal Form)?並設計一個表格舉例說明,若不符合 第一正規化會帶來何種問題。反之,可延伸標記式語言(Extensible Markup Language, XML)資料或JSON(JavaScript Object Notation)資料 則支援巢狀(nested)的表示法。同樣舉出一個實例說明該表示法為何, 以及可以帶來何種好處?(30 分)
試說明下列名詞之意涵:(每小題5 分,共10 分) 第二正規化(Second Normal Form)的定義 何謂NoSQL
某圖書館所建立的關聯式資料庫系統(Relational database system)中,定 義了三個表格,其中MEMBER 表格記錄會員基本資料,包含會員編號 (Mid)、姓名(Name)和連絡電話(Telephone);BOOK 表格記錄書本 基本資料,包含國際標準書號(ISBN)、書名(Title)和出版社(Publisher); BORROWER 表格記錄借閱資料,包含借書者(Mid)、書號(ISBN)和 借閱日期(Date)。除了日期之外,其餘屬性皆為字串型態。此三個表格 的綱要簡列如下,且每個表格的主鍵以底線標註: MEMBER(Mid, Name, Telephone) BOOK(ISBN, Title, Publisher) BORROWER(Mid, ISBN, Date) 請利用SQL 查詢指令,分別回答下列子題: 找出那些會員曾經借閱過“全華”出版社出版的書籍,列出其會員編號、 姓名和聯絡電話。(10 分) 針對每個出版社,找出那些會員曾經借閱過3 本以上(含)該出版社出 版的書籍,每一筆輸出包含出版社和符合條件的會員編號。(10 分) 定義一個名為TimeBookCount 的檢視表(view),輸出每個會員(以 Mid 代表)所借閱由“時報”出版社出版書籍的總數,並將檢視表的第一 個屬性命名為“Mid”,第二個屬性命名為“BookCount”。(10 分)
某一家高科技公司的關聯式資料庫包含員工、產品及研發三個表格。員 工表格記錄員工基本資料,包含員工編號、員工姓名;產品表格記錄產 品基本資料,包含產品編號、產品名稱、產品價格;研發表格記錄那些 員工參與研發那些產品的資料。這三個表格的關聯綱要(Relational Schema)如下所示: 員工(員工編號、員工姓名) 產品(產品編號、產品名稱、產品價格) 研發(員工編號、產品編號) 加底線的屬性為該表格之主鍵;例如,研發表格之主鍵為員工編號與產 品編號兩個屬性的組合。研發表格有員工編號與產品編號兩個外來鍵, 分別參照員工表格的主鍵員工編號與產品表格的主鍵產品編號。 請針對下列三個查詢問題,各寫出一個SQL 指令來進行查詢。 (每小題10 分,共30 分) 列出價格介於10000 與20000 之間(含10000 與20000)的每一種產 品之產品編號與產品名稱。 列出參與研發產品編號為‘P003’的產品的所有員工之姓名(姓名不要 重複)。 列出參與研發超過5 種產品的員工之員工編號。
假設在關聯式資料庫系統中,資料庫管理者(DBA)定義了一個MEMBER 表格,其中包含三個字串型態的屬性:Mid、Name、Telephone,並根據Mid 欄位定義一個名為“MyIndex”的B+-tree 索引(Index)。首先請說明 “MyIndex”索引的樹狀結構,包含其內部節點、葉節點、結構的特性等, 答案請以文字敘述或圖形呈現。其次請說明資料庫系統如何利用該索引結 構,提升下列SQL 查詢句的處理效能: select Name from MEMBER where Mid = ‘M001’(20 分)
擴充實體關係模型(Extended Entity-Relationship Model, EER Model)中 的父子型態關係(Supertype/Subtype Relationship)需要宣告兩個主要的 限制:完整性限制(Completeness Constraint)與互斥性限制(Disjointness Constraint)。(每小題10 分,共20 分) 完整性限制宣告父型態的一個實例是否必須屬於至少一個子型態,有 兩種可能:完全特殊化(Total Specialization)與部分特殊化(Partial Specialization),請分別定義之。 互斥性限制宣告父型態的一個實例是否可以同時屬於多個子型態,有 兩種可能:互斥(Disjoint)與重疊(Overlap),請分別定義之。
關聯式資料庫系統在實作異動處理(Transaction Processing)時,大多希望 能符合ACID 四個特性以確保資料庫內容的正確性。假設一個異動欲從P 帳戶轉1000 元到Q 帳戶,其中包含的六個指令如下表所示。請以該異動 具體說明ACID 所代表的四個要求分別為何?若沒有達到該要求會造成 什麼不良的影響?(20 分) 1. read(P) 2. P : = P – 1000 3. write(P) 4. read(Q) 5. Q : = Q + 1000 6. write(Q)
Z(P, Q, R, S)是一個關聯式資料表(Relational Table)的綱要,Z 為資料 表的名稱,P、Q、R、S 為資料表的四個屬性,P 為資料表的主鍵與唯一 的候選鍵。此外,該資料表有下列功能相依:(每小題15 分,共30 分) P Q, R, S Q S 資料表Z 符合第幾正規型式?原因為何? 將資料表Z 正規化到適當的正規型式,寫出正規化之後每一個資料表 的綱要,包括資料表的名稱、屬性、主鍵及外來鍵(如果有的話)。
假設我們要建立書籍的資料,其中書籍的編號(No)和書名(Title)為字 串型態,而作者(Authors)則為數個字串組合而成的陣列,且每本書籍的 編號皆不與其他書籍相同。兩本書籍的範例資料如下表所示: No Title Authors 1 計概 [趙先生, 張小姐] 2 資料庫 [Silbers, Korth, Sudar] 針對上述的資料特性,首先請設計出符合第一正規化(First Normal Form) 的關聯式表格,每個表格標註其欄位名稱與主鍵,以及對應上表的範例資 料內容。其次,請將上述表格內容直接以一個集合(collection)內含兩個 JSON(JavaScript Object Notation)文件(document)表示,其中一本書籍對 應到一個JSON 文件。最後,根據你的答案,詳述結構化(structured)關聯 式資料和半結構化(semi-structured)JSON 資料表示法的差異性。(30 分)
機器學習(Machine Learning)主要任務可區分為監督式學習(Supervised Learning)與非監督式學習(Unsupervised Learning),監督式學習包括分 類(Classification)與迴歸(Regression),非監督式學習最常用的是分群 (Clustering)。(每小題10 分,共20 分) 分類與迴歸要預測的值最主要的差異為何? 分類與分群所分析的資料最主要的差異為何?
某一個連鎖商店要建置一個關聯式資料庫(Relational Database),請設計 一個資料庫綱要(Database Schema)以滿足下列資料需求:(30 分) 商店(Store):每一家商店有一個商店編號(SID)、商店名稱(Name)、 以及商店所在的城市名稱(City),每一家商店的商店編號是唯一的。 顧客(Customer):每一位顧客有一個顧客編號(CID)、姓名(Name)、 性別(Gender)、地址(Address)、以及若干個電話號碼(Phone), 每一位顧客的顧客編號是唯一的。 交易(Transaction):每一筆交易記錄顧客編號(CID)、商店編號(SID)、 交易日期與時間(Time)、以及交易金額(Amount),每一筆交易是由 顧客編號、商店編號、以及交易日期與時間來唯一識別。
請試述下列名詞之意涵:(每小題5 分,共25 分) Replication independence in a distributed database system B+-tree Entity integrity rule Boyce-Codd Normal Form(BCNF) NOSQL
假設在某關聯式資料庫(Relational database)中,資料庫管理者(Database Administrator, DBA)執行如下之SQL 指令以定義CUSTOMER 和 PURCHASE 兩個表格: create table CUSTOMER (cid char(2), name varchar(10), city varchar(10), primary key(cid)); create table PURCHASE (cid char(2), mid char(2), amount integer, primary key (cid, mid), foreign key(cid) references CUSTOMER); 若使用者依序執行下列六個SQL 指令,  指令一:insert into CUSTOMER values (‘C1’, ‘John’, ‘Taipei’);  指令二:insert into PURCHASE values (‘C1’, ‘M1’, 10);  指令三:insert into CUSTOMER values (‘C1’, ‘Mary’, ‘Taichung’);  指令四:insert into PURCHASE values (‘C1’, ‘M2’, 1);  指令五:update CUSTOMER set cid = ‘C2’ where cid = ‘C1’;  指令六:delete from PURCHASE where cid = ‘C1’; 請針對指令三至指令六此四個指令,分別說明其執行之後所產生的效 果,並加以解釋之。舉例來說,若某指令可順利執行,請說明是那些表 格受到影響,並詳述更新後的表格內容。反之,則請說明是表格定義中 的那項限制,導致該指令無法順利更新表格內容。(20 分)
(2)
(10)
(10)
(2)
(2) 20 分
請定義資料庫管理系統的四個基本名詞:資料庫(Database)、資料(Data)、 資訊(Information)、詮釋資料(Metadata)。(20 分)
假設我們有一個投資公司的資料庫包含以下屬性:B-Broker, O-Office of a broker, I-Investor, S-Stock, Q-Quantity of stock owned by an investor, D-dividend paid by a stock。整體schema R =(B, O, I, S, Q, D)。假設此 資料庫有以下functional dependency, I →B, IS →Q, B →O, S →D。 列舉所有R 的candidate keys。(5 分) 寫出一個lossless-join 分解使得R 分解後滿足BCNF。(10 分)
假設關聯式資料庫中定義三個表格,其中CUSTOMER 表格記錄顧客基 本資料,包含顧客編號(Cid)、姓名(Name)和所居住的城市(City); MERCHANDISE 表格記錄貨品基本資料,包含貨品編號(Mid)和價格 (Price);PURCHASE 表格則為購買資料,記錄了某位顧客(Cid)於某 日(Date)購買某個貨品(Mid)的數量(Amount)。在這些表格的欄位 中,除了價格和數量二者為數值型態的屬性,其餘皆為字串型態。此三 個表格的綱要簡列如下,且每個表格的主鍵以底線標註: CUSTOMER(Cid, Name, City) MERCHANDISE(Mid, Price) PURCHASE(Cid, Mid, Date, Amount) 請根據以下兩個資訊需求分別寫出對應的SQL 查詢指令,注意每個小題 皆各自對應到單一的SQL 查詢句,但是可以使用子查詢句(Subquery) 或類似功能的寫法。 請問所有住在臺北市的顧客,總共花了多少錢在購買物品上?(10 分) 試找出那些顧客購買貨品編號“M1”的總數量,超過編號“C2”顧客購買 貨品編號“M1”的總數量,並輸出那些顧客的編號。(10 分)
T(A, B, C, D, E, F, G)是一個關聯式資料庫表格的綱要,其中T 為表格 名稱,A、B、C、D、E、F、G 為表格的七個屬性,(A, E)為表格的組 合主鍵(Composite Primary Key),同時也是該表格唯一的候選鍵(Candidate Key)。另外,該表格有下列功能相依(Functional Dependency): A B, C, D C D E F (A, E)G 請問表格T 符合第幾正規型式(Normal Form)?請說明理由。(10 分) 表格T 應該要正規化到第幾正規型式才適當?請將表格T 正規化到適 當的正規型式,寫出正規化之後每一個表格的綱要,包括表格名稱、屬 性、主鍵、以及外來鍵(如果有外來鍵的話)。(15 分)
請解釋何謂SQL injection 以及要如何預防?(10 分)常見的SQL injection 攻擊手法為「略過權限檢查」與「注入SQL 子語法」等,請寫出一段有SQL injection 漏洞的網頁程式碼以及可能的SQL injection 攻擊寫法。(10 分)
假設某公司欲建立一個關聯式資料庫系統,以管理內部員工使用公務車 輛的狀況,該公司並限制一個員工在一天之內最多只能借用一部車輛。 假設表格定義為UNIVERSAL(Tag, Year, ID, Title, Date),其內每一筆資 料列(Tuple)記錄了某部車輛的車牌(Tag)和購買年份(Year),使用 該台車輛的員工編號(ID)和職稱(Title),以及使用的日期(Date)。請 針對此表格的5 個屬性,列出三個合理且有意義(Non-Trivial)的函數 相依式(Functional Dependency),並針對所列出的每一項式子,解釋其 合理性或詳述其所代表的限制。接著根據你所列出的函數相依式,分析 此UNIVERSAL 表格,是否符合BCNF 正規化格式(Boyce-Codd Normal Form)。(20 分)
資料倉儲設計最常使用的資料模型為多維度資料模型,是以星狀綱要、雪 花狀綱要或事實星座綱要的形式存在,請先分別說明星狀綱要、雪花狀綱 要與事實星座綱要,然後比較星狀綱要與雪花狀綱要之優缺點。(25 分)
根據以下關聯資料表架構,老師可開設多門課程,同一門課可以有多位 教師,學生也可以修多門課程,修過課程就會有分數。 student(SID, Sname, Sage, Ssex)// 學生編號, 姓名, 年紀, 性別 course(CID, Cname, TID)// 課程編號, 課名, 教師編號 teacher(TID, Tname)// 教師編號, 教師名稱 score(SID, CID, sc)// 學生編號, 課程編號, 分數 寫出以下SQL 查詢 查詢學生名字中含有「Alan」的男學生人數。(5 分) 查詢Alan 修過的課中,那門課只由一位老師開課的課程名稱。(5 分) 查詢修過課程所有成績之平均成績大於等於60 分的同學的學生編號 和學生姓名和平均成績。(10 分) 查詢學過編號為「01」但是沒有學過編號為「02」課程的同學編號與 其修「01」課的分數。(10 分) 查詢沒有學過全部課程的同學的編號。(10 分)
資料庫系統中,經常使用「鎖」 (Lock)的機制來進行交易處理(Transaction Processing)中的併行控制(Concurrency Control),而該機制允許某個資 料項目(Data Item)被「共享鎖」(Shared Lock)或「排他鎖」(Exclusive Lock)鎖定。請問這兩種不同鎖定的模式,對一個資料項目的使用方式 所造成的限制各自為何?另外,資料項目可以小到一筆資料列(Tuple) 或紀錄(Record),也可以大到涵蓋一整個表格或資料庫。請分析資料項 目的大小對系統的效能影響為何?(20 分)
資料庫領域有許多專門術語,請敘述下列術語之意涵: 參與限制(Participation Constraint)(4 分) 基數限制(Cardinality Constraint)(4 分) View(4 分) 外來鍵(Foreign Key)(4 分) 叢集索引(Clustered Index)(4 分)
假設在某個MongoDB 的資料庫中,有個Collection 叫做“student”,其中 每個物件表示學生的編號(_id)、姓名(name)包含名(first)和姓(last) 以及就讀的學系名稱(department)。一個範例物件以JSON 格式表示如 下所列: {"_id": "1", "name": { "first": "Ted", "last": "Codd" }, "department": "CS" } 請以Mongo 語法,依序寫出符合下述要求的指令: 找出姓為“Codd”的學生,並限定只輸出第一位。(10 分) 刪除所有就讀“CS”系的學生資料。(10 分)
請為下列的流行傳染病採檢通報系統設計符合BCNF且考量OO的EER data model,model 中請註明合適的primary/foreign/candidate keys,資料 表間的關聯亦請適當地說明彼此間的maximum/minimum cardinality。 註:不需要用到的資料不必列入。(30 分) 系統可以查詢各配合醫事機構的地址及開放時段,如星期一上午,星期 五晚上……。 系統可以查詢某特定縣市某特定時段有開放採檢的醫事機構,包含醫事 機構名稱、地址、電話。 系統可以查詢某特定日期某特定醫事機構,受檢男性人員的數量。 系統可以查詢某特定縣市、所有確診人員所有的受檢日期時間及採檢的 醫事單位。 系統可以查詢確診案例的受感染類型(如本土、境外、不明……),感染 源(如案編號……)、症狀、收治醫事機構、年齡、性別、縣市。 系統可以查詢受檢後未確診需後續追踨相關人員的手機、居住地址(不 等於戶籍地)及其需追踨事由(如檢疫、隔離、自主健康管理……)。 系統可以查詢各縣市目前居家檢疫的數量。
某一家圖書公司的關聯式資料庫(Relational Database)包含了作者、圖書 及寫書三個表格(Table)。作者表格記錄作者的編號與姓名;圖書表格記 錄圖書編號、書名、西元出版年份(例如,2018)、銷售數量(例如,5000); 寫書表格記錄作者與圖書的關係,為多對多的關係。這三個表格的關聯綱 要(Relational Schema)如下所示: 作者(作者編號、作者姓名) 圖書(圖書編號、書名、出版年份、銷售數量) 寫書(作者編號、圖書編號) 有底線的屬性(Attribute)為該表格之主鍵(Primary Key);例如,寫書表 格之主鍵為作者編號與圖書編號兩個屬性的組合。寫書表格有作者編號 與圖書編號兩個外來鍵,分別參照作者表格與圖書表格的主鍵。 針對下列三個查詢問題,請各寫出一個SQL指令來進行查詢。 列出2015至2019這五年內出版的每一本圖書之圖書編號與書名。(10分) 列出寫過一本以上的書的每一位作者之作者編號。(10分) 列出寫過的書之總銷售數量超過十萬本的每一位作者之作者姓名。(10分)
實體關係模式(Entity-Relationship Model)包含了實體(Entity)、關係 (Relationship)及屬性(Attribute)三個主要的觀念,其中屬性又分為許 多種。 請定義與區別「必須的屬性」(Required Attribute)與「非必須的屬性」 (Optional Attribute)。(10分) 請定義與區別「單值屬性」(Single-valued Attribute)與「多值屬性」 (Multivalued Attribute)。(10分)
假設現有下列個人旅行資料紀錄的關連式資料庫,請使用SQL 回答相關 的子問題。註:假設每一航班每天最多只會飛行一次。 Person(personID, name, nationality, gender) PK:personID Flight(flightID, date, flightNation, takeoff, arrival) PK:(flightID, date) TravelRecord(personID, flightID, date, seat)PK:(personID,flightID,date) FK:personID ref. Person(personID), (flightID, date)ref. Flight(flightID, date) 使用DDL 定義所有的資料表,定義中應適當表示primary and foreign key。(10 分) 請依國籍及性別分類顯示,2020 年5 月,由USA New York 出發所有 班機的搭機人數。註:結果需顯示國籍、性別及人數。(5 分) 請列出2020 年5 月,搭機人數>=100 的所有航班資訊,包括航班代號、 所屬國籍、出發地、目的地、日期,結果並依日期由近至遠排序。(5 分) 新增TW 籍,從Taipei 飛往Los Angles 的航班BR777,2020/07/01 開 始開放訂位,首位訂位客人(TW 籍,代號P000000007 的男性,Mark Lee)目前不在系統所記錄的Person 資料表中,請為此位客人加入訂位 相關資訊,包括航班、人員及座位16A。註:加入資料的順序不可以違 反參加完整性。(5 分)
正規化理論(Normalization Theory)中包含了「第一正規型式」 (First Normal Form, 1NF)、「第二正規型式」(Second Normal Form, 2NF)及「第三正規 型式」(Third Normal Form, 3NF)等正規型式(Normal Form),請說明一 個關聯(Relation)要屬於各個正規型式分別需要符合那些條件。(30分)
請將下列專案工作指派表格資料,以符合BCNF 的RDB 資料表來表示,並 將經BCNF 正規化後的資料表,分別以json 檔案格式來描述。註:答案需包 括BCNF 正規化後的資料表(含內容)及每張資料表對應的json 檔案格式 的內容。(25 分) ProjectID ProjectName Budget EmployeeID EmployeeName Gener Mobile Email StartDate EndDate P001 Health Care 1000000 E001 Jacky Hsu M 0911111111 [email protected] 12/1/2019 1/15/2020 P001 Health Care 1000000 E002 Lily Wu F 0922222222 [email protected] 1/1/2020 6/30/2020 P002 Mask Management 200000 E001 Jacky Hsu M 0911111111 [email protected] 1/1/2020 2/15/2020 P002 Mask Management 200000 E003 Cathy Su F 0933333333 [email protected] 2/1/2020 6/30/2020
線上分析處理(On-Line Analytical Processing, OLAP)為資料倉儲系統中 主要的資料分析方式,其中包括向下鑽取(Drill Down)與向上鑽取(Drill Up)兩種運算。請分別針對這兩種OLAP運算,首先說明其運算方式,然 後舉例說明其可能的應用方式。(20分)
假設現有下列兩個transactions 同步存取資料X, Y,請繪製表格說明, 不同時間標記點,如果讀寫動作被允許進行,系統對資料X, Y 所記 錄的R_TS(讀取的時間標記)及W_TS(寫入的時間標記)為何? 如果讀寫動作不被允許進行,請說明原因及系統會作出的回應為何? 註:系統進行時序如下列左圖,解答表格參考下列右圖。(20 分) Time 1 2 3 4
在關聯式資料庫模型,何謂關聯代數(Relational Algebra)?為何需要關 聯代數?何謂關聯完全(Relationally Complete)?又商業化的資料庫管 理系統會用到的資料庫查詢語言是什麼?與關聯代數有何關係?資料 庫處理器(Run-time Database Processor)如何處理此查詢語言?(20分)
9 T1 T2 Begin Read(Y) Read(X) Write(X) Write(Y) Commit Begin Read(X) Write(X) Commit TS(T1)=??, TS(T2)=?? Time Data R_TS W_TS 1 X Y 2 X Y
在現今大數據(Big Data)盛行的時代,已經有許多大數據平台提供各種 不同的服務,而在這些平台上運行的軟體多半包括有Data Warehouse、Data Mining、OLTP(Online Transaction Processing)、OLAP(Online Analytical Processing)、ETL(Extract, Transform, Load)等:  試說明此五個軟體的主要功用。(15 分)  試說明此五個軟體的相互運作關係,以達成提供大數據服務的目的。 (10 分)
請具體舉例說明關聯式資料庫模型(relational data model)的資料結構 (data structures)、資料整合限制(integrity constraints)與基本的關聯式 代數運算(relational algebra operations)。(15 分)
資料模式(Data Model)很多,就其特性大致可以歸類為三類:高階 (High-Level, 或觀念(Conceptual))資料模式、低階(Low-Level, 或 實體(Physical ))資料模式、表示(Representational, 或實作 (Implementation))資料模式。請分別說明這三類資料模式為何?並為 每一類資料模式各舉至少2 個資料模式的例子。(20 分)
某一資料庫系統內有以下資料表(實底線欄位為主鍵): 課程 教師 課本 資料庫應用 王大明 CS 資料庫應用 王大明 BA 資料庫應用 李大華 CS 資料庫應用 李大華 BA 資料庫實務 王大明 CS 資料庫實務 王大明 CE 試說明此資料表為何符合BCNF 正規化形式、但不符合第四階正規化形 式?(15 分)應如何修改使之符合第四階正規化形式?(10 分)
公路資訊管理中心的資料庫系統所設計的關聯式表格(table)名稱、欄位 屬性(attribute)名稱與資料範例如以下4 個表格所示,用以記載各公路 的養護單位,並明瞭最新公路狀況與維護情形。(每小題5 分,共25 分) ROAD [公路] MAINTAIN [公路養護] 公路編號 公路名稱 總長 公路編號 養護單位 維護起點 維護終點 R_ID R_NAME R_LEN R_ID D_ID START END A010 台1 線 461.1 A010 A00 0 89 A030 台3 線 436.3 A010 B00 0 93 A170 台17 線 273.5 A030 A00 90 228 A190 台19 線 140.2 A170 B00 0 71 A170 E00 72 164 A190 E00 37 140 DEPT [養護單位] R_STUCK [通阻情況] 單位代碼 單位名稱 聯絡電話 公路編號 路況里程 狀況 發生日期 預計通車日 D_ID D_NAME TEL_NO R_ID KM STATUS E_DAY P_DAY A00 第一區工程處 02-86875111 A010 43 埋設水管工程 2018/06/11 2018/07/01 B00 第二區工程處 04-23715030 A030 117 邊坡土石滑落 2018/07/21 2018/07/22 E00 第五區工程處 05-2782861 A170 152 路面刨鋪施工 2018/11/20 2018/11/23 根據以上表格欄位名稱的語意與範例資料,請指出每一表格最適合的主 鍵(primary key)欄位集合與相關的外鍵(foreign key)欄位。 寫出建立資料表格MAINTAIN 綱要的SQL 語法(含主鍵與外鍵的指 定)。 寫出新增一筆資料("A190", 65, " 路面積水", "2018/11/20", "2018/11/20")至R_STUCK 表格的SQL 語法。 寫出查詢「"第一區工程處" 所養護的公路名稱與該公路所有的路況里 程及狀況」的SQL 語法。 寫出查詢「"台1 線" 101 公里處的養護單位名稱與聯絡電話」的SQL 語法。
某出版社要用關聯式資料模式建立可記錄其出版書籍的資料庫,設計了 包括可記錄書籍的資料表(Table)BOOK 及記錄作者的資料表 AUTHOR。BOOK 中包含BookId(書籍編號)、Title(書名)、PubDate (出版日期)、Category(分類)等屬性(Attribute)欄位,且BookId 是 其主鍵(Primary Key, PK);AUTHOR 中包含AuthId(作者編號)、Name (姓名)、Birthday(出生年月日)、Tel(電話)等屬性欄位,且AuthId 是其主鍵。即資料庫中包含 BOOK(BookId, Title, PubDate, Category) AUTHOR(AuthId, Name, Birthday, Tel) 兩個資料表。請依序回答下列問題: 如果每本書可以有好幾位作者,每一位作者也可以出版好幾本書,請 對前項資料庫設計進行增修,使得出版社的資料庫可記錄每本書的作 者,也可記錄每個作者所出版的書。作答時可仿效題目的描述方式說 明您的設計,注意必須以英文命名明確表達資料表名稱及屬性欄位名 稱,並明確指出主鍵及外來鍵(Foreign Key, FK),外來鍵並須指出與 其對應的主鍵。(10 分) 承續並運用前一子題之資料庫增修,請寫出可查得屬於「’資料庫’」 分類(Category)的所有書籍之SQL 命令,此命令必須列出書籍的 BookId, Title 及作者人數,並依BookId 由小而大依序列出。(15 分) 請運用子題之資料庫增修寫出可查得曾經與名字叫「’張山峰’」的 作者共同著作過的作者之SQL 命令,列出其姓名及電話。(15 分)
當資料庫系統發生故障時,回復處理常採用交易記錄回復處理(Log-based Recovery)。試說明此種回復處理方式的原理以及運作過程。(25 分)
某資訊系統經資料庫系統分析師分析後獲得以下E-R model,有底線者 為主鍵屬性(primary key): 請將以上E-R Model 轉成符合第二正規化(second normal form)格式 以上的關聯式表格綱要(relational schema),並明確表達出或畫出各 表格間所關聯的參考屬性以及各關聯綱要的主鍵與外鍵。(15 分) 假設實體C 的屬性中,另有以下二個功能相依(functional dependency) 存在: C3 →C2 ,C3 →C4 請將本題中所得到的關聯式表格綱要轉成符合第三正規化(third normal form)格式以上的表格綱要。(10 分)
某企業要建立自己的電子商務平台銷售自家商品,分析統整所有商品 後,將商品分為若干大分類,每一大分類又分為若干次分類,每一次分 類又分為若干細分類。假設此分類系統非常理想,每一個細分類號都是 唯一的,且不會有同一個細分類同屬於不同次分類的情形;每一個次分 類號也都唯一,且不會有同一個次分類同屬於不同大分類的情形,一個 商品也只會歸類為單一細分類,不會同時歸類到不同細分類。依據這樣 的分類系統,該公司的資料庫設計師設計出關聯式資料庫的資料表 PRODUCT 來儲存所有商品的資料,其中包含MajorCate(大分類號)、 SubCate(次分類號)、FineCate(細分類號)、SeqNo(商品編號)、ProdName (商品名稱)、Price(單價),且任何一個商品的MajorCate、SubCate、 FineCate 所代表的該商品的各級分類號都是明確的,SeqNo 是商品所屬 細分類之流水號,在同一細分類中不會重複,但在不同細分類間會有相 同的SeqNo。並以(MajorCate, SubCate, FineCate, SeqNo)為主鍵。也 就是資料表PRODUCT 為 PRODUCT(MajorCate, SubCate, FineCate, SeqNo, ProdName, Price) 請檢視此一設計,指出其設計錯誤或不良之處,並在不更動屬性設計的 前提下修正之。(20 分)
某一資料庫系統內有以下三個資料表: 教師資料表(實底線欄位為主鍵) 教師編號 姓名 科系 P001 王大明 CS P002 李大華 BA 課程資料表(實底線欄位為主鍵) 課程編號 名稱 學分數 C101 資料庫應用 3 C102 網路概論 3 C103 多媒體導論 4 修課資料表(實底線欄位為主鍵) 教師編號 課程編號 學生編號 教室 時間 成績 P001 C101 S2003 A513 13:30 86 P002 C103 S6121 A226 14:30 72 P002 C103 S6186 A226 14:30 80  試寫出一個SQL 指令,建立一個視界(View),以顯示每位教師的開 課資料以及修習這些課程的學生資料。(10 分)  試寫出一個SQL 指令,建立一個統計性摘要視界(View),以顯示每 位教師的開課數以及開課總學分數。(15 分)
請分別就系統目標、對象資料、常用的資料模型、資料處理相 關運算、系統使用者等項目,製表具體說明資料庫管理系統(Database management system)和資料倉儲(Data warehouse)系統之間有何不同。 (15 分) A B C R1 R2 R4 B1 B2 A1 B3 A2 C1 C2 D2 D1 1 N M N N M R2a C3 C4 D R3a C5 實體(entity) 屬性(attribute) 部分參與 (partial participation) 全部參與 (total participation) 多值屬性 (multivalued attribute) 關係 (relationship) R3 R4a N 1
兩階段鎖定(Two-Phase Locking)技術可以用來做並行控制(Concurrency Control),請詳細說明符合兩階段鎖定協定的交易應遵循的規範為何? 時程(Schedule)是指多個交易(Transaction)並行(Concurrency)執 行時,各交易內的操作(Operation)間的執行順序。請以此觀點說明若 所有交易都遵循兩階段鎖定協定撰寫,則這些交易並行執行時,時程必 定是什麼時程?並說明為何遵循這種時程執行可以達到並行控制的目 的?(20 分)
有關交易管理中並行控制(concurrency control)的主要目的,是維持各 別不同交易在共時情況下,在完成後仍然保有可循序性(serializability), 用以保證交易的正確無誤。(每小題10 分,共20 分) 請說明何謂交易的可循序性?並用以下交易1 與交易2 二筆交易所進 行的動作,具體舉例在何種共時狀況下會違反可循序性,造成問題。 請您提出一種控制機制可以保證共時交易的可循序性。並請使用該控 制機制,以交易1 與交易2 二筆交易為例,簡要說明如何達成共時交 易的可循序性。 交易1 交易2 read(x) read(x) x = x + 1000 if x >=100 write(x) x = x - 100 Commit write(x) Commit
目前人工智慧廣泛應用於如製造業、醫療、食衣住行及賦稅等領域, 其中需要很大量資料來當作訓練及測試資料,以訓練出好的學習模型 (Learning Model),如你/妳被委以建立資料庫來儲存這些大量資料 的工作,請寫出資料庫設計的階段(Phases of Database Design),並說 明之。(12 分) 如果資料庫設計階段決定採用關聯式資料庫模型(Relational Database Model),請寫出四項‟好”的關聯式資料庫設計的關聯式綱要(Relation Schemas)設計原則(Principles or Guidelines)。(8 分)
檔案系統之後發展資料庫管理系統,請說明資料庫管理系統出現的主要緣由與主要 議題。(10 分)古典資料庫管理系統之後發展出NoSQL 資料庫系統,請說明NoSQL 資料庫系統出現的主要緣由與主要議題。(10 分)
請為如下的醫療院所設計符合BCNF 且考量OO 的EER data model,model 中請註明 合適的primary/foreign/candidate keys,資料表間的關聯亦請適當地說明彼此間的 maximum/minimum cardinality。註:不需要用到的資料不必列入。(30 分) • 假設一位醫師或護理人員只會屬於一個科別,但可以支援其它科別的門診 • 假設某一診間同一看診時段,只會安排一位醫師跟護理人員 • 醫師跟護理人員同屬於醫療單位的工作人員,除了工作人員的基本資料外,醫師 會記錄「主治項目」、「學歷」、「經歷」、「現職」,護理人員會記錄「專長」 • 系統可依科系(如「內科系」)、科別(如「消化內科」)查詢科別的醫療項目 • 系統可依醫師查詢醫師的主治項目、學歷、經歷、現職、性別、門診時刻表(包 括:日期、時段、醫師姓名、診間代號及掛號現況) • 系統可依科系、科別查詢門診時刻表 • 系統可依病患查詢該病患的預約掛號資料,包括:病患身分代號/病歷號碼/病患、 科系、科別、醫師代號/姓名、日期、時段、掛號號碼 • 系統可列印各日期時段的診間掛號資料,包括:科系、科別、日期、時段、醫師 代號/姓名、護理人員代號/姓名、病患身分代號/姓名/性別/年齡(可藉由出生年月 日計算)
給予如下與實體關係(Entity-Relationship, ER)圖,其中‟works-for” 關係型態(Relationship Types)描述一個部門有許多員工,但一個員工 只能屬於某一部門,一個部門可位於多個地方;‟works-on”關係型態 (Relationship Types)描述一個員工可以參與多個計畫,一個計畫也可 以由多個員工參與,並記錄每一員工參與每一計畫的時間;請將之轉換 成關聯式資料庫綱要(Relational Database Schemas)。  (7 分)  (7 分) 在ER 概念模型有參與限制(Participation Constraints),請問選擇性 (Optional)與必須(Mandatory)限制,在關聯式資料庫模型如何表 示上述限制。(6 分)
關聯式資料庫在新增(insert)和刪除(delete)時,為了維持關聯式資料庫狀態的一 致性(integrity),各需先做那些檢查?若不合有幾種處理的方法?(20 分)
假設現有如下推拿就醫資訊的關連式資料庫,請使用SQL 回答相關的子問題。 Naprapathist(nID, name, speciality) Patient(pID, name, gender, birthday) MedicalItem(mID, subject, description, charge) MedicalRecord(mID, nID, pID, dateTime, extraCharge, totalCharge) FKs: mID ref. MedicalItem(mID), nID ref. Naprapathist(nID), pID ref. Patient(pID) 其中nID, mID, pID 是由1000 開始每次增加1 的自動編號整數,所有資料欄位不允空 白,totalCharge 是由MedicalRecord 的charge 跟extraCharge 加總而來。 定義資料表MedicalRecord(定義中應適當表示primary and foreign key)(10 分) 請依推拿師代號(nID)為分群依據,找出日期為"2018-06-06",且該日期相對應 推拿師所經手的醫療次數大於零時,個別推拿師在該日期所經手的相關醫療總收 費金額及醫療次數(結果資料表應包含推拿師的名字、別名為"收費總金額"的醫療 總收費金額、及別名為"醫療次數"的醫療次數,結果並依醫療次數作降冪排列顯 示)。(10 分) 107年公務人員高等考試三級考試試題 全一張 (背面) 類 科: 資訊處理 科 目: 資料庫應用
給予如下兩個關聯綱要(Relation Schemas)及其內容,EMPLOYEE 關 聯記錄員工編號、薪水及所在部門,DEPARTMENT 關聯記錄部門編號 及名稱,其中EMPLOYEE 的外來鍵(Foreign Key)‟dno”參考到 DEPARTMENT 的主鍵(Primary Key)‟dnum”,執行下列⑴與⑵的SQL 查詢後的結果分別為何?其意義分別為何?(20 分) EMPLOYEE ssn salary dno 1 30000 5 2 40000 5 3 38000 5
假設有一關聯R(A,B,C,D,E),其主鍵(primary key)係由A 與B 兩屬性(attributes) 所組成,並已知關聯R 的C 與E 兩屬性間具有如後的功能相依:C→E(C 屬性可以 決定 E 屬性)。試問:若關聯R 未進行正規化之處理,則關聯R 在資料庫的使用上 會有怎樣的問題存在?舉出資料實例加以說明。(20 分)請用關聯式資料庫正規型 式處理這個問題。(10 分)請檢驗此更新過的綱要能否符合BCNF(Boyce-Codd Normal Form)並陳述理由。(10 分)
請將如下的投票物件陣列Key-Value 資料,以符合BCNF 的RDB 資料表來表示。(15 分) 假設:一個ID 只能投一票 [{’CandidateID’: ’C01’, ’CandidateName’: ’Mary Wang’, ’Introduction’: ’Rock’, ’Birthday’: ’2000/01/01’, ’Score’: ’2’, ’VoteID’:[ {’ID’: ’A11’, ’Name’: ’A1’}, {’ID’: ’B11’, ’Name’: ’BB’} ] }, {’CandidateID’: ’C02’, ’CandidateName’: ’Jack Lee’, ’Introduction’: ’Blues’, ’Birthday’: ’1999/12/31’, ’Score’: ’2’, ’VoteID’:[ {’ID’: ’A22’, ’Name’: ’A2’}, {’ID’: ’B22’, ’Name’: ’BB’} ] }, {’CandidateID’: ’C03’, ’CandidateName’: ’Lily Su’, ’Introduction’: ’Lyric’, ’Birthday’: ’2001/06/01’, ’Score’: ’3’, ’VoteID’:[ {’ID’: ’A33’, ’Name’: ’A3’}, {’ID’: ’B33’, ’Name’: ’BB’}, {’ID’: ’C33’, ’Name’: ’C3’} ] } ]
25000
區塊鏈(blockchain)是新興的資料庫態樣,請說明其主要特性。(10 分)請分析提 出如何將區塊鏈應用於改善鐵路售票系統。(10 分)
假設現有如圖三個transactions 同步存取資料A, B, C,請使用conflict equivalent 說明 圖中同步執行的非序列排程(non-serial schedule ),是否具有排程循序性 (serializability);如果具備排程循序性,執行結果可以等同於三個Transactions 的那 種序列排程;如果不具排程循序性,衝突的cycle 為何?(15 分)
5 25000 4
以跨國電商年度銷售資料(國別、日期、銷售金額…)為例,圖解說明Map-Reduce 的運算架構,並說明Map, Shuffle, 跟Reduce 是如何分工而得到年度區域(如亞洲、 歐洲、非洲、美洲、大洋洲)的總銷售金額?(20 分)
43000 4
25000 4
55000 1 9 45000 1 10 30000 1 11 50000 2 12 25000 2 13 30000 3 DEPARTMENT dnum dname 1 R&D 2 Administration 3 Accounting 4 Finances 5 Personnel ⑴SELECT dno, COUNT(*) FROM DEPARTMENT, EMPLOYEE WHERE dnum = dno AND salary > 25000 GROUP BY dno HAVING COUNT(*) > 2 ⑵SELECT dno, COUNT(*) FROM DEPARTMENT, EMPLOYEE WHERE dnum = dno AND salary > 25000 AND dno IN (SELECT dno FROM EMPLOYEE GROUP BY dno HAVING COUNT(*) > 2) GROUP BY dno 四、給予一關聯綱要R(A, B, C, D, E, F)及一組功能依附性(Functional Dependencies)F = {{A}→{B, C, D, E, F}, {B, C}→{A, D, E, F}, {B}→{F}, {D}→{E}},請將R 分別分割(Decompose)成2NF 及3NF 的關聯綱要。 (20 分) 五、分散式資料庫系統的優點是擁有透明度(Transparency),請寫出三種 分散式資料庫的透明度並說明之。(8 分) 為確保資料庫交易(Transactions)能正確被執行,資料庫管理系統 (DBMS)的並行控制(Concurrency Control)與回復方式(Recovery Methods)應具備那四項特性(Properties)?請說明之。(12 分)
考慮下列關聯資料表: 教務資料(教授姓名, 教授工作證號碼, 研究室編號, 研究室所在建築物, 課程編號, 課程名稱, 教室所在建築物, 教室編號, 修課成績, 學生姓名, 學生證號碼) 該關聯資料表「教務資料」有以下限制: 每位教授的教授工作證號碼是唯一的;每位學生的學生證號碼是唯一的;每門課的課 程編號是唯一的;每間研究室的研究室編號是唯一的;每間教室的教室編號是唯一的。 每位教授都分配有一間且僅有一間研究室,每一間研究室可供給零位以上教授使用。 每門課由一位且僅由一位教授上該門課,每位教授至少上一門課。 每位學生至少修一門課,每門課有零位以上學生修該課程。 每門課只會在一間教室上課,每間教室都可供零門課以上使用。 修課成績指某位學生修某門課的成績。 試依前述限制,描述所有可能的功能相依性(functional dependency)。(10 分) 試問如何以功能相依性的規則,依前述限制來決定出關聯資料表「教務資料」的 主要鍵(primary key)。(10 分) 請判定上述關聯資料表「教務資料」是否有符合第三正規化之要求,如不符合的 話,試問將如何修改使其能符合第三正規化之要求,並標示出修改後每一關聯資 料表的主要鍵(primary key)。(10 分) 試請依據小題已修改成符合第三正規化要求後之關聯資料表,寫一SQL 程式片 段,依學生證號碼由小而大的順序,輸出每一位學生的學生證號碼、學生姓名, 及其所修的每一門課的課程名稱與所獲得的成績。(10 分) 106年公務人員高等考試三級考試試題 全一張 (背面) 類 科:資訊處理 科 目:資料庫應用
有一個關聯式資料庫(Relational database),內有下列兩個關聯(Relation),畫有實 底線的屬性(Attribute)為主鍵(Primary key),畫有虛底線的屬性為外來鍵(Foreign key): 教師(教師編號, 姓名,系別,電話,研究室號碼,專長) 助教(助教編號,姓名,系別,電話,實驗室號碼,年級,教師編號) 試寫出SQL 指令,以查詢出教師編號小於等於50 之教師的姓名、研究室號碼與專 長。(5 分) 試完成下列之SQL 指令,以查詢出教師編號為001 之姓名與系別,以及該教師之 輔佐助教的姓名、系別與電話。(15 分) ________________________________________________ FROM _________________________________________ WHERE _________________________________________
以運動健身資訊系統為例,假設有如下的系統需求: ⑴可以查詢會員的基本資料(包括姓名、生日、電話、加入日期、會員等級、所屬 店家(即加入時的店家))及學費繳交狀態(即學費到期日)。 ⑵可以查詢某一特定會員於特定日期時間內的運動資料清單(包括運動日到店運動 的日期時間、店家名稱)。 ⑶可以查詢教練的基本資料(包括姓名、生日、電話、到職日、職等)及受訓資料 (包括日期、地點、受訓內容)。 ⑷可以查詢某一特定教練於特定日期時間內的工作清單,如2017/10/09 早上十點到 十二點AA 分店,下午兩點到六點BB 分店……。 ⑸可以查詢某一店家的店長、電話、地址及註冊的會員。 其中 z 每次受訓活動的日期長短不一、受訓的教練群不同、主題不定但同一次的受訓活 動只會有一個主題、一個日期只會有一種受訓活動。 z 會員可以到不同的店家運動。 z 店長由教練兼任,一家店只會有一位店長,一位教練也只能兼任一個店長。 請為如上的系統設計相關的EER data model,您的data model 中應符合關連式資料庫 的定義及BCNF、註明合適的primary key 及foreign key、資料表關連的maximum 與 minimum cardinality。(25 分)
據悉行政院農業委員會欲建立一個全國養殖場、肉品交易、販售的資料庫。目前已 確定的資料如下: 國內各養殖場的資料需要建立起來。養殖場資料有負責人姓名、他的身分證號碼、 養殖場容量、地址。 目前有些養殖場有排泄物淨化處理廠,有些養殖場沒有。如果有排泄物淨化處理廠 的,則要儲存的資料有廠名、具有的設施、淨化程度。其中各處理廠的廠名,都各 不相同。 各養殖場所飼養的,可能是禽類的(如雞、鴨、鵝等),也可能是牲畜類的(如牛、 豬等)。我們統稱之為「禽畜」。其中,每一隻禽畜(例如,一隻豬,或一隻雞)都 有一個全國唯一的編號,以方便我們將來做追蹤。並且我們還要儲存每一隻禽畜的 種類、重量和防疫資料。其中,防疫資料包括以下三項:疫苗種類、注射日期與審 核單位。 養殖場所產出的禽畜,會被賣到全國數個肉品交易市場。我們要儲存每個肉品交易 市場的市場名稱和交易金額。其中市場名稱,是具有全國唯一性的資料。 我們需要建立養殖場、禽畜和肉品交易市場,三者之間的關係,以便將來追蹤每一 隻禽畜是來自那一個養殖場,以及是從那一個肉品交易市場交易出去的。並且,在 這三者的關係裡,我們要儲存出貨日期和批號。 此外,我們還有販售商店的資料要儲存,它們包括商店的店名和地址。其中店名是 全國唯一的,而同一家的販售商店的地址可能不只一處。例如,臺北、臺中和高雄, 都有某一家販售商店。 ⒎養殖場不能把禽畜直接賣給販售商店,販售商店必須去肉品交易市場購買禽畜肉品。 根據以上的敘述,請用實體-關係模型(Entity-Relationship Model)來建立此資料庫, 繪製出其綱目圖(Schema diagram)。(20 分)