lossless decomposition - Department of Computer Science

LOSSLESS DECOMPOSITION
Prof. Sin-Min Lee
Department of Computer Science
San Jose State University
Definition of Decomposition
A decomposition of a relation R is a
set of relations { R1, R2,…, Rn }
such that each Ri is a subset of R
and the union of all of the Ri is R
Example of Decomposition
From R( A B C ) we can have two subsets as:
R1( A C ) and R2( B C )
if we union R1 and R2 we will get R
R = R1 U R2
Definition of Lossless
Decompotion
A decomposition {R1, R2,…, Rn} of a
relation R is called a lossless
decomposition for R if the natural join
of R1, R2,…, Rn produces exactly the
relation R.
Example
R( A1, A2, A3, A4, A5 )
R1( A1, A2, A3, A5 ); R2( A1, A3, A4 );
R3( A4, A5 ) are subsets of R.
We have FD1: A1 --> A3 A5
FD2: A2 A3 --> A2
FD3: A5 --> A1 A4
FD4: A3 A4 --> A2
A1
a(1)
a(1)
b(3,1)
A2
A3
a(2)
a(3)
b(2,2) a(3)
b(3,2) b(3,3)
A4
b(1,4)
a(4)
a(4)
A5
a(5)
b(2,5)
a(5)
By FD1: A1 --> A3 A5
we have a new result table
A1
a(1)
a(1)
b(3,1)
A2
a(2)
b(2,2)
b(3,2)
A3
a(3)
a(3)
b(3,3)
A4
b(1,4)
a(4)
a(4)
A5
a(5)
a(5)
a(5)
By FD2: A2 A3 --> A4
we don’t have a new result table because we
don’t have any equally elements. Therefore,
the result doesn’t change.
By FD3: A5 --> A1 A4
we have a new result table
A1
A2
A3
a(1)
a(2)
a(3)
a(1)
b(2,2) a(3)
b(3,1) b(3,2) b(3,3)
A4
a(4)
a(4)
a(4)
A5
a(5)
a(5)
a(5)
By FD4: A3 A4 --> A2
we get a new result table
A1
A2
A3
a(1)
a(2)
a(3)
a(1)
a(2)
a(3)
b(3,1) b(3,2) b(3,3)
A4
a(4)
a(4)
a(4)
A5
a(5)
a(5)
a(5)
tuple1 and tuple2 are lossless because they
have all a(I)
Summary
A decomposition { R1, R2,…, Rn } of a
relation R is called a lossless decomposition
for R if the natural join of R1, R2,…, Rn
produces exactly the relation R
NOTE: not every decomposition is lossless.
It is possible to produce a decomposition
that is lossy, one that losses information.