lawpalyer logo

資訊處理 111 年高等資料庫設計考古題

民國 111 年(2022)資訊處理「高等資料庫設計」考試題目,共 4 題 | 資料來源:考選部

0 題選擇題 + 4 題申論題

在某個圖書館的關聯式資料庫系統中,定義了如下的BORROWER 表格: BORROWER(ID, ISBN, Date) 該表格所記錄的借閱資料,包含借書者編號(ID)、書號(ISBN)和借 閱日期(Date)三個屬性,且這些屬性皆為字串(varchar)型態。假設 我們希望查詢出那些借書者所借閱的書籍數量,比借書者編號“A001”所 借閱的書籍多。請根據以下兩小題的指示,分別利用不同的方法達到所 求。若非使用SQL 標準語法,請註明所使用的語法為那個軟體所支援。 撰寫一個SQL 查詢句,直接利用標準的“count”函數輸出所需的資料。 (10 分) 首先設計一個函數稱為“BookCount”,該函數定義一個名為“id”的參數 對應到借書者編號,然後根據該參數回傳其所借閱的書籍數目。接著 利用BookCount 函數撰寫一個SQL 查詢句來輸出題目所需求之資訊。 (15 分)
假設在某關聯式資料庫中定義了一個USER 表格,其中包含三個字串型 態的屬性,分別為ID、Name 和Address。若資料庫管理者以下述之SQL 指令為該表格建立了一個索引(Index),且該索引是依照B+-tree 的結構 所建立: create index fastindex on USER (Name); 首先請描述此索引的葉節點和內部節點所存放的資料分別為何?以及 其結構的主要特性。接著,請說明此索引有助於提昇下述那個查詢句的 查詢效率,並詳述你的理由:  查詢句一:select ID from USER where Name = ‘Mary’;  查詢句二:select Name from USER where ID = ‘B001’;(25 分)
資料庫軟體在實作交易處理(Transaction Processing)時,都會遵循特定 原則來維護資料庫內容的正確性,而目前最常見的是ACID 和BASE 這 兩種類型。首先請分別解釋ACID 和BASE 這兩個英文縮寫(Acronym) 分別對應到的英文全名為何?以及詳述各自所代表的特性和要求。接 著,針對目前常被用來實作大數據的NoSQL 類資料庫,請說明它們大 多是支援ACID 還是BASE?並解釋你的看法。(25 分)
某家網路書店保留了過去20 年來顧客於該網站購買書籍的交易紀錄, 另外也記錄了顧客的基本資料,如年齡、性別等,以及所購買書籍的種 類,如科幻類、文學類等。假設該書店欲利用資料倉儲(Data Warehousing) 的技術建立一個專門用以進行資料分析的系統,請根據星狀綱要(Star Schema)的精神,替此系統設計出合理的綱要。你可以自行假設合理的 屬性,但請說明其各自代表的意義。由於資料倉儲內存放大量的歷史資 料,該類系統大多採用以欄為主(Column-Oriented)的資料儲存方式。 請以你設計的表格舉例說明資料會如何儲存於硬碟中,並說明此種方式 的主要優點為何。(25 分)