首次設計資料庫,需支援:單位/職位/人員、在崗狀態、崗位級別、Excel 匯入、調入/調出/新進/註銷、統計各單位領導數/級別人數/缺編。
核心實體識別
- 單位:`unit(id, name, parent_id)` 自關聯樹。
- 職位:`post(id, name, level, unit_id)` 級別對應統計。
- 人員:`person(id, unit_id, post_id, name, status, join_date, leave_date, transfer_to_unit_id)` 狀態:在崗/調出/離職/註銷。
- 調動記錄:`transfer_log(person_id, from_unit, to_unit, date, type)`。
統計查詢思路
- 領導數:`SELECT unit_id, COUNT(*) FROM person WHERE post_id IN (SELECT id FROM post WHERE level <= 3) AND status='在崗' GROUP BY unit_id;`
- 級別人數:`JOIN post GROUP BY level;`
- 缺編:編制表 `post_quota(unit_id, post_id, quota)` LEFT JOIN 實際人數。
建議
先畫 ER 圖,確認實體與關聯(1:N、N:M),再建表;用工具(MySQL Workbench、PowerDesigner)正向生成 DDL。