集合論起源
由數學家 Georg Cantor 創立,為關聯模型第一大數學基石。
Cantor 集合定義
「集合,我們指的是:任意集合體 M 是我們感知或想到的、能夠確定的、互異對象 m (稱之為 M 的元素) 的整體。」
定義五大關鍵字解析
| 關鍵字 | 含義 | 對應 SQL 概念 |
| 整體 | 視為單一實體,關注集合而非個別元素 | 查詢操作的是資料表 (集合) 而非單列 |
| 互異 | 每個元素唯一 | 主鍵/唯一約束保證列唯一性,無鍵則為多重集合 |
| 感知或想到 | 定義具有主觀性 | 資料模型設計需依應用主觀需求定義實體 |
| 對象 | 不限實體物件,含抽象概念 (質數、線條) | 資料表可儲存任何領域概念 |
| 無序 | 元素無順序 | 資料表列無天然順序,需 ORDER BY 明確排序 |
對 SQL 開發的三大啟示
- 集合思維:撰寫查詢時思考「整個結果集」而非逐列處理 (游標思維)
- 鍵的重要性:無主鍵 = 非集合 = 多重集合,無法唯一識別列
- 順序不保證:
SELECT * FROM table 回傳順序不可預期,必須显式 ORDER BY
形式化標記
集合寫法:{a, b, c} = {b, a, c} = {c, b, a}。屬性集合 (表頭) 由名稱識別,非位置;元組集合 (表身) 由鍵值識別,非位置。
- 上一篇文章: SQL Server 子查詢別名錯誤解決:衍生表與彙總函數必須命名
- 下一篇文章: SQL 資料行轉列 (PIVOT) 完整實作:靜態與動態兩種方案
Copyright ©
程式碼之家 All Rights Reserved