三、假設資料庫系統中定義了下列兩個表格,其中屬性 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 分)