Lossless Decomposition in DBMS
Last Updated :
26 Jul, 2025
In DBMS, a lossless decomposition is a process of decomposing a relation schema into multiple relations in such a way that it preserves the information contained in the original relation. In a lossless decomposition, the natural join of the decomposed relations must always produce exactly the original relation with no extra or missing tuples.
How to check for Lossless Decomposition?
For lossless decomposition, we have to ensure three major things. Suppose, any relation R (A,B,C,D) is decomposed into relations R1 (A,B,C) and R2 (C,D) then check for :
- Union of attributes set of R1 & R2 should must be equal to attribute set of R, i.e., R1 ∪ R2 = R.
- Intersection of attributes set of R1 & R2 should not be empty set, i.e., R1 ∩ R2 \neq \phi
- Attribute closure of intersection of attributes set of R1 & R2 is either superset of R1 or R2, i.e., (R1 ∩ R2)+ ⊇ R1 or (R1 ∩ R2)+ ⊇ R2
Note: Not all decompositions into 1NF, 2NF, 3NF, or BCNF are guaranteed to be lossless. You must verify using dependency preservation and join conditions.
Example of Lossless Decomposition
Consider the relation:
Employee (Employee_Id, Ename, Salary, Department_Id, Dname)
We can decompose it using lossless decomposition into:
- R1: Employee_desc (Employee_Id, Ename, Salary, Department_Id)
- R2: Department_desc (Department_Id, Dname).
Here:
- Common attribute: Dept_Id
- Closure of Dept_Id (with proper FDs) should cover either R1 or R2 to ensure lossless join:
(R1 ∩ R2 -> R1) or (R1 ∩ R2 -> R2)
Armstrong’s Axioms and Lossless Decomposition
Armstrong’s Axioms are a set of inference rules used to derive all possible functional dependencies (FDs) from a given set. These FDs help in analyzing whether a decomposition is lossless. However, Armstrong's Axioms do not directly guarantee a lossless decomposition- they are used to derive closures and test dependency-related conditions.
The three core axioms are:
- Reflexivity: If Y ⊆ X, then X → Y
- Augmentation: If X → Y, then XZ → YZ for any Z
- Transitivity: If X → Y and Y → Z, then X → Z
Using these rules, you can determine the closure of attribute sets, which helps verify if (R1 ∩ R2)+ covers R1 or R2.
Note: Algorithms for performing lossless decomposition in DBMS are:
Advantages of Lossless Decomposition
- Reduced Data Redundancy: Helps remove repetitive data and optimize storage.
- Maintenance and Updates: Smaller tables are easier to update and manage.
- Improved Data Integrity: Ensures that only relevant attributes stay together.
- Improved Flexibility: Easier to modify individual relations without affecting others.
Disadvantages of Lossless Decomposition
- Increased Complexity: More joins might be needed to fetch original data.
- Increased Processing Overhead: Joins can increase computational load.
- Join Operations: Designing and validating decompositions requires effort.
- Costly: Normalization and decomposition may be resource-intensive in large databases.
Question Asked in GATE
Q.1: Let R (A, B, C, D) be a relational schema with the following functional dependencies:
A -> B, B -> C,
C -> D and D -> B.
The decomposition of R into
(A, B), (B, C), (B, D)
(A) gives a lossless join and is dependency preserving
(B) gives a lossless join, but is not dependency preserving
(C) does not give a lossless join, but is dependency preserving
(D) does not give a lossless join and is not dependency preserving
Click here for solution.
Q.2: R(A,B,C,D) is a relation. Which of the following does not have a lossless join, dependency preserving BCNF decomposition?
(A) A->B, B->CD
(B) A->B, B->C, C->D
(C) AB->C, C->AD
(D) A ->BCD
Click here for solution.
Similar Reads
Minimization of ER Diagrams Minimization of ER Diagram simply means reducing the number of the tables in the ER Diagram. When there are so many tables present in the ER Diagram, it decreases its readability and understandability and it also becomes difficult for the admin also to understand these. Minimizing the ER Diagram hel
5 min read
Enhanced ER Model As data complexity grows, the traditional ER model becomes less effective for database modeling. Enhanced ER diagrams extend the basic ER model to better represent complex applications. They support advanced concepts like subclasses, generalization, specialization, aggregation and categories.The ER
5 min read
Mapping from ER Model to Relational Model Converting an Entity-Relationship (ER) diagram to a Relational Model is a crucial step in database design. The ER model represents the conceptual structure of a database, while the Relational Model is a physical representation that can be directly implemented using a Relational Database Management S
7 min read
Relational Model in DBMS The Relational Model organizes data using tables (relations) consisting of rows and columns. The relational model represents how data is stored and managed in Relational Databases where data is organized into tables, each known as a relation.Each row of a table represents an entity or record and eac
7 min read
Introduction of Relational Algebra in DBMS Relational Algebra is a formal language used to query and manipulate relational databases, consisting of a set of operations like selection, projection, union, and join. It provides a mathematical framework for querying databases, ensuring efficient data retrieval and manipulation. Relational algebr
9 min read
Anomalies in Relational Model Anomalies in the relational model refer to inconsistencies or errors that can arise when working with relational databases, specifically in the context of data insertion, deletion and modification. Anomalies can compromise data integrity and make database management inefficient.How Are Anomalies Cau
4 min read
Keys in Relational Model In the context of a relational database, keys are one of the basic requirements of a relational database model. Keys are fundamental components that ensure data integrity, uniqueness and efficient access. It is widely used to identify the tuples(rows) uniquely in the table. We also use keys to set u
6 min read
Basic Operators in Relational Algebra The Relational Model is a way of structuring data using relations, which are a collection of tuples that have the same attributes. Relational Algebra is a procedural query language that takes relations as input and returns relations as output. Here, we'll explore the basic operators of Relational Al
4 min read
Extended Operators in Relational Algebra Extended operators in relational algebra are operators that go beyond the basic set of relational algebra operations. They are also known as derived operators because they can be constructed from combinations of the fundamental operators. There are mainly three types of extended operators in Relatio
7 min read
Tuple Relational Calculus (TRC) in DBMS Tuple Relational Calculus (TRC) is a non-procedural query language used to retrieve data from relational databases by describing the properties of the required data (not how to fetch it). It is based on first-order predicate logic and uses tuple variables to represent rows of tables.Syntax: The basi
4 min read