How to normalize this?
Date: Fri, 8 Feb 2013 12:33:27 -0800 (PST)
Message-ID: <a7f5f08a-2f0a-4a61-a4e2-4299d991b0a6_at_googlegroups.com>
Hi all,
I've been thinking about a scenario for a few days now, and I still am not sure how this should be normalized. Maybe someone here can help?
The first part is easy. I have five attributes (a, b, c, d, e) and the following FDs:
1. {a, b, c} --> d
2. {a, b, c} --> e
Obviously, just a single relation with all five attributes and (a, b, c) as candidate key.
But then I find that the second FD isn't full. It should be replaced with:
2a. {a, b} --> e
2b. {b, c} --> e
The single relation now obviously violates 2NF. But how to replace it? The only option I see is to remove e from the first relation, and add a relation (a, b, e), with candidate key (a, b). But that does not represent FD 2b, and it allows extensions that would violate it. Nothing I could not fix with additional code in the RDBMS, but I don't like using code to prevent FD violations.
Does anyone know a better way to normalize this set of FDs?
Cheers,
Hugo
Received on Fri Feb 08 2013 - 21:33:27 CET