Re: Nearest Common Ancestor Report (XDb1's $1000 Challenge)
From: Nick Landsberg <hukolau_at_worldnet.att.net>
Date: Mon, 21 Jun 2004 00:12:15 GMT
Message-ID: <zJpBc.105384$Gx4.21453_at_bgtnsc04-news.ops.worldnet.att.net>
>
>
> No, both the person named brown and the color named brown have
> references to a single name brown. In XDb1, a name (ie 'brown') is a
> thing, a person (named brown) is a thing and a color (named brown) is
> a thing. A thing be related to 0 to many names. A name can be related
> to 0 to many things.
>
>
>
>
> The person named brown doesn't store the name brown, it refers to it.
> The color named brown doesn't store the name brown, it refers to it.
> Thus if the name brown is changed to umber, all things named brown
> appear to be renamed to umber. When the GUI displays brown the person
> and brown the color, their names are being retrieved by referencing
> the same name.
Date: Mon, 21 Jun 2004 00:12:15 GMT
Message-ID: <zJpBc.105384$Gx4.21453_at_bgtnsc04-news.ops.worldnet.att.net>
Neo wrote:
>>>Although brown appears three times in the script, XDb1 normalizes the >>>second two by making them references to the first one. There is only >>>one brown in XDb1's db. Using RM#1 or #2, brown is stored three >>>separate times. >> >>Would that mean that if John's name is brown, it would be stored in >>the same place as the color brown?
>
>
> No, both the person named brown and the color named brown have
> references to a single name brown. In XDb1, a name (ie 'brown') is a
> thing, a person (named brown) is a thing and a color (named brown) is
> a thing. A thing be related to 0 to many names. A name can be related
> to 0 to many things.
>
>
>>And would that mean that if the UI designer wanted to change all browns >>to umber as part of a UI redesign, that it would change John's name?
>
>
> The person named brown doesn't store the name brown, it refers to it.
> The color named brown doesn't store the name brown, it refers to it.
> Thus if the name brown is changed to umber, all things named brown
> appear to be renamed to umber. When the GUI displays brown the person
> and brown the color, their names are being retrieved by referencing
> the same name.
What is the mechanism for correcting such (normally encountered) situations?
(Hint: In a "normal" database structure, it would mean replacing one attribute in C. Browne's record. As I understand your scheme, if you did it right, it would mean searching the data-store for any "things" which contained the string "Browne", if found, creating a reference to that in C. Browne's *new* record, and replacing the record. If not found, creating a thing with the content "Browne", and then replacing C. Browne's record with the new reference. Seems like an awful lot of work to change a misspelling.)
/Reductio ad absurdum./
-- "It is impossible to make anything foolproof because fools are so ingenious" - A. BlochReceived on Mon Jun 21 2004 - 02:12:15 CEST