Re: A Normalization Question

From: Neo <neo55592_at_hotmail.com>
Date: 8 Jul 2004 20:33:48 -0700
Message-ID: <4b45d3ad.0407081933.455a8a11_at_posting.google.com>


> > ... try again as to why the same thing (string 'brown')
> > [stored] three times in a db is not redundant.
>
> Because there is no update anomaly.

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.

I realize the following are unusual examples, however a general data model can't (application above it can) have prejudices as to what updates are unusual. Suppose, the world is taken oven by Islam and they desire every string in a computer to be spelled backwards, thus 'brown' needs to be updated to 'nworb'. Or suppose, the French take over and want every string to end in a silent 't' (as in buffet). In the above tuple, updating one and not the others, creates an update anomaly. Below is approximately how XDb1 normalizes the three strings and updating it from 'brown' to 'nworb' or 'brownt' does not create an update anomaly.

Thing Person Color Street
1 ->2 ->3 ->4

Person Name
2 ->5

Color Name
3 ->5

Street Name
4 ->5

String Sym1 Sym2 Sym3 Sym4 Sym5 ....
5 ->6, ->7, ->8, ->9, ->10

Symbol

6      b
7      r
8      o
9      w
10     n
Received on Fri Jul 09 2004 - 05:33:48 CEST

Original text of this message