Comparison of BCNF and 3NF
 
 
 
 
   
 Next:  Normalization Using Multivalued 
Up:  Normalization Using Functional 
 Previous:  Third Normal Form
 
 
- 
We have seen BCNF and 3NF.
		        	-  It is always possible to obtain a 3NF design without sacrificing
lossless-join or dependency-preservation.
 -  If we do not eliminate all transitive dependencies, we may need to
use null values to represent some of the meaningful relationships.
 -  Repetition of information occurs.
 
  				
 - 
These problems can be illustrated with Banker-scheme.
		        	-  As banker 
 bname , we may want to express
relationships between a banker and his or her branch.
 -  Figure 6.9 shows how we must either have a corresponding value for
customer name, or include a null.
 -  Repetition of information also occurs.
 -  Every occurrence of the banker's name must be accompanied by the branch
name.
 
  				
 - 
If we must choose between BCNF and dependency preservation, it is generally
better to opt for 3NF.
		        	-  If we cannot check for dependency preservation efficiently, we either
pay a high price in system performance or risk the integrity of the data.
 -  The limited amount of redundancy in 3NF is then a lesser evil.
 
  				
 - 
To summarize, our goal for a relational database design is
		        	-  BCNF.
 -  Lossless-join.
 -  Dependency-preservation.
 
  				
 - 
If we cannot achieve this, we accept
		        	-  3NF
 -  Lossless-join.
 -  Dependency-preservation.
 
  				 - 
A final point: there is a price to pay for decomposition.
When we decompose a relation, we have to use natural joins or
Cartesian products to put the pieces back together.
This takes computational time.
 
 
Page created and maintained by Osmar R. Zaï ane
Last Update: 
Mon Oct 16 17:18:28 PDT 1995