- Multi-way
join operation:
R(A, B, C) ⋈ S(C, D, E) ⋈ T(A, E, F) ⋈ U(A, C, E)
|
Objective:
- The hyper-graph for the
join-operation
R(A, B, C) ⋈
S(C, D, E) ⋈
T(A, E, F) ⋈ U(A, C, E)
is:
- A full reducer for
R,
S,
T and
U can be
constructed as
follows:
FullReducer( {R,S,T,U} ) =
T is an ear edge
U consumes T
Executes: U := U ⋉ T
FullReducer( {R,S,T,U} − T )
Executes: T := T ⋉ U
|
- A full reducer for the
reduced hyper-graph
R,
S and
U:
can be
constructed as
follows:
FullReducer( {R,S,U} ) =
R is an ear edge
U consumes R
Executes: U := U ⋉ R
FullReducer( {R,S,U} − R )
Executes: R := R ⋉ U
|
- A full reducer for the
reduced hyper-graph
S and
U:
can be
constructed as
follows:
FullReducer( {S,U} ) =
S is an ear edge
U consumes S
Executes: U := U ⋉ S
FullReducer( {S,U} − S )
Executes: S := S ⋉ U
|
- Therefore, a
full reducer is:
U := U ⋉ T
U := U ⋉ R
U := U ⋉ S
S := S ⋉ U
R := R ⋉ U
T := T ⋉ U
|
or without the
indentation:
U := U ⋉ T
U := U ⋉ R
U := U ⋉ S
S := S ⋉ U
R := R ⋉ U
T := T ⋉ U
|
|