為何需要範例資料庫?
學習 MySQL 最有效的方式是動手實作。本書採用兩個贯穿始終的案例——「美國歷史聯盟會員管理」與「學生成績追蹤」,展示從需求分析到資料庫設計、查詢優化、Web 整合的完整流程。
案例一:美國歷史聯盟(會員管理系統)
業務場景
- 會員繳費制,定期更新資格,會費支撐刊物《美國編年史》出版。
- 現有 Word 文件維護會員名冊,難以支援多格式輸出、條件搜尋、關鍵字匹配、Web 線上查詢等需求。
核心需求轉化
- 多格式輸出:年刊需完整資料,宴會手冊僅需姓名——資料庫輕鬆實現投影選擇。
- 條件搜尋:找出即將到期會員、特定歷史興趣(內戰、傑佛遜等)群體——
WHERE 子句精準過濾。
- Web 線上化:會員自助更新資料、Email 提醒續費、互動式歷史測驗頁面——資料庫成為動態 Web 應用核心。
技術棧選擇
MySQL + Perl/DBI(文字報表生成)+ PHP/Apache(Web 介面)。所有工具開源免費,總成本近乎零,極適合預算有限的非營利組織。作者建議 Unix/Linux 環境部署,穩定性優於 Windows 版。
案例二:成績管理系統(教師視角)
資料需求
- 記錄每次測驗/考試分數,依分數排序劃定等第(A-F)。
- 學期末計算加權總分、排序定等、統計缺曠課天數。
- 輸出報表交學校辦公室,免除手工排序匯總之苦。
資料模型核心
學生基本資料表、評分項目表、分數記錄表、出席記錄表。透過 JOIN 與聚合函數自動完成加權計算、排名、缺課統計。
舉一反三:遷移至你的業務場景
牙醫診所尋找「半年未復診病人」與聯盟查詢「會費即將到期會員」同屬日期區間篩選;電商「熱銷商品補貨」與教師「加權總分排名」同屬聚合排序。掌握核心查詢模式,即可靈活套用至任何領域。