Re: A Normalization Question

From: Neo <neo55592_at_hotmail.com>
Date: 8 Jul 2004 13:27:22 -0700
Message-ID: <4b45d3ad.0407081227.164ee6a7_at_posting.google.com>


> > > You have to show that in the tuple ("brown", "brown", "brown") the
> > > string "brown" each time represents the same fact.
> >
> > A clearification. While the 1st, 2nd and 3rd "brown" in the above
> > tuple do represent different things (ie fact), the name of each of
> > those things is the same (ie string "brown") and it is the name of
> > those things that can be normalized.
>
> Why would you do that? What update anomaly would that solve? Recall that
> this is what normalization is about, and not for example finding a more
> compact representation.

The central issue is not why we normalize, but whether the string "brown" (not its role as a unsystematic reference) is redundant. As you are alluding, one way to know if something is redundant is to change one of its attributes and check for corruption. This is difficult to see 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 extraordinary examples, however a general data model can't (application above it can) have prejudices as to what data/changes it will accept. Suppose, the world is taken oven by islamic terrorist. As part of their spoils, they want every word in every computer to be spelled backwards, thus 'brown' needs to be update to 'nworb'. Or suppose, the French, take over and want every string to end in a silent t. In the above tuple, updating one and not the others, corrupts the db. Below is approximately how XDb1 normalizes the three strings and updating it from 'brown' to 'nworb' or appending the symbol t does not corrupt the db.

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

Note, there are no tables in XDb1, only things. However certain groups of things can be considered a list, tree, table, matrix, etc. Received on Thu Jul 08 2004 - 22:27:22 CEST

Original text of this message