《MySQL必知必會》讀書筆記第一章:資料庫核心概念基石
本章建立資料庫基礎術語體系,釐清 DB、DBMS、表、模式、列、行、主鍵等核心概念,為後續 SQL 學習奠基。
1.1 什麼是資料庫
- 資料庫: 以有組織方式存儲的數據集合(容器),通常表現為文件或文件組。
- DBMS (資料庫管理系統): 操作資料庫的軟件(如 MySQL、Oracle)。注意: 常被混稱為「資料庫」,實際上 DBMS 管理 DB。
- 用戶不直接訪問 DB,而是通過 DBMS 間接操作。
1.2 表
- 表: 特定類型數據的結構化清單(如「客戶表」、「訂單表」)。
- 唯一性: 表名在資料庫內唯一,但不同資料庫可同名。
- 模式: 描述表結構(列、類型、約束)及資料庫整體佈局的信息集合。
1.3 列
- 列: 表中的一個字段(垂直維度)。所有表由一或多列組成。
- 分解原則: 將數據拆解到最細粒度列(如城市、省、郵編分開),才能靈活排序、過濾、索引。
1.4 數據類型
- 每列有特定數據類型(INT、VARCHAR、DATE 等),限制存儲內容格式與範圍。
- 選型原則:足夠用、盡量小、避免隱式轉換。
1.5 行
- 行: 表中的一條記錄(水平維度)。
- 術語:行 = 記錄 = 元組,技術上「行」最準確。
1.6 主鍵
- 定義: 能唯一標識表中每一行的列或列組合。
- 強制規則: (1) 值唯一 (2) 不允許 NULL。MySQL 會自動強制執行。
- 最佳實踐:
- 不更新主鍵值。
- 不重用已刪除的主鍵值。
- 不使用業務含義欄位(如名稱、郵箱)作主鍵,因業務變更會導致主鍵變更,引發級聯更新災難。推薦使用無業務含義的自增整數或 UUID。
章節小結
掌握這七個核心概念(DB/DBMS、表、模式、列、類型、行、主鍵)是理解關係型資料庫的前提。下章將進入具體 SQL 操作。