Re: Normalization

From: Scot A. Becker <scotb_at_inconcept.com>
Date: 2000/08/06
Message-ID: <aegj5.18088$M44.1019505_at_typhoon.mn.mediaone.net>#1/1


Hi Jan,

> I also suspect that in the real wold normalization is not much used as a
> design technique. But my background is mainly academic so you probably
 know
> better if this is true or not than I do.

From what I have seen, normalization is generally accepted as a "good idea" in the real world. However, far too many times is it relaxed or ingored "for performance reasons". Thus, this "good idea" is often seen as a utopian dream. This is usally the case when folks who are more experienced in implementation concerns are also tasked with analysis and design.

Now, I am not saying that denormalization is never needed, however, I like to argue the following:

  1. Have you investigated what the normalized schema looks like and made sure to account for (i.e. via extra error checking in the application) the lost constraints in the denormalized schema?
  2. Have you proven that performance is indded an issue in the normalized schema? Often, this is never done, it is assumed, frequently incorrectly.
  3. Is the denormalized schema showing enough of a performance impact to accept the risks? Often, the performance factors are due to other problems such as poor indexing, use of expensive SQL (i.e. "IN", "EXISTS), etc.), row count, poor DB engine performance, hardware concerns, configuration settings, added applicaiton layers (a big one in OO apps, we recently discovered a factor of 4 increase in performance when we removed a data access tier -- one that introduced a tier to merely interface via JDBC -- from an application), etc.
  4. Is the data access structured in such a way that the increased error checking is always enforced? By this, I mean: if your application objects check for these lost constraints, great; but what about the upstream/downstream applications that insert/query directly from the DB and bypass your application objects?

HTH,
Scot.



Scot A. Becker

Principal Consultant, InConcept, Inc.

     http://www.inconcept.com

Editor, The Journal of Conceptual Modeling

     http://www.inconcept.com/JCM Received on Sun Aug 06 2000 - 00:00:00 CEST

Original text of this message