O'Reilly logo

Database Design and Relational Theory by C.J. Date

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

REDUNDANCY FREE NORMAL FORM

In Chapter 9 I discussed what I there referred to as a surprising fact: namely, the fact that there exist relvars that can’t be nonloss decomposed into two projections but can be nonloss decomposed into more than two. Well, now I have another surprise for you: namely, that 5NF, though sufficient, isn’t actually necessary in order to eliminate the kind of redundancy we’ve been talking about throughout this book so far (i.e., the kind that can be eliminated by taking projections). Now, I hope you find this state of affairs as surprising as I did when I first encountered it, in 2010! 5NF was defined by Fagin in 1979, and for the next 30 years or so it was widely believed that a relvar had to be in 5NF in order to be redundancy free (meaning 5NF was certainly necessary, though not in general sufficient, in order to eliminate the kind of redundancy we’ve been talking about). It turns out, however, that 5NF isn’t absolutely necessary to achieve that goal after all; more specifically, it turns out that a new normal form, one that’s strictly weaker than 5NF and yet stronger than fourth normal form (4NF), is precisely as effective as 5NF at eliminating redundancy. In fact, that new normal form—which we call, for obvious reasons, redundancy free normal form (RFNF)—turns out to be both necessary and sufficient for the purpose. If the goal of normalization is to reduce redundancy, therefore, RFNF, not 5NF, is the target to be aimed for.

Aside: The name RFNF as used ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required