MS SQL Server
NORMALISATION
Boyce-Codd Normal Form (BCNF)
Normalization
Boyce-Codd Normal Form (BCNF)
BCNF stands for Boyce-Codd normal form, which is a special case of 3NF and is also known as 3.5 NF.
BNCF is a normal form used in the normalization of databases and has more strict rules as compared to 3NF.
BCNF rules
To check if the table satisfies the conditions of BCNF, the following two conditions should exist:
The table must be in 3NF form.
For any dependency X → Y, X must be a candidate key or super key. In other words, for dependency X → Y, if Y is a
prime attribute, X cannot be a non-prime attribute.
student_id subject professor
101 Java Pr.Java
101 C++ Pr.Cpp
102 Java Pr.Java2
103 C# Pr.Chash
104 Java Pr.Java
One student can enroll for multiple subjects.
For each subject, a professor is assigned to the student.
And, there can be multiple professors teaching one subject.
student_id + subject( primary key , subject as prime attribute) ->professor
professor -> subject
subject is a prime attribute, professor is a non-prime attribute, which is not allowed by BCNF.
Boyce-Codd Normal Form (BCNF)
. Student able
student_id professor_id
101 1
101 2
102 3
103 4
104 1
Professors table
professor_id professor subject
1 P.Java Java
2 P.Cpp C++
3 P.Java2 Java
4 P.Chash C#