While studying database related content, I came across the following:
When table
R
is vertically partitioned intoR1
,R2
,R3
...,Rn
, it is said that it can be expressed asR
=R1
⋈R2
⋈R3
...⋈Rn
. (⋈
is thejoin
symbol)
However, if the join symbol is used without any special conditions, it becomes a Cartesian product, so doesn't that result in much more tuples than in the original table R? Can you please explain why the existing table is represented as a join of a partitioned table?
CodePudding user response:
That operator means natural join. See https://en.m.wikipedia.org/wiki/Relational_algebra:
Natural join (⋈) is a binary operator that is written as (R ⋈ S) where R and S are relations.[2] The result of the natural join is the set of all combinations of tuples in R and S that are equal on their common attribute names.