Re: what is the logical difference
Date: Wed, 8 Dec 2004 20:52:39 -0500
Message-ID: <31ppfgF3dssa4U1_at_individual.net>
"pc" <magoo_at_pssstoff.org> wrote in message
news:Z9Ntd.20604$6f6.415_at_edtnps89...
> To some, this may just seem a tiresome rehash of various articles on how
> to avoid "nulls" in the RM. My questions are for anybody who doesn't
> think so.
>
> Suppose I have a relation value "THINGS" with the following in it (ID is
> the "key" for the relations below):
>
> ID NAME COLOUR
> ==
> 1 Sky Blue
> 2 Grass Green
>
> Suppose I also have relation value "NAMES" with this value:
>
> ID NAME
> ==
> 1 Sky
> 2 Grass
>
> and relation value "COLOURS" with this value:
>
> ID COLOUR
> ==
> 1 Blue
> 2 Green
>
> Assuming that "ID" is drawn from the same domain (I mean that in as
> specific as possible a sense) for all three relations, the "THINGS"
> value doesn't contain any more information than the "combination"
> (speaking loosely) of the two other relation values. (Given the values
> above, the values of "NAMES" and "COLOURS" are projections of the value
> of "THINGS".)
>
> (just an aside - I think this would be true even if ID were not a "key".)
>
> Now, if the "NAMES" value became:
>
> ID NAME
> ==
> 1 Sky
> 2 Grass
> 3 Water
>
> then the "THINGS" value would contain less information than the
> "combination" of the "NAMES" and "COLOURS" values.
>
> I must say that I agree with the people who eschew nulls. So at this
> moment, I don't see how to guarantee that there will be no logical
> difference FOR ALL TIME between "THINGS" and the combination or natural
> join of "NAMES" and "COLOURS" without the use of foreign keys.
>
> Comments?
>
> Secondly, assuming that some way of avoiding update anomalies is
> inherent in whatever system one might use, is there any reason why all
> three tables couldn't be base tables?
>
> (I won't be offended if people choose to vote rather than explain their
> answers - for example, "that's a stupid question" is an OK answer to me,
> but if you want to call me an idiot, please explain why!)
>
> thanks,
> pc
>
Although your language does not appear to be the same as one Neo, your problem ceratinly does.
Anyway...
Your entire premise is built on a faulty foundation. There would NOT be a relation as generic as "THINGS". The rest of the discussion is therefor moot. When discussing theory, there are two choices:
- Use formula-type representations, not "real" values. This keeps the discussion completely abstract, and when dealing with theory, this is often the wisest approach. Or...
- If you _are_ going to use real values, they have to be from a real domain, not an imaginary domain. Imaginary domains lead you in the wrong direction, as the values you are using have a meaning in the real world that may (probably) do not correlate to your stated imaginary problem (as in this case). So, if you can re-express your problem using one of the standard examples like EMPLOYEE/DEPARTMENT/PROJECT or STUDENT/COURSE/INSTRUCTOR, it would make a lot more sense, as well as prove that you are not Neo.