Skip to content
  • SiteMap
  • Our Services
  • Frequently Asked Questions (FAQ)
  • Support
  • About Us

UpdateGadh

Update Your Skills.

  • Home
  • Projects
    •  Blockchain projects
    • Python Project
    • Data Science
    •  Ai projects
    • Machine Learning
    • PHP Project
    • React Projects
    • Java Project
    • SpringBoot
    • JSP Projects
    • Java Script Projects
    • Code Snippet
    • Free Projects
  • Tutorials
    • Ai
    • Machine Learning
    • Advance Python
    • Advance SQL
    • DBMS Tutorial
    • Data Analyst
    • Deep Learning Tutorial
    • Data Science
    • Nodejs Tutorial
  • Blog
  • Contact us
  • Toggle search form
Boyce-Codd Normal Form (BCNF)

Boyce-Codd Normal Form (BCNF)

Posted on July 30, 2025July 30, 2025 By Rishabh saini No Comments on Boyce-Codd Normal Form (BCNF)

Boyce-Codd Normal Form (BCNF)

A more sophisticated form of the Third Normal Form (3NF) is the Boyce-Codd Normal Form (BCNF). It is stricter in its approach and eliminates certain types of redundancy that 3NF may allow.

What is BCNF?

If X is a table super key for each functional dependency (FD) X → Y, then the relation (table) is in BCNF. In simple terms, the left-hand side (LHS) of every functional dependency must be a super key.

Note: A table must already be in 3NF before checking for BCNF compliance.

Machine Learning Tutorial:–Click Here
Data Science Tutorial:-Click Here
Complete Advance AI topics:- CLICK HERE
Deep Learning Tutorial:- Click Here

Example Scenario

Think of a business where workers can be assigned to different divisions. Here’s an EMPLOYEE table:

EMP_IDEMP_COUNTRYEMP_DEPTDEPT_TYPEEMP_DEPT_NO
264IndiaDesigningD394283
264IndiaTestingD394300
364UKStoresD283232
364UKDevelopingD283549

Functional Dependencies

  1. EMP_ID → EMP_COUNTRY
  2. EMP_DEPT → {DEPT_TYPE, EMP_DEPT_NO}

Candidate Key: {EMP_ID, EMP_DEPT}

In this table, neither EMP_ID nor EMP_DEPT alone is a super key, which violates the BCNF condition. Hence, the table is not in BCNF.

BCNF Decomposition

We break this table down into three distinct tables in order to import it into BCNF:

1. EMP_COUNTRY Table

EMP_IDEMP_COUNTRY
264India
364UK

2. EMP_DEPT Table

EMP_DEPTDEPT_TYPEEMP_DEPT_NO
DesigningD394283
TestingD394300
StoresD283232
DevelopingD283549

3. EMP_DEPT_MAPPING Table

EMP_IDEMP_DEPT
264Designing
264Testing
364Stores
364Developing

Functional Dependencies After Decomposition

  • EMP_ID → EMP_COUNTRY
  • EMP_DEPT → {DEPT_TYPE, EMP_DEPT_NO}

Candidate Keys:

  • EMP_COUNTRY Table: EMP_ID
  • EMP_DEPT Table: EMP_DEPT
  • EMP_DEPT_MAPPING Table: {EMP_ID, EMP_DEPT}

Now, all the functional dependencies satisfy the BCNF rule—each LHS is a super key. Therefore, the design is in BCNF.

Complete Python Course with Advance topics:-Click Here
SQL Tutorial :-Click Here

Download New Real Time Projects :-Click here

Conclusion

BCNF helps eliminate redundancy more effectively than 3NF by enforcing stricter rules on functional dependencies. Decomposing relations into BCNF ensures higher data integrity and avoids anomalies during data operations.

For more database concepts, stay connected with Updategadh.


boyce-codd normal form in dbms
boyce-codd normal form example pdf
bcnf example
boyce-codd normal form pronunciation
difference between 3nf and bcnf
explain the boyce-codd normal form (bcnf how is it related to other normal forms)
boyce-codd normal form pdf
bcnf condition

    Post Views: 386
    DBMS Tutorial Tags:academic databases, advanced normalization, BCNF explained, BCNF vs 3NF, Boyce-Codd Normal Form, data integrity, data modeling, data structures, database concepts, database design, Database Management, database normalization, database theory, functional dependencies, normalization forms, relational database, SQL best practices, sql tutorials

    Post navigation

    Previous Post: Company Visitor Management System in PHP with MySQL
    Next Post: Best Currency Converter Web Application Using Python – Complete Professional Project

    More Related Articles

    Testing of Serializability Testing of Serializability DBMS Tutorial
    Generalization in DBMS Generalization in DBMS DBMS Tutorial
    States of Transaction States of Transaction DBMS Tutorial

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    You may also like

    1. What is a Database? Definition, Types, Examples
    2. Difference Between DBMS and RDBMS
    3. ER Design Issues
    4. DBMS Specialization
    5. Relational Model in DBMS
    6. Fifth Normal Form (5NF) in DBMS

    Most Viewed Posts

    1. Top Large Language Models in 2025
    2. Online Shopping System using PHP, MySQL with Free Source Code
    3. login form in php and mysql , Step-by-Step with Free Source Code
    4. Flipkart Clone using PHP And MYSQL Free Source Code
    5. News Portal Project in PHP and MySql Free Source Code
    6. User Login & Registration System Using PHP and MySQL Free Code
    7. Top 10 Final Year Project Ideas in Python
    8. Online Bike Rental Management System Using PHP and MySQL
    9. E learning Website in php with Free source code
    10. E-Commerce Website Project in Java Servlets (JSP)
    • AI
    • ASP.NET
    • Blockchain
    • ChatCPT
    • code Snippets
    • Collage Projects
    • Data Science Project
    • Data Science Tutorial
    • DBMS Tutorial
    • Deep Learning Tutorial
    • Final Year Projects
    • Free Projects
    • How to
    • html
    • Interview Question
    • Java Notes
    • Java Project
    • Java Script Notes
    • JAVASCRIPT
    • Javascript Project
    • JSP JAVA(J2EE)
    • Machine Learning Project
    • Machine Learning Tutorial
    • MySQL Tutorial
    • Node.js Tutorial
    • PHP Project
    • Portfolio
    • Python
    • Python Interview Question
    • Python Projects
    • PythonFreeProject
    • React Free Project
    • React Projects
    • Spring boot
    • SQL Tutorial
    • TOP 10
    • Uncategorized
    • Online Examination System in PHP with Source Code
    • AI Chatbot for College and Hospital
    • Job Portal Web Application in PHP MySQL
    • Online Tutorial Portal Site in PHP MySQL — Full Project with Source Code
    • Online Job Portal System in JSP Servlet MySQL

    Most Viewed Posts

    • Top Large Language Models in 2025 (8,614)
    • Online Shopping System using PHP, MySQL with Free Source Code (5,215)
    • login form in php and mysql , Step-by-Step with Free Source Code (4,868)

    Copyright © 2026 UpdateGadh.

    Powered by PressBook Green WordPress theme