• Home
  • Decompositions & Desirable Properties of them

    Decomposition is the process of breaking down a table with complex dependencies into multiple smaller tables to achieve a higher level of normalization and improve data integrity. When decomposing a table, certain desirable properties are sought in each normalization level. Let's discuss the desirable properties of 1NF, 2NF, 3NF, and BCNF:


    1. First Normal Form (1NF):

    Desirable properties:

    - Atomicity: Each column contains atomic (indivisible) values, ensuring that there are no repeating groups or multivalued attributes.
    - Uniqueness: Each row in the table is unique, usually achieved by having a primary key that uniquely identifies each record.


    2. Second Normal Form (2NF):

    Desirable properties:

    - Full Functional Dependency: Each non-key attribute in the table is fully functionally dependent on the entire primary key. This ensures that there are no partial dependencies where an attribute depends on only part of the primary key.


    3. Third Normal Form (3NF):

    Desirable properties:

    - Non-Transitive Dependency: Each non-key attribute is non-transitively dependent on the primary key. There should be no dependencies between non-key attributes, meaning that a non-key attribute should depend only on the primary key and not on other non-key attributes.


    4. Boyce-Codd Normal Form (BCNF):

    Desirable properties:

    - Trivial and Non-Trivial Dependencies: BCNF aims to eliminate non-trivial dependencies where a non-key attribute determines another non-key attribute. All functional dependencies in the table must have a candidate key as the determinant, ensuring that there are no non-key attributes that functionally determine other non-key attributes.


    Additional desirable properties for all normalization levels:

    - Data Integrity: Each normalization level aims to improve data integrity by eliminating data redundancies and minimizing update anomalies, ensuring that data remains consistent and accurate.
    - Query Performance: Proper normalization can enhance query performance by reducing the number of joins and minimizing data duplication, leading to efficient data retrieval.


    It's important to note that while normalization improves data integrity, it may also introduce complexities in querying and joining tables. Achieving higher normalization levels requires careful consideration of the trade-offs between normalization and the specific requirements of the application and database design.



    About the Author



    Silan Software is one of the India's leading provider of offline & online training for Java, Python, AI (Machine Learning, Deep Learning), Data Science, Software Development & many more emerging Technologies.

    We provide Academic Training || Industrial Training || Corporate Training || Internship || Java || Python || AI using Python || Data Science etc





     PreviousNext