Loading in 5 sec....

Boyce-Codd Normal Form (BCNF)PowerPoint Presentation

Boyce-Codd Normal Form (BCNF)

- 721 Views
- Uploaded on
- Presentation posted in: General

Boyce-Codd Normal Form (BCNF)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Boyce-Codd Normal Form (BCNF)

- Boyce-Codd Normal Form (BCNF)
- A relation is in Boyce-Codd normal form (BCNF) if every determinant in the table is a candidate key.
(A determinant is any attribute whose value determines other values with a row.)

- If a table contains only one candidate key, the 3NF and the BCNF are equivalent.
- BCNF is a special case of 3NF.

- A relation is in Boyce-Codd normal form (BCNF) if every determinant in the table is a candidate key.

- A relation schema R is in BCNF if whenever a non trivial functional dependency X A holds in R then X is a super key of R.
- BCNF is more rigorous from of 3NF. It deals with relational tables which has multiple candidate keys and composite candidate keys. BCNF is based on the concept of determinant. A determinant refers to the attribute or group of attributes on the left hand side of the arrow of the functional dependency ()

- Unnormalized employee table.
- The employee table has 3 determinates : emp_id, deptid, qualification. But (emp_id, dept_id) is a candidate key. So this relation is not in BCNF. For a relation to be in BCNF each determinant must be a candidate key.
- Normalized employee table – employee table in BCNF.
- The employee table is split into emp1 & emp2 in BCNF

emp1

emp2

Emp1 has one determinant (empid,deptid),emp2 has one determinant (emp_id) so, emp1 and emp2 are in BCNF.

R = { branch_name, branch_city, branch_assets, Custome_name, Loan_number, loan_amount)

F = { branch_name branch_assets, branch_city. Loan_numberloan_amount, branch_name}

Key = {loan_number, customer_name}

Decomposed to

R1 = { branch_name, branch_city, branch_assets)

R2 = { branch_name, Custome_name, Loan_number, loan_amount)

R3 = { branch_name, Loan_number, loan_amount)

R4 = {Custome_name, Loan_number, loan_amount)

Final decomposition : R1, R3, R4

Sample Data for a BCNF Conversion

Decomposition into BCNF