Before reading what is below please realize I have never designed a DB for any one or organization with the exception being what I have dabbled with out of textbooks.
Over the last two weeks, I have researched DB normalization for days, literally.
"The Key, The Whole Key, and Nothing but the Key, so help me Codd."
OK. Finally, I found this suspected guru, Pinal Dave:
SQL SERVER – Effect of Normalization on Index and Performance Journey to SQL Authority with Pinal Dave.
and I agree with him, after you fully understand a client's needs normalize/map the firm into 5NF tables.
When I consider how we are still, for a little while longer at least (nano nano) following Moore's law, I think Mr. Dave is right. Normalize to the 5NF, unless your firm's needs require beyond 5NF, and monitor usage for any potential
denormalization needs.
Every time I read something to the effect of: "yes, but all of those joins will slow the DB down....".
I think to myself.... "OK get faster machines. I have to assume we have all of these joins, because the firm is size-able, large, at least in transaction size and hopefully has the ability to invest in faster hardware."
So problem solved. Please, DO NOT try to sell me on the idea that too many joins will slow the system down.
I am interested in some one describing a real world example which contradicts my idea that too many joins can be solved by faster hardware or more processing power, arrays of machines.
Of course the example can stay anonymous, no actual company names are necessary.
On a message thread somewhere, someone wrote something to the effect of the following:
Youtube and Facebook maintain large well indexed tables and essentially DO NOT normalize.
AND I cannot sleep, literally. It is unbelievable to me that the fore mentioned web sites do not normalize their tables.
Thanks in advance for your comments.