0

私は関係代数が初めてです。*次の式で演算子を見つけました

ここに画像の説明を入力

これと結合を使用したものとの違いは何ですか

ここに画像の説明を入力

4

2 に答える 2

6

デカルト積を表すため、*より正確に記述する必要があります。この操作は、各オペランドのタプルを連結したすべてのタプルのセットを返します。結合は、デカルト積をフィルター処理して、指定された属性の値が一致するタプルのみに絞り込みます。あなたの例のように、結合が自然な結合である場合、一致する属性は同じ名前のものです。×

たとえば、次の 2 つの関係がRあり、次のSように示されているとします。

R ( a, b, c )      S ( b, c, d )
  ( 1, 2, 3 )        ( 2, 7, 9 )
  ( 2, 4, 6 )        ( 5, 3, 4 )
  ( 3, 6, 9 )        ( 2, 3, 6 )

デカルト積R × Sは次のとおりです。

  ( R.a, R.b, R.c, S.b, S.c, S.d )
  ( 1,   2,   3,   2,   7,   9   )
  ( 1,   2,   3,   5,   3,   4   )
  ( 1,   2,   3,   2,   3,   6   )
  ( 2,   4,   6,   2,   7,   9   )
  ( 2,   4,   6,   5,   3,   4   )
  ( 2,   4,   6,   2,   3,   6   )
  ( 3,   6,   9,   2,   7,   9   )
  ( 3,   6,   9,   5,   3,   4   )
  ( 3,   6,   9,   2,   3,   6   )

自然結合は、との値R ⨝ Sが一致するタプルのみにフィルター処理された製品です。bc

  ( a, b, c, d )
  ( 1, 2, 3, 6 )

結合は、値R ⨝<sub>b Sが一致するタプルのみにフィルター処理された製品です。b

  ( R.a, b,   R.c, S.c, S.d )
  ( 1,   2,   3,   7,   9   )
  ( 1,   2,   3,   3,   6   )
于 2013-11-02T10:03:13.857 に答える