資料庫概論:核心概念、架構與發展脈絡
資料庫地位
- 60 年代末誕生,計算機科學重要分支
- 資訊系統核心基礎,推動電腦應用滲透各行業
- 建設規模、資訊量、使用頻度 → 衡量國家資訊化程度指標
資料
- 定義:描述事物的符號記錄
- 型態:文字、圖形、影像、音訊、視訊、檔案記錄等
- 特性:資料與其語義不可分。例:
93 可為分數、體重、人數,語義不同則意義不同。
資料庫 (DB)
- 定義:長期儲存在電腦中、有組織、可共享的大量資料集合
- 特徵:按資料模型組織/描述/儲存、高共享性、低冗餘、高資料獨立性、易擴充
資料庫管理系統 (DBMS)
位於使用者與作業系統間的資料管理軟體,大型複雜基礎軟體。
| 類型 | 代表產品 |
| 商業 | Oracle, SQL Server, DB2, Sybase, Informix |
| 開源 | MySQL, Berkeley DB |
核心功能:
- 資料定義 (DDL):定義資料庫物件
- 資料組織、儲存與管理:分類組織、確定檔案結構與存取方式、實現資料關聯、多種存取法提升效能
- 資料操縱 (DML):查詢、插入、刪除、修改
- 事務管理與執行管理:安全性、完整性、並發控制、故障恢復
資料管理發展三階段
- 人工管理 (40 年代中–50 年代中)
- 檔案系統 (50 年代末–60 年代中)
- 資料庫系統 (60 年代末–至今)
資料庫系統特點
- 資料結構化:整體結構化,面向全組織,實體間有聯繫
- 高共享、低冗餘、易擴充
- 高資料獨立性:
- 物理獨立性:應用程式與物理儲存獨立
- 邏輯獨立性:應用程式與邏輯結構獨立
由 DBMS 二級映射保證
- DBMS 統一管理控制:安全性、完整性、並發控制、恢復
資料模型
抽象:提取本質特徵,捨棄非本質。分兩類:
- 概念模型 (資訊模型):用戶視角,用於資料庫設計
- 邏輯/物理模型:電腦系統視角,用於 DBMS 實現
- 邏輯:階層、網狀、關係、物件導向、物件關係
- 物理:底層儲存表示與存取方法
概念模型核心概念
| 概念 | 說明 |
| 實體 | 客觀存在、可區別的事物(具體或抽象) |
| 屬性 | 實體特性,一實體可多屬性描述 |
| 碼 | 唯一識別實體的屬性集 |
| 域 | 屬性取值範圍 |
| 實體型 | 實體名+屬性名集合,抽象同類實體 |
| 實體集 | 同型實體集合 |
| 聯繫 | 實體內部屬性間、實體集間的關聯 |
常用資料模型
- 非關係:階層模型、網狀模型
- 關係模型 (E.F.Codd 1970 提出,現主流)
- 物件導向、物件關係模型
階層模型
- 樹狀結構,IBM IMS 代表
- 條件:單一根節點、非根節點唯一雙親
- 優點:結構簡單、查詢效率高、完整性支援好
- 缺點:多對多難表達、插入/刪除限制多、查詢子女必經雙親、命令趨程序化
網狀模型
- 允許多根節點、節點多雙親、複合聯繫
- DBTG/CODASYL 奠定基礎,代表系統:IDMS, DMS1100, IDS/2, IMAGE
- 階層模型是網狀模型特例
關係模型
- 關係 = 表,元組 = 列,屬性 = 行,主碼 = 唯一識別屬性組,域 = 屬性取值範圍
- 關係模式:
關係名(屬性1, 屬性2, ..., 屬性n)
- 優點:嚴格數學基礎、概念單一(實體/聯繫均用關係)、查詢結果亦為關係、存取路徑透明、高資料獨立性/安全性、簡化開發