I recently completed a database training workshop and had opportunity to talk with other database developers. One question I posted to quite few was "Do you ever had to go beyond 3rd Normal Form?" (to be pedantical, we're talking BCNF)
While I had expected most to say not often, I was taken aback when a couple said they *never* had ever needed to do so, saying that 3NF is more than good enough. Others never has done so but has known of databases written in since and asserted that if you can, more power to you.
I understand that the "3NF is just good enough" is based out of practicality; after all, if you're doing 8-way joins you'd see serious performance degradation even if your tables are properly normalized. I just didn't expect the "never" part. Furthermore, the developers said any benefits you would derive from 4NF or 5NF would be easily replicated in a custom set of functions written in front-end clients or with a given method of data validation. At least one has asserted that it would be easier to write hard codes than to normalize in fourth form.
So I'm broading my query to everyone else; have you ever had a database where going beyond 3NF benefited the database? Or would you agree that it would be easier to emulate the higher normalization using code/scripts/whatever?
While I had expected most to say not often, I was taken aback when a couple said they *never* had ever needed to do so, saying that 3NF is more than good enough. Others never has done so but has known of databases written in since and asserted that if you can, more power to you.
I understand that the "3NF is just good enough" is based out of practicality; after all, if you're doing 8-way joins you'd see serious performance degradation even if your tables are properly normalized. I just didn't expect the "never" part. Furthermore, the developers said any benefits you would derive from 4NF or 5NF would be easily replicated in a custom set of functions written in front-end clients or with a given method of data validation. At least one has asserted that it would be easier to write hard codes than to normalize in fourth form.
So I'm broading my query to everyone else; have you ever had a database where going beyond 3NF benefited the database? Or would you agree that it would be easier to emulate the higher normalization using code/scripts/whatever?