DBMS-結合
2つの関係のデカルト積を取ることの利点を理解しています。これにより、ペアになっている可能性のあるすべてのタプルが得られます。しかし、場合によっては、かなりの数の属性を持つ数千のタプルとの巨大な関係に遭遇するデカルト積を使用することが不可能な場合があります。
Joinデカルト積とそれに続く選択プロセスの組み合わせです。結合操作は、特定の結合条件が満たされた場合にのみ、異なる関係からの2つのタプルをペアにします。
次のセクションでは、さまざまな結合タイプについて簡単に説明します。
シータ(θ)参加
シータ結合は、シータ条件を満たす場合に、さまざまな関係のタプルを結合します。結合条件は記号で示されますθ。
表記
R1 ⋈θ R2
R1とR2は、属性(A1、A2、..、An)と(B1、B2、..、Bn)を持つ関係であり、属性に共通点はありません。つまり、R1∩R2=Φです。
シータ結合では、あらゆる種類の比較演算子を使用できます。
学生 | ||
---|---|---|
SID | 名前 | 標準 |
101 | アレックス | 10 |
102 | マリア | 11 |
科目 | |
---|---|
クラス | 件名 |
10 | 数学 |
10 | 英語 |
11 | 音楽 |
11 | スポーツ |
Student_Detail −
STUDENT ⋈Student.Std = Subject.Class SUBJECT
Student_detail | ||||
---|---|---|---|---|
SID | 名前 | 標準 | クラス | 件名 |
101 | アレックス | 10 | 10 | 数学 |
101 | アレックス | 10 | 10 | 英語 |
102 | マリア | 11 | 11 | 音楽 |
102 | マリア | 11 | 11 | スポーツ |
エクイジョイン
シータ結合が使用する場合のみ equality比較演算子、それは等結合であると言われています。上記の例はequijoinに対応します。
自然結合(⋈)
自然結合は比較演算子を使用しません。デカルト積のように連結することはありません。自然結合を実行できるのは、2つのリレーション間に少なくとも1つの共通属性が存在する場合のみです。さらに、属性は同じ名前とドメインを持っている必要があります。
自然結合は、両方の関係の属性の値が同じである一致する属性に作用します。
コース | ||
---|---|---|
CID | コース | 部門 |
CS01 | データベース | CS |
ME01 | 力学 | ME |
EE01 | エレクトロニクス | EE |
HoD | |
---|---|
部門 | 頭 |
CS | アレックス |
ME | マヤ |
EE | ミラ |
コース⋈HoD | |||
---|---|---|---|
部門 | CID | コース | 頭 |
CS | CS01 | データベース | アレックス |
ME | ME01 | 力学 | マヤ |
EE | EE01 | エレクトロニクス | ミラ |
外部結合
シータ結合、エクイジョイン、およびナチュラル結合は、内部結合と呼ばれます。内部結合には、属性が一致するタプルのみが含まれ、残りは結果のリレーションで破棄されます。したがって、外部結合を使用して、参加しているリレーションのすべてのタプルを結果のリレーションに含める必要があります。外部結合には、左外部結合、右外部結合、および完全外部結合の3種類があります。
左外部結合(R
S)

左の関係Rからのすべてのタプルは、結果の関係に含まれます。Rにタプルがあり、RightリレーションSに一致するタプルがない場合、結果のリレーションのS属性はNULLになります。
左 | |
---|---|
A | B |
100 | データベース |
101 | 力学 |
102 | エレクトロニクス |
正しい | |
---|---|
A | B |
100 | アレックス |
102 | マヤ |
104 | ミラ |
コース
![]() |
|||
---|---|---|---|
A | B | C | D |
100 | データベース | 100 | アレックス |
101 | 力学 | --- | --- |
102 | エレクトロニクス | 102 | マヤ |
右外部結合:(R
S)

RightリレーションSのすべてのタプルは、結果のリレーションに含まれます。Rに一致するタプルがないSにタプルがある場合、結果の関係のR属性はNULLになります。
コース
![]() |
|||
---|---|---|---|
A | B | C | D |
100 | データベース | 100 | アレックス |
102 | エレクトロニクス | 102 | マヤ |
--- | --- | 104 | ミラ |
完全外部結合:(R
S)

両方の参加関係からのすべてのタプルは、結果の関係に含まれます。両方のリレーションに一致するタプルがない場合、それぞれの一致しない属性はNULLになります。
コース
![]() |
|||
---|---|---|---|
A | B | C | D |
100 | データベース | 100 | アレックス |
101 | 力学 | --- | --- |
102 | エレクトロニクス | 102 | マヤ |
--- | --- | 104 | ミラ |