Re: A Normalization Question

From: Larry Coon <lcnospam_at_assist.org>
Date: Fri, 09 Jul 2004 10:29:57 -0700
Message-ID: <40EED615.736C_at_assist.org>


Neo wrote:

> Because the three strings each represent the same thing, the string
> 'brown', it is redundant. To create an update anomaly, we need to
> perform an update. This is unusual with strings, because strings
> typically don't change and if they change we consider them to be a
> completely different string.

But facts change, and that's the entire point.

With your methodology, update anomalies easily result. Given the schema I provided earlier:

create table house_color (

  customer_id numeric(5) not null,
  exterior_color varchar(10) not null,
  interior_color varchar(10) not null,

  trim_color varchar(10) not null,
  primary key (customer_id)
)

Suppose the manufacturer of the paint used for the exterior renamed all their paint colors, and "brown" is now called "St. Tropez Tan." If you simply change the one instance of "brown" in your schema you have, as you call it, "corrupted" your database, since you have also changed the data where it doesn't apply. That's an update anomaly. And as I pointed out before, it's ironic that you still call yours a "higher" form of normalization.

Larry Coon
University of California Received on Fri Jul 09 2004 - 19:29:57 CEST

Original text of this message