Skip to content

Lossy And Lossless Decompositions

Consider decomposing the relational schema \(R\) into \(R_1\) and \(R_2\).

We say that this decomposition is lossless if no information is lost when we recompose the two schemas. Formally, this is written as \(\(\Pi_{R1}(r) \bowtie \Pi_{R2}(r)=r\)\) On the other hand, \(\(\Pi_{R1}(r) \bowtie \Pi_{R2}(r) \subset r\)\) is referred to as a lossless decomposition.

(ID, name, street, city, salary) > (ID, name, street, city) , (name, salary) is a lossy decomposition

(ID, name, street, city, salary) > (ID, name, street, city) , (ID, salary) is a lossless decomposition

In general, we can get a lossless decomposition by carrying over the primary key into tables that we decompose the main table into.