lawpalyer logo

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

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

0 題選擇題 + 4 題申論題

假設我們要為某政府機關設計一個資料庫系統,以管理該機關發包的各 項工程與相關資訊,經分析後得到下列需求: 每項工程案需要記錄其工程編號、工程名稱、發包日期與施作地點, 而且工程編號不可重複,以用來辨識不同的工程案。 每個廠商皆須登記其統一編號、公司名稱、聯絡人姓名與電話。 一個工程案只能由一位廠商承包,但一位廠商可以承包多個工程案。 每個工程案只會由機關內的一位員工負責,但一位員工可以負責多 件工程案。每位員工需記錄其員工編號、員工姓名、職稱與部門名稱, 且每位員工的編號皆不同。 有些工程在執行過程中可能會進行多次查核,每次查核需記錄查核 日期與查核結果,且查核紀錄的唯一識別方式是「工程編號」和「查 核日期」的組合。 請根據上述所有需求畫出一個實體關係圖(Entity-Relationship Diagram, ER Diagram),注意圖中必須標明實體集合(Entity Set)、關係集合 (Relationship Set)、屬性(Attribute)、主鍵(Primary Key)和對應數量 限制(Mapping Cardinality)等。另外,請特別使用弱實體集合(Weak Entity Set)來表示查核資料,並詳述弱實體和一般實體的不同之處為何, 以及你的表示法傳遞了什麼特別的資料限制或意義。(25 分)
假設在某關聯式資料庫中定義了一個BOOK 表格,其中包含三個字串型 態的屬性,分別為ISBN、Title、Author。若資料庫管理者為該表格的 Author 屬性建立了一個索引(Index),且該索引是依照B+-tree 的結構所 建立。首先請列舉數筆範例資料,然後描繪出對應的索引結構。接著, 請說明此索引有助於提升下述那個查詢句的查詢效率,並詳述你的理由: (25 分) 查詢句一:select Author from BOOK where Title = ‘相對論’; 查詢句二:select Title from BOOK where Author = ‘Einstein’;
假設資料庫系統中定義了下列兩個表格,其中屬性Bid 代表書籍編號, 屬性Uid 代表使用者編號,且表格中的所有屬性皆為字串(varchar)型態: BOOK(Bid, Title, Author) BORROWER(Uid, Bid, Date) 另外觀察到本系統的使用者經常需要執行下述SQL 查詢句: select Uid, Title from BOOK, BORROWER where BOOK.Bid = BORROWER.Bid; 假設系統中原本並沒有定義任何索引,而我們希望利用樹狀結構的索引 (如B+-tree 或B-tree)來提升上述SQL 的查詢處理效率。首先,請以 SQL 標準語法為上述的一個或兩個表格的特定屬性定義索引,並詳述你 選擇為那些屬性定義索引的理由。其次,請自行設計合適的資料範例, 針對你所定義的一個或數個索引具體畫出對應的樹狀結構,並以該實例 說明你所設計的索引結構如何提升上述SQL 句的查詢效率。(25 分)
關聯式資料庫雖然被廣為使用,但是不同類型的資料庫也日漸受到重 視,其中包含文件資料庫(Document Database)和圖形資料庫(Graph Database)。請針對此兩種類型,分別提供一個代表性的系統軟體,並詳 述該軟體處理的資料型態為何,以及舉例說明合適的應用場景。(25 分)