調查局三等申論題
114年
[資訊科學組] 資料庫應用
第 一 題
📖 題組:
為設計某調查局資料庫,其簡化情境如下:各調查團隊(Team)有其編號(TID)、名稱(Name),他們均會向供應商(Supplier)購買裝備(Equipment);供應商有其代號(SID),裝備有其編號(Eno)。每次的購買會記錄其時間(Time),每次購買只有一個供應商,亦即不會由多個供應商聯合提供;每次最多買 20 種裝備,每種裝備可能買若干數量(Quantity)。下圖為實體關係圖(Entity-Relationship Diagram)。對所用符號約略說明如下:每一實體鄰近某關係間均有一個對應比率(min, max),代表該實體參與該關係之 min(至少)、max(至多)次數,*代表沒有限制。屬性劃實底線者為 Primary Key(主鍵)的一部份。
為設計某調查局資料庫,其簡化情境如下:各調查團隊(Team)有其編號(TID)、名稱(Name),他們均會向供應商(Supplier)購買裝備(Equipment);供應商有其代號(SID),裝備有其編號(Eno)。每次的購買會記錄其時間(Time),每次購買只有一個供應商,亦即不會由多個供應商聯合提供;每次最多買 20 種裝備,每種裝備可能買若干數量(Quantity)。下圖為實體關係圖(Entity-Relationship Diagram)。對所用符號約略說明如下:每一實體鄰近某關係間均有一個對應比率(min, max),代表該實體參與該關係之 min(至少)、max(至多)次數,*代表沒有限制。屬性劃實底線者為 Primary Key(主鍵)的一部份。
📝 此題為申論題,共 2 小題
小題 (一)
請說明該圖是否能忠實地反映上述資訊需求,那些資訊是無法由該圖得知。(6 分)
思路引導 VIP
看到 ERD 檢核題,應先將文字描述中的「限制條件」(如數量上限、基數限制、從屬關係)圈出。接著一一對照 ERD 上的「基數符號(Min, Max)」及「關聯型態(如三元關係)」,找出圖形符號無法表達或與文字描述衝突的差異點。
小題 (二)
請以新增弱實體(Weak Entity)的方式,重新繪製實體關係圖,以真正完整反映上述的資訊需求。此圖只可用二元(binary)關係,可新增必要的關係,但除了弱實體外,不得再考慮其他實體。(19 分)
思路引導 VIP
看到「三元關聯轉二元」與「新增弱實體」,應將「購買 (Purchase)」動作實體化為弱實體。分析限制條件:Purchase 依附於發起購買的 Team,並以 Time 為部分鍵;「單一供應商」決定 Purchase 對 Supplier 基數為 (1,1);「最多 20 種裝備」決定對 Equipment 基數為 (1,20);Quantity 則是記錄每種裝備購買數量的關聯屬性。
ERD 建模與弱實體轉換
💡 將多元關係拆解為弱實體與二元關係以精確表達業務約束。
| 比較維度 | 多元關係 (Ternary) | VS | 弱實體法 (Weak Entity) |
|---|---|---|---|
| 商務邏輯表達 | 難以精確限制單次品項上限 | — | 可透過 1:N 關係清晰定義 |
| 主鍵結構 | 由所有參與方 PK 組成 | — | 強實體 PK + 部分鍵 (Partial Key) |
| 擴展性 | 新增維度時結構會劇烈變動 | — | 階層架構分明,易於擴充 |
💬當「事件」與「明細」有明確的主從關係時,使用弱實體模型優於多元關係模型。