DBMS - 連線



我們瞭解獲取兩個關係的笛卡爾積的好處,它為我們提供了所有配對在一起的可能元組。但在某些情況下,獲取笛卡爾積可能不可行,例如我們遇到具有數千個元組的大型關係,這些元組具有相當多的屬性。

連線是笛卡爾積與選擇過程的組合。當且僅當滿足給定的連線條件時,連線操作才會將來自不同關係的兩個元組配對。

我們將在以下部分簡要描述各種連線型別。

θ 連線

θ 連線組合來自不同關係的元組,前提是它們滿足 θ 條件。連線條件用符號θ表示。

符號

R1 ⋈θ R2

R1 和 R2 是具有屬性 (A1, A2, .., An) 和 (B1, B2,.. ,Bn) 的關係,使得這些屬性之間沒有任何共同點,即 R1 ∩ R2 = Φ。

θ 連線可以使用各種比較運算子。

學生
學號 姓名 年級
101 Alex 10
102 Maria 11
科目
班級 科目名稱
10 數學
10 英語
11 音樂
11 體育

學生詳細資訊 -

STUDENT Student.Std = Subject.Class SUBJECT

學生詳細資訊
學號 姓名 年級 班級 科目名稱
101 Alex 10 10 數學
101 Alex 10 10 英語
102 Maria 11 11 音樂
102 Maria 11 11 體育

等值連線

當 θ 連線僅使用等號比較運算子時,稱為等值連線。上面的示例對應於等值連線。

自然連線()

自然連線不使用任何比較運算子。它不像笛卡爾積那樣進行連線。只有當兩個關係之間存在至少一個公共屬性時,我們才能執行自然連線。此外,這些屬性必須具有相同的名稱和域。

自然連線作用於那些匹配的屬性,其中兩個關係中屬性的值相同。

課程
課程ID 課程名稱 系別
CS01 資料庫 CS
ME01 力學 ME
EE01 電子學 EE
系主任
系別 主任
CS Alex
ME Maya
EE Mira
課程 ⋈ 系主任
系別 課程ID 課程名稱 主任
CS CS01 資料庫 Alex
ME ME01 力學 Maya
EE EE01 電子學 Mira

外連線

θ 連線、等值連線和自然連線稱為內連線。內連線僅包含具有匹配屬性的元組,其餘元組在結果關係中被丟棄。因此,我們需要使用外連線將參與關係中的所有元組包含在結果關係中。外連線有三種類型:左外連線、右外連線和全外連線。

左外連線(R 左外連線 S)

左關係 R 中的所有元組都包含在結果關係中。如果 R 中的元組在右關係 S 中沒有匹配的元組,則結果關係的 S 屬性將設為 NULL。

A B
100 資料庫
101 力學
102 電子學
A B
100 Alex
102 Maya
104 Mira
課程 左外連線 系主任
A B C D
100 資料庫 100 Alex
101 力學 --- ---
102 電子學 102 Maya

右外連線:(R 右外連線 S)

右關係 S 中的所有元組都包含在結果關係中。如果 S 中的元組在 R 中沒有匹配的元組,則結果關係的 R 屬性將設為 NULL。

課程 右外連線 系主任
A B C D
100 資料庫 100 Alex
102 電子學 102 Maya
--- --- 104 Mira

全外連線:(R 全外連線 S)

兩個參與關係中的所有元組都包含在結果關係中。如果兩個關係都沒有匹配的元組,則它們各自未匹配的屬性將設為 NULL。

課程 全外連線 系主任
A B C D
100 資料庫 100 Alex
101 力學 --- ---
102 電子學 102 Maya
--- --- 104 Mira
廣告