View Single Post
  #4 (permalink)  
Old March 26th, 2008, 12:50 AM
williamlove williamlove is offline
Authorized User
 
Join Date: Mar 2008
Location: , , .
Posts: 20
Thanks: 1
Thanked 0 Times in 0 Posts
Default

My customer example is meant to be almost trivial to make it easy to discuss....

It seems the two replies I got disagree about whether

tblCustomers
-CustID (prim key)
-FullName
-City

is in 3NF. I have really had to use my brain to evaluate this (which is the point of course).

From the first reply: “no, your customer table is not in 3NF because the value of City relies on who the person is”

From the second reply: “Your second table is also in 3NF… FullName is fully dependent on the primary key, and city is fully dependent on the primary key. In other words, FullName stays the same if you have to change the customer's City, and the city stays the same if the customer changes their FullName.”

I think the ambiguity comes from the interpretation of what is actually happening if the FullName is changed. If it results from the same individual changing their name, then the city stays the same. In this case City is only dependent on the CustID and it does not violate 2NF.

But if the record for a given CustID is changed so that the same CustID is used, but a different person with a different name is used, then in general the city would have to change. So in any case other than a person changing their name, City is dependent on FullName and this violates 2NF.

I am leaning towards this table not being in 2NF and therefore not in 3NF. woodyz do you now concur, or upon further review do you still disagree?
Reply With Quote