Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!drn.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.vmunix.org!npeer.de.kpn-eurorings.net!border2.nntp.ams.giganews.com!nntp.giganews.com!zen.net.uk!dedekind.zen.co.uk!news-peer-lilac.gradwell.net!nntp-peering.plus.net!ptn-nntp-feeder03.plus.net!ptn-nntp-spool02.plus.net!ptn-nntp-reader02.plus.net!not-for-mail
Date: Mon, 06 Jun 2005 17:01:07 +0100
From: Paul <paul@test.com>
User-Agent: Debian Thunderbird 1.0.2 (X11/20050602)
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: comp.databases.theory
Subject: Re: Does Codd's view of a relational database differ from that ofDate&Darwin?
 [M.Gittens]
References: <SQhne.9308$BR4.3785@news-server.bigpond.net.au> <1117636456.185385.128930@g44g2000cwa.googlegroups.com> <3R6oe.1962$F7.1337@news-server.bigpond.net.au> <Hweoe.110129$zI7.6623283@phobos.telenet-ops.be> <42a40b89$1@news.fhg.de> <42a4246c$0$41930$ed2619ec@ptn-nntp-reader03.plus.net> <42a42c05$1@news.fhg.de> <42a45433$0$41915$ed2619ec@ptn-nntp-reader03.plus.net> <5qm8a19q4nb9avbmhrik5nj5u35vujspsj@4ax.com> <42a46a61$0$1696$ed2e19e4@ptn-nntp-reader04.plus.net> <42a47041$1@news.fhg.de>
In-Reply-To: <42a47041$1@news.fhg.de>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Lines: 30
Message-ID: <42a47344$0$8715$ed2619ec@ptn-nntp-reader02.plus.net>
Organization: Customer of PlusNet plc (http://www.plus.net)
NNTP-Posting-Host: 5a409ff2.ptn-nntp-reader02.plus.net
X-Trace: DXC=KA4Z>FX9g6:mfO`>Qf\K]1igd3Y`7Rb;>37XnI;[OUC4G`jPeGcW;i;[Pc1S\jo;04TnIcO=4dVg6Q0YcP3iWn\4
X-Complaints-To: abuse@plus.net
Xref: dp-news.maxwell.syr.edu comp.databases.theory:31258

Alexandr Savinov wrote:
> Assume that we have a set of 3 values S = {1, 3, 10}. We want to
> aggreage them and apply some function func: A = func(S). Do we have a
> problem? No. Now remove some item from the set so that we have S = {1,
> 3} and then apply again the aggregation function. Do we have a problem? No.
> 
> Having null values is actually a way of removing data items from
> consideration. In this example we apply the aggregation function to the
> set {1, 3} which is equivalent to applying it to the set {1, 3, null}.

Wouldn't it be "1 + 3 + unknown", say, which should be unknown also?

>> Why not say then that all aggregates that involve a NULL return NULL?
> 
> It is possible but I do not find it very natural because we need the
> properties of NULLs and aggregations to be consistent with other
> properties of the model being developed. We cannot say "let's do it so"
> - but need to have a kind of global consistency. For example, take a row
> <1, 3> and then consider this point in 3-dimensional space by adding one
> new dimension. How it will look like (represented)? I find it very
> natural to write it as follows: <1, 3, null>. This actually says that
> this object does not exist in this dimension, it is not visible, it
> cannot be counted or aggregated. 

To me it says we know the x & y coordinates but at the moment the z
coordinate is unknown. So if we are working with a geometric projection
that collapses the z axis, we have perfect knowledge. But if we need the
z coordinate, everything becomes unknown.

Paul.
