Michael Ebaya (11/4/2010)
You're getting a bit abusive here dude. Perhaps you should chill?
Thanks, but I'm not a "dude", and if you don't wish to be abused, perhaps you shouldn't be condescending ... especially when you're the one who is wrong.
No, you are an anonymous poster who claims that he knows a great deal about databases, and not only that make claims about normal forms that aren't true. You've been showing a lot of condescending behaviour yourself, so I'd suggest that those who live in glasshouses shouldn't throw stones. Like for instance, you just wrote "If that PK is a FK in 2 other tables, you change one column only in each table" - I'm going to assume that you didn't actually mean that but you mean that when you change a PK value and there are two FKs that reference it, then you need to change the FK values in the other tables.
Of course, if you have an immutable PK, then you'll never ever have to change the FKs in any tables. That's just good design - if you have a million row table and let's say 80% of your rows have values that reference your PK that you need to change, this could be a bit of a nightmare. And many folks reasonably add an index to the FK to improve performance, so every update to the base table will update the index - again, this is not a great way to go about doing things!
And yet another consideration is the amount of effort you need to go towards actually ensuring that you update all the correct tables. Miss one and you could, again, be in trouble!
Random Technical Stuff[/url]