所屬科目:資料庫管理與運用
(一)針對該公司的每一個類別,輸出其下各有幾種產品。
(二)假設安全庫存量為10,請找出庫存量不足的產品編號及其製造商的名稱和電話。
(三)請問那一個類別其下所有產品的總庫存量少於1000?
二、假設關聯式資料庫系統中定義了 Product 表格,其綱要如下:Product (ProductID, ProductName, Price)而使用者也提出了下列查詢句:select Price from Product where ProductID = 'P01';針對此查詢句,系統有兩種查詢處理方式,策略一是直接掃描資料檔案(file scan),策略二則是使用依據 ProductID 欄位所建立的索引(index)。首先請分別替此兩種策略,列出可以輸出正確答案的完整步驟;其次,請依照查詢效率、空間需求、系統維護的難易度等三個面向,比較此兩種策略的優劣。(25分)
三、假設圖書館關聯式資料庫系統中,有 BOOK 表格和 BORROWER 兩個表格,前者記錄書本基本資料,後者記錄借閱資料,且定義兩個表格的 SQL 語法如下所示:首先請根據上述定義,詳加說明 primary key 和 not null 對該兩個表格在建立資料時的限制分別為何。其次,假設我們希望當某本書的資料從 BOOK 表格中被刪除後,其所對應的所有借閱資料也隨即從 BORROWER 表格中自動被刪除,請修正題目原始的 SQL 定義以達到此要求。(25 分)
四、假設我們要建立一個系統儲存使用者所發佈的貼文,其中一則貼文可包含多個標籤,而其他使用者也可以替每篇貼文按讚。假設原始系統使用 MongoDB 軟體實作,其範例 JSON 資料如下所示:若現在要改成以關聯式資料庫系統實作,請設計出可表示上述資料但符合 3NF 的關聯,包含每個表格的欄位、主鍵和屬性之間的函數相依性,並依此說明所設計的表格確實符合 3NF。(20 分)