1. 1969年 1.1. 關係模型的創始人E.F. Codd(1923—2003) 1.1.1. 牛津大學數學專業 1.1.2. 一己之力奠定了關係模型的基礎 1.2. 論文《大型資料庫中關係存儲的可推導性、冗餘與一致性》 2. 1970年 2.1. 權威學術雜誌Communications of ...
1. 1969年
1.1. 關係模型的創始人E.F. Codd(1923—2003)
1.1.1. 牛津大學數學專業
1.1.2. 一己之力奠定了關係模型的基礎
1.2. 論文《大型資料庫中關係存儲的可推導性、冗餘與一致性》
2. 1970年
2.1. 權威學術雜誌Communications of ACM
2.2. Codd《大型共用資料庫的關係模型》
2.2.1. 資料庫中不再包含索引,欄位間也沒有順序了
2.2.2. 第一次明確主張關係模型應該在表現層放棄指針
2.2.3. 出現了範式的概念
3. 主要貢獻
3.1. 定義了關係運算(relational calculus)
3.1.1. 關係邏輯(relational logic)
3.2. 定義了關係代數(relational algebra)
3.2.1. 包含選擇、投影、並、交等8種運算
3.2.2. 輸入和輸出都是關係
3.3. 採用謂詞邏輯作為資料庫操作的基礎
3.3.1. 謂詞邏輯已經成為了邏輯學的標準
4. 阻抗不匹配
4.1. 面向對象語言和關係資料庫不一致的問題
5. 為什麼叫它關係模型,而不叫它表(tabular)模型
5.1. 關係中不允許存在重覆的元組(tuple),而表中可以存在
5.2. 關係是通常說的不允許存在重覆元素的集合,而表是多重集合(multiset)
5.3. 關係中的元組沒有從上往下的順序,而表中的行有從上往下的順序
5.4. 關係中的屬性沒有從左往右的順序,而表中的列有從左往右的順序
5.5. 關係中所有的屬性的值都是不可分割的,而表中列的值是可以分割的
5.6. 關係中的屬性滿足第一範式,而表中的列不滿足第一範式
6. 術語對應關係
正式的關係模型術語 | 非正式的日常用語 |
關係(relation ) | 表(table ) |
元組(tuple ) | 行(row )或記錄(record ) |
勢(cardinality ) | 行數(number of rows ) |
屬性(attribute ) | 列(column )或欄位(field ) |
度(degree ) | 列數(number of columns ) |
定義域(domain ) | 列的取值集合(pool of legal values ) |