資訊處理 114 年資料庫應用考古題
題目為考試當年公告版本,實務標準請以現行規範為準。
假設某個銀行需要管理顧客借款的資料,而定義了三個表格,其中 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 次以上的顧客身分證字號。
假設在關聯式資料庫系統中,資料庫管理者(DBA)定義了一個MEMBER 表格,並以三個字串型態的屬性記錄會員的基本資料,包含:編號(ID)、 姓名(Name)、電話號碼(Telephone)。經統計分析發現此系統的使用 者經常利用會員姓名查詢其電話號碼,如下列的範例SQL 查詢句所示: select Telephone from MEMBER where Name = ‘Wu’; 請問此資料庫管理者應該替那個或那些屬性建立索引(Index),以提升資 料庫系統的查詢處理效率?進一步以範例資料畫出此索引的樹狀結構,並 詳加說明此結構具有何種特性,可協助達到提升效率的目的。(20 分)
假設一家零售商希望對顧客的購買行為進行資料分析,而考慮是否在現有 的交易處理系統(Transaction Processing System)之外,另外再建立一個 資料倉儲(Data Warehouse)。請根據不同面向說明此兩種系統的差別, 包含資料來源多寡或資料時間特性、綱要(Schema)的設計理念(譬如是 強調正規化還是處理效率)、較常使用的SQL 指令(譬如:新增、刪除、 修改、查詢)等。並根據上述比較的結果,建議此廠商分開建立成兩個系 統或整合成一個系統。(30 分)
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 分)
闡述資料庫發展生命週期(DBLC)常見的六個階段。(20 分)