tft每日頭條

 > 生活

 > 關系代數怎麼查詢

關系代數怎麼查詢

生活 更新时间:2024-08-23 08:46:04

在《數據庫發展史》這篇文章中我們提到了相比于網狀、層次數據庫,關系型數據庫的一大優勢在于它有着嚴密的數理邏輯作為支撐。這個底層的數理邏輯,就是關系代數。

那什麼是關系代數呢?關系代數是一種集合思維的操作語言。所謂集合的思維,在關系代數中特指:“一個集合,施加操作得到另一個集合,依次施加關系代數操作,進而得到所需結果(此處的集合,可理解為一張表,或者一個關系)。”或者說,關系代數是一種關于“關系”的規則,用集合的思維,代數的方式來描述、計算“關系”。

關系代數怎麼查詢(圖解關系代數)1

關系代數

關系代數的操作規則可以分為兩類,一類是集合操作規則,一類是關系操作規則。

關系代數怎麼查詢(圖解關系代數)2

關系代數操作規則

一、基礎概念

元組:結構化表格的行

并相容性:兩個集合(表)的列數相同,且對應列的數值類型相同

二、集合操作規則

1、并操作

關系代數怎麼查詢(圖解關系代數)3

并操作

(姓名、魔法等數據來自漫畫、動漫《妖精的尾巴》)

并操作定義:若關系R和關系S是并相容的,則關系R和關系S的并運算結果也是一個關系,記作:R∪S,它由或者出現在關系R中,或者出現在S中的元素構成。

2、差操作

關系代數怎麼查詢(圖解關系代數)4

差操作

關系代數怎麼查詢(圖解關系代數)5

差操作

差操作定義:若關系R和關系S是并相容的,則關系R和關系S的差運算結果也是一個關系,記作:R-S,它由出現在關系R中但不出現在S中的元素構成。

3、積操作

關系代數怎麼查詢(圖解關系代數)6

積操作

積操作定義:這裡的積稱作笛卡兒積,關系R和關系S的笛卡兒積運算結果也是一個關系,記作:R×S,它由關系R中的元組和關系S中的元組進行拼接構成。

4、交操作

關系代數怎麼查詢(圖解關系代數)7

交操作

交操作定義:若關系R和關系S是并相容的,則關系R和關系S的交運算結果也是一個關系,記作:R∩S,它由既出現在關系R中又出現在S中的元素構成。

三、關系操作規則

1、選擇操作

關系代數怎麼查詢(圖解關系代數)8

選擇操作

關系代數怎麼查詢(圖解關系代數)9

選擇操作

選擇操作定義:給關系R一個選擇條件(簡寫為con),選擇操作的結果也是一個關系,記作σcon(R),它由從關系R中選出的滿足條件的元組構成

2、投影操作

關系代數怎麼查詢(圖解關系代數)10

投影操作

投影操作定義:一個關系R的投影操作結果也是一個關系,記作Πa(R),它由從關系R中選出的A列元素構成

3、連接操作

3.1 θ連接

關系代數怎麼查詢(圖解關系代數)11

θ連接

(姓名等數據來自漫畫、動漫《間諜過家家》)

θ連接操作定義:R和S的θ連接操作結果也是一個關系,它由關系R和關系S的笛卡兒積中,選取滿足θ條件的元素組成。

3.2 等值連接(一種特殊的θ連接)

關系代數怎麼查詢(圖解關系代數)12

等值連接

等值連接操作定義:R和S的等值連接操作結果也是一個關系,它由關系R和關系S的笛卡兒積中,選取滿足θ條件(此時的θ條件特指倆關系中的某列的列值相等)的元素組成。

3.3 自然連接(一種特殊的等值連接)

關系代數怎麼查詢(圖解關系代數)13

自然連接

自然連接操作定義:R和S的自然連接操作結果也是一個關系,它由關系R和關系S的笛卡兒積中,選取滿足θ條件(此時的θ條件特指倆關系中的相同屬性列的列值相等)的元素組成。

3.4 外連接

關系代數怎麼查詢(圖解關系代數)14

外連接

(用戶名稱等數據來自作者喜歡的一些UP主)

外連接操作定義:R和S的外連接操作結果也是一個關系。若R和S進行連接時,倆個關系的行在對方關系找不到對應的行時,為了避免行數據的丢失,會假定該關系中存在空值來進行連接。

4、除操作

關系代數怎麼查詢(圖解關系代數)15

除操作

關系代數怎麼查詢(圖解關系代數)16

除操作

前提:“被除的“關系列數要大于”除以“關系的列數

除操作定義:R和S的操作結果也是一個關系,記作R÷S。它的列是在R的基礎上,剔除掉了S。它的行是R包含S行值的行中,剔除滿足S行值後所剩餘的部分。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved