2016-11-05 6 views
2

natural joins 2 relationsデータベース - リレーショナル代数の自然は、2つのテーブルが2同じカラム名

私は2つの同じ列名を持つ2つの関係を含むNatural Joinの例を読んでいるが構成されて結合します。私は2つのテーブルに1つの同一のカラム名を持つものを理解していますが、実際にこのケースについては考えていません。 誰もその出力を得る方法を私に説明することができます(SQLコマンドではない)?

ありがとうございます!

+0

あなたが参照したナチュラルジョインの*定義*とは何ですか? – philipxy

答えて

4

共通の列はBとDです。したがって、両方の行は、同じBとD値を持つ場合、一致します。
この例のcommon(B、D)値は、(1、a)および(2、b)です。
(1、a)を含むr 'の2つの行は、s'の2つの行にマッチし、4つの組み合わせを作成します。
(2、b)のr 'からの1行は、s'からの1行に一致し、単一の組み合わせを作成します。
したがって、結果セットには5行あります。

1

すべてのタプルは、すべての属性の値を持つセットです。 2つのタプルが共通の属性のすべての値に同意すると、その組合であるタプルがあります。例えば、{A 1 B 1 CαD}} {B 1 D a E} = {AαB 1 CαD a Eα}である。さもなければ、それらの集合体であるタプルはありません。例えば、rの{AαB 1 CαD a}とsの{B 3 D a Eβ}。

2つのリレーションの自然ジョインは、それぞれからのタプルのセット・ユニオンであるタプルのセットです。それぞれからタプルのすべてのペアを調べることでそれを計算し、その組の組であるタプルがあれば結果になります。

これは、rからのタプルとsからのタプルの集合であるタプルの集合です。私たちは、sからのタプルからrのタプルのすべてのペアを見ることによってそれを計算します。そして、それらのセットの組であるタプルがあれば、その結果になります。

まず、rの{AαB 1 CαD}とsの{B 1 D a Eα}は共通属性の値で一致します。だから、彼らの集合体{AαB 1 CαD a Eα}はr∈Sである。

次に、rの{AαB 1 CαD}とs {B 3 D a Eβ}は、それらの共通属性について異なる値を有する。だから、組み合わされた集合であるタプルはありません。その組のタプルはr⋈sで集合体を持たない。

タプルのすべてのペアについて、r &から続行します。

関連する問題