國營聯招申論題
107年
[統計資訊] 資料庫及資料探勘、程式設計
第 三 題
以下是某公司需要記錄並儲存的資料,請根據 A~G 的描述設計關聯式資料庫結構(relational database schema),並標出主鍵(primary key)和外來鍵(foreign key),以及每一外來鍵所參考的主鍵。(20 分)
A. 員工資料需記錄員工編號、姓名、性別和地址,其中員工編號是主鍵。
B. 部門資料需記錄部門編號和部門名稱,其中部門編號是主鍵。
C. 客戶資料需記錄客戶編號、姓名、地址和電話,其中客戶編號是主鍵。
D. 商品資料需記錄商品編號和商品名稱,其中商品編號是主鍵。
E. 需記錄員工在哪一個部門工作以及工作的月薪,一個員工只能在一個部門工作,一個部門會有多個員工。
F. 需記錄哪一個部門賣哪些商品,一個部門可賣多個商品,不同部門不可賣相同商品。
G. 需記錄哪一個客戶購買了哪些商品以及購買的日期,一個客戶可購買多個商品,不同客戶也可購買相同的商品。
A. 員工資料需記錄員工編號、姓名、性別和地址,其中員工編號是主鍵。
B. 部門資料需記錄部門編號和部門名稱,其中部門編號是主鍵。
C. 客戶資料需記錄客戶編號、姓名、地址和電話,其中客戶編號是主鍵。
D. 商品資料需記錄商品編號和商品名稱,其中商品編號是主鍵。
E. 需記錄員工在哪一個部門工作以及工作的月薪,一個員工只能在一個部門工作,一個部門會有多個員工。
F. 需記錄哪一個部門賣哪些商品,一個部門可賣多個商品,不同部門不可賣相同商品。
G. 需記錄哪一個客戶購買了哪些商品以及購買的日期,一個客戶可購買多個商品,不同客戶也可購買相同的商品。
📝 此題為申論題
思路引導 VIP
梳理一對多(1:N)及多對多(M:N)關聯。員工對部門是N:1(員工表放部門外鍵),商品對部門是N:1(商品表放部門外鍵),客戶對商品是M:N(需建立關聯表並包含購買日期)。
🤖
AI 詳解
AI 專屬家教
根據題意描述,設計的關聯式資料庫結構(Schema)如下表所示:
- 員工表 (Employees)
- 屬性:員工編號, 姓名, 性別, 地址, 月薪, 部門編號
▼ 還有更多解析內容
關聯式資料庫設計
💡 根據實體間的對應關係,正確規劃主鍵、外來鍵與關聯表結構。
| 比較維度 | 1:N (一對多) 關係 | VS | M:N (多對多) 關係 |
|---|---|---|---|
| 轉換方式 | 將 1 方 PK 加入 N 方作 FK | — | 必須建立獨立的中間表 |
| 表格數量 | 維持原本實體表個數 | — | 需額外增加一個關聯表 |
| 主鍵構成 | 維持實體本身之主鍵 | — | 通常由雙方 PK 組成複合主鍵 |
💬1:N 採外鍵嵌入法,M:N 則採中間表轉換法。