6.9 When to Stop Normalizing
Regardless of the process used, the result of normalization should be a set of normalized relations that include all attributes, form lossless joins, and, if possible, preserve dependencies over common attributes. An important question is how far to go in the normalization process. Usually, we try to reach BCNF. However, if that process results in a decomposition that does not preserve dependencies, we may settle for 3NF. It is always possible to find a dependency-preserving lossless decomposition for 3NF. Even so, there may be valid reasons for choosing not to implement 3NF as well. For example, if we have attributes that are almost always used together in applications and they end up in different relations, then ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access