Re: atomic
Date: Thu, 01 Nov 2007 21:28:38 GMT
Message-ID: <ayrWi.166663$1y4.150325_at_pd7urf2no>
Regarding RVA's, suppose I make up a relation that names all the
children of various fathers.
I might have
F C
Joe Jack
If RVA's are allowed, I could also "say":
F {C}
Joe {Jack, Jill}
(here, I've taken the liberty for graphical reasons of calling the RVA
"{C}".)
I could add another tuple:
F {C}
Joe {Jack, Jill}
Joe {Jack, Jill}
which seems to have two such contradictions if such a thing is possible.
If RVA's aren't allowed (and neither are nulls), I think such
contradictions aren't possible. But similar relations seem possible
without the second contradiction, depending on the predicate, eg., F has
lived with a woman who was mother to the children {C}. But I still have
the contradiction that the unnamed woman in the second tuple couldn't be
a mother (assuming we don't let lawyers into the discussion).
For a predicate like "supplier S supplies the set of parts {P}", it
doesn't seem very useful to use an RVA to say that a supplier supplies
no parts when a relation that avoids RVA's can avoid recording this fact
in the first place.
I suppose if a db language offers no way to construct such relations as
above without using a form of "group" that takes as an operand only
relations that don't contain RVA's, then such relations couldn't arise.
I'm wondering are there applications where RVA values that are "empty"
make sense or are such values just a curious by-product of RVA's? If
the latter, should they be suppressed or somehow prevented?
_ _
Joe Jill
_ ___
_ ___
Bob {}
Joe {}