Dbms-database-joins

提供:Dev Guides
移動先:案内検索

DBMS-結合

2つの関係のデカルト積を取ることの利点を理解しています。これにより、ペアになっているすべての可能なタプルが得られます。 しかし、特定のケースでは、かなりの数の属性を持つ数千のタプルとの巨大な関係に遭遇するデカルト積を取るのは現実的でないかもしれません。

*Join* は、デカルト積とそれに続く選択プロセスの組み合わせです。 結合操作は、特定の結合条件が満たされた場合にのみ、異なる関係から2つのタプルをペアにします。

次のセクションで、さまざまな結合タイプについて簡単に説明します。

シータ(θ)結合

シータ結合は、シータ条件を満たしていれば、異なるリレーションのタプルを組み合わせます。 結合条件は、記号*θ*で示されます。

記法

R1 ⋈θ R2

R1とR2は、属性(A1、A2、..、An)および(B1、B2、.. 、Bn)属性に共通点がないようにします。つまり、R1∩R2 =Φです。

シータ結合では、あらゆる種類の比較演算子を使用できます。

学生

SID

Name

Std

101

Alex

10

102

マリア

11

科目

クラス

件名

10

Math

10

英語

11

音楽

11

スポーツ

Student_Detail-

STUDENT ⋈Student.Std = Subject.Class SUBJECT

Student_detail

SID

Name

Std

クラス

件名

101

Alex

10

10

Math

101

Alex

10

10

英語

102

マリア

11

11

音楽

102

マリア

11

11

スポーツ

等結合

Theta結合が equality 比較演算子のみを使用する場合、等価結合と呼ばれます。 上記の例は、等結合に対応しています。

自然結合(⋈)

自然結合では、比較演算子は使用されません。 デカルト積のようには連結しません。 2つのリレーション間に少なくとも1つの共通属性が存在する場合にのみ、Natural Joinを実行できます。 さらに、属性は同じ名前とドメインを持っている必要があります。

自然結合は、両方の関係の属性の値が同じである一致する属性に作用します。

コース

CID

コース

Dept

CS01

データベース

CS

ME01

力学

ME

EE01

エレクトロニクス

EE

HoD

Dept

Head

CS

Alex

ME

Maya

EE

Mira

コース⋈HoD

Dept

CID

コース

Head

CS

CS01

データベース

Alex

ME

ME01

力学

Maya

EE

EE01

エレクトロニクス

Mira

外部結合

シータ結合、等結合、および自然結合は、内部結合と呼ばれます。 内部結合には、一致する属性を持つタプルのみが含まれ、残りは結果のリレーションで破棄されます。 そのため、外部結合を使用して、結果の関係に参加関係からのすべてのタプルを含める必要があります。 外部結合には、左外部結合、右外部結合、完全外部結合の3種類があります。

左外部結合(R 左外部結合、幅= 24 S)

左の関係Rからのすべてのタプルは、結果の関係に含まれます。 RightリレーションSに一致するタプルがないRにタプルがある場合、結果のリレーションのS属性はNULLになります。

Left

A

B

100

データベース

101

力学

102

エレクトロニクス

A

B

100

Alex

102

Maya

104

Mira

コース左外部結合、幅= 24 HoD

A

B

C

D

100

データベース

100

Alex

101

力学

102

エレクトロニクス

102

Maya

右外部結合:(R 右外部結合、幅= 24 S)

RightリレーションシップのすべてのタプルSは、結果のリレーションシップに含まれます。 Rに一致するタプルのないSにタプルがある場合、結果のリレーションのR属性はNULLになります。

コース右外部結合、幅= 13 HoD

A

B

C

D

100

データベース

100

Alex

102

エレクトロニクス

102

Maya

104

Mira

完全外部結合:(R 完全外部結合、幅= 16 S)

両方の参加関係からのすべてのタプルは、結果の関係に含まれます。 両方のリレーションに一致するタプルがない場合、それぞれの一致しない属性はNULLになります。

コース完全外部結合、幅= 13 HoD

A

B

C

D

100

データベース

100

Alex

101

力学

102

エレクトロニクス

102

Maya

104

Mira