what is the purpose of BCNF and other ones?

Dani AI

Generated

A concise, practical clarification for — building on and : normalization organizes tables to reduce redundancy and data anomalies, and each named normal form tightens the allowed functional dependencies. BCNF (Boyce-Codd Normal Form) is a stricter rule than 3NF and is used when subtle FD-driven anomalies remain after applying 3NF.

BCNF rule (in plain terms): for every nontrivial functional dependency X -> Y in a relation, X must be a superkey. The difference from 3NF is that 3NF allows Y to be a prime attribute (part of some candidate key) even when X is not a superkey; BCNF does not. A small illustrative schema:

R(A,B,C)
FDs:
  AB -> C
  C  -> A

Here AB and BC are candidate keys, so R is in 3NF (the dependent attribute A is prime) but not in BCNF because C -> A has a left side that is not a superkey.

Practical guidance: to test for BCNF, list candidate keys and check each FD left-hand side is a superkey. If an FD X -> Y violates BCNF, decompose R into R1 = X ∪ Y and R2 = R \ Y (this yields a lossless join). Note the trade-off: BCNF decomposition can break dependency preservation, so enforcing some FDs may require extra joins, constraints, or application logic. For many OLTP systems the stricter integrity of BCNF is worth it; in other contexts, a dependency-preserving 3NF decomposition or controlled denormalization is more practical.

Further reading: see Boyce-Codd normal form and Database normalization for formal definitions and decomposition properties (Boyce-Codd normal form, Database normalization).

Recommended Answers

All 4 Replies

this comes in normalisation

nomalisation theory is based on the observation that relations with certain properties are more effective in inserting, updating and deleting data than other sets of relations containing the same data.

normalisation is a multi step process begining with an un normalized relation

there are three type of normal forms

First normal form ( 1NF)
second normal form (2NF)
third normal form (3NF)

what is the purpose of BCNF and other ones?

To defeat the anomalies!

btw lich, there is more: BCNF, 4NF, 5NF, and 6NF (in concordance with C.J. Date).

Happy normalizations (as Nixon and Codd didn't say)!

krs,
tesu

To defeat the anomalies!

btw lich, there is more: BCNF, 4NF, 5NF, and 6NF (in concordance with C.J. Date).

Happy normalizations (as Nixon and Codd didn't say)!

krs,
tesu

oh is it. thanks for the information. i only learned up to 4NF. so thats y. anyway thanks.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.