在《數據庫發展史》這篇文章中我們提到了相比于網狀、層次數據庫,關系型數據庫的一大優勢在于它有着嚴密的數理邏輯作為支撐。這個底層的數理邏輯,就是關系代數。
那什麼是關系代數呢?關系代數是一種集合思維的操作語言。所謂集合的思維,在關系代數中特指:“一個集合,施加操作得到另一個集合,依次施加關系代數操作,進而得到所需結果(此處的集合,可理解為一張表,或者一個關系)。”或者說,關系代數是一種關于“關系”的規則,用集合的思維,代數的方式來描述、計算“關系”。
關系代數
關系代數的操作規則可以分為兩類,一類是集合操作規則,一類是關系操作規則。
關系代數操作規則
一、基礎概念
元組:結構化表格的行
并相容性:兩個集合(表)的列數相同,且對應列的數值類型相同
二、集合操作規則
1、并操作
并操作
(姓名、魔法等數據來自漫畫、動漫《妖精的尾巴》)
并操作定義:若關系R和關系S是并相容的,則關系R和關系S的并運算結果也是一個關系,記作:R∪S,它由或者出現在關系R中,或者出現在S中的元素構成。
2、差操作
差操作
差操作
差操作定義:若關系R和關系S是并相容的,則關系R和關系S的差運算結果也是一個關系,記作:R-S,它由出現在關系R中但不出現在S中的元素構成。
3、積操作
積操作
積操作定義:這裡的積稱作笛卡兒積,關系R和關系S的笛卡兒積運算結果也是一個關系,記作:R×S,它由關系R中的元組和關系S中的元組進行拼接構成。
4、交操作
交操作
交操作定義:若關系R和關系S是并相容的,則關系R和關系S的交運算結果也是一個關系,記作:R∩S,它由既出現在關系R中又出現在S中的元素構成。
三、關系操作規則
1、選擇操作
選擇操作
選擇操作
選擇操作定義:給關系R一個選擇條件(簡寫為con),選擇操作的結果也是一個關系,記作σcon(R),它由從關系R中選出的滿足條件的元組構成
2、投影操作
投影操作
投影操作定義:一個關系R的投影操作結果也是一個關系,記作Πa(R),它由從關系R中選出的A列元素構成
3、連接操作
3.1 θ連接
θ連接
(姓名等數據來自漫畫、動漫《間諜過家家》)
θ連接操作定義:R和S的θ連接操作結果也是一個關系,它由關系R和關系S的笛卡兒積中,選取滿足θ條件的元素組成。
3.2 等值連接(一種特殊的θ連接)
等值連接
等值連接操作定義:R和S的等值連接操作結果也是一個關系,它由關系R和關系S的笛卡兒積中,選取滿足θ條件(此時的θ條件特指倆關系中的某列的列值相等)的元素組成。
3.3 自然連接(一種特殊的等值連接)
自然連接
自然連接操作定義:R和S的自然連接操作結果也是一個關系,它由關系R和關系S的笛卡兒積中,選取滿足θ條件(此時的θ條件特指倆關系中的相同屬性列的列值相等)的元素組成。
3.4 外連接
外連接
(用戶名稱等數據來自作者喜歡的一些UP主)
外連接操作定義:R和S的外連接操作結果也是一個關系。若R和S進行連接時,倆個關系的行在對方關系找不到對應的行時,為了避免行數據的丢失,會假定該關系中存在空值來進行連接。
4、除操作
除操作
除操作
前提:“被除的“關系列數要大于”除以“關系的列數
除操作定義:R和S的除操作結果也是一個關系,記作R÷S。它的列是在R的基礎上,剔除掉了S。它的行是R包含S行值的行中,剔除滿足S行值後所剩餘的部分。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!