調查局三等申論題
107年
[資訊科學組] 資料庫應用
第 二 題
📖 題組:
某企業計畫開發一套資料庫應用系統,其需求如下所述:
1. 需儲存供應其貨品的供應商相關資料,包含有供應商編號、名稱、地址、聯繫人姓名及電話號碼。
2. 對於每次貨品供應,需建立一個帳單以儲存此次供應的日期、金額、付款期限以及有關說明。
3. 每筆帳單的付款,可以在不同的時間以不同的方式支付(例如:現金、支票、信用卡),並記錄每次付款的日期及方式。
4. 每個供應商可以多次供應貨品,唯每日最多只能供貨一次。
(一)試針對上述需求,描繪出實體關係圖。(15 分)
(二)試依據實體關係圖,設計出此系統的資料表。(10 分)
某企業計畫開發一套資料庫應用系統,其需求如下所述:
1. 需儲存供應其貨品的供應商相關資料,包含有供應商編號、名稱、地址、聯繫人姓名及電話號碼。
2. 對於每次貨品供應,需建立一個帳單以儲存此次供應的日期、金額、付款期限以及有關說明。
3. 每筆帳單的付款,可以在不同的時間以不同的方式支付(例如:現金、支票、信用卡),並記錄每次付款的日期及方式。
4. 每個供應商可以多次供應貨品,唯每日最多只能供貨一次。
(一)試針對上述需求,描繪出實體關係圖。(15 分)
(二)試依據實體關係圖,設計出此系統的資料表。(10 分)
📝 此題為申論題,共 2 小題
小題 (二)
試依據實體關係圖,設計出此系統的資料表。(10 分)
思路引導 VIP
將 ERD 轉換為資料表時,應緊扣題目給定的業務規則。特別注意『每日最多只能供貨一次』暗示了帳單表可直接使用『供應商編號 + 供應日期』作為複合主鍵;而付款屬於帳單的弱實體,需繼承父實體主鍵以維持參考完整性。
小題 (一)
試針對上述需求,描繪出實體關係圖。(15 分)
思路引導 VIP
解題第一步是從需求中圈出「名詞」作為實體(供應商、帳單、付款),並列出對應的「屬性」;接著找出「動詞」作為關係(供貨、支付)。最後依據題目邏輯(如每日供貨一次、分期支付),標示出主鍵與實體間的一對多(1:N)基數關係。
ER 轉關聯表設計
💡 運用實體關聯模型轉化為關聯表,並以鍵值落實商業邏輯。
- 實體轉換:一個實體轉為一張資料表,屬性轉為欄位,並定義主鍵以符合實體完整性。
- 邏輯限制:針對「每日最多一次」限制,須將日期納入複合主鍵以達成唯一性約束。
- 參考完整性:透過外部鍵建立表間關聯,防止產生孤兒資料並確保資料一致性。
- 弱實體處理:付款紀錄應繼承帳單主鍵作為其識別,精準描述一對多的從屬關係。