免費開始練習
moea_joint_essay 108年 [資訊] 資訊管理、程式設計

第 一 題

📖 題組:
某公司的關聯式資料庫包含下列表格,有底線者為主鍵:(22 分) 貨品(貨號,品名,單價,庫存數量,供應商編號,供應商名稱) 供應商(供應商編號,供應商名稱,供應商地址,供應商電話,聯絡人)
📝 此題為申論題,共 2 小題

小題 (一)

請用 SQL 列出下列查詢:(14 分)
(1)所有供應商名稱開頭為「台」的供應商編號、供應商名稱、供應商地址、供應商電話及聯絡人。(3 分)
(2)所有庫存數量為「0」的貨品,其貨號、品名、單價、供應商名稱及聯絡人。(4 分)
(3)至少供應 2 種貨品之供應商名稱,及該供應商販售幾種貨品。(7 分)

思路引導 VIP

回顧 SQL 基本語法,(1)使用 LIKE 進行模糊比對,(2)使用 JOIN 連結兩個資料表並設定條件,(3)使用 GROUP BY 與 HAVING 來做分組計數過濾。

🤖
AI 詳解
AI 專屬家教

(1)

SELECT 供應商編號, 供應商名稱, 供應商地址, 供應商電話, 聯絡人

小題 (二)

就上述資料庫,回答下列問題:(8 分)
(1)資料庫設計上有何問題?(2 分)
(2)資料庫運作有何缺點?(4 分)
(3)資料庫運作有何優點?(2 分)

思路引導 VIP

觀察表格欄位,找出違反正規化的部分,並思考其對新增、修改、刪除操作及查詢效能的影響。

🤖
AI 詳解
AI 專屬家教

(1) 資料庫設計上有違反第三正規化(3NF)的問題。「貨品」資料表中包含「供應商名稱」欄位,而「供應商名稱」相依於「供應商編號」,造成遞移相依(Transitive Dependency)。 (2) 缺點為資料冗餘(Data Redundancy)與異常(Anomaly):

  • 更新異常(Update Anomaly):若供應商更改名稱,必須更新「貨品」資料表中所有該供應商對應的紀錄,若未完全更新則會造成資料不一致。

🏷️ 相關主題

關聯式資料庫設計、SQL查詢與資料正規化
查看更多「[資訊] 資訊管理、程式設計」的主題分類考古題