Re: Extending my question. Was: The relational model and relationalalgebra - why did SQL become the industry standard?

From: Bob Badour <>
Date: Thu, 13 Feb 2003 20:19:38 -0500
Message-ID: <sQX2a.1414$>

"Mikito Harakiri" <> wrote in message news:2%S2a.9$
> Suppose we have a set {0,1}. Let's move the "second" set member a little
> bit: {0,1/2}. So far so good, the set still has 2 elements. Let's move it
> one more time: {0,1/4}. We still have set cardinality 2. In the limit,
> however, we have the set with only one element {0}. This change of
> cardinality is very nasty from math perspective, because it presents a
> of continuity. This is why matematians would consider the limit to be
> multiset {0,0} rather than just a set {0}. Mathematical definitions do
> contain multiset concept explicitly within their definitions, for example,
> "a spectrum is a *multiset* of eigenvalues". Break of continuity manifests
> itself in relational theory as a change of row set cardinaly after
> projection is applied. On the contrary, in multiset model, projection
> doesn't change number of rows. (Selection -- being dual to projection --
> doesn't change number of columns in both set and bag models).
> In short, logic and set theory together are only a tiny part of
> Don't evangelize them.

Since this newsgroup devotes itself to database theory, I am curious where you believe a similar application of limits at infinity might cause a problem for database management.

As for projection, when I place my hands together aligning finger to finger and thumb to thumb then hold them between the lightbulb and the wall, I see only one hand in the projected shadow. Similarly, projecting a finite set of points from the surface of a sphere onto a plane will yield points within a circle. Two points on the surface of the sphere will very often project onto a single point within the circle.

I suppose we could define the plane of projection as a multiset of points and then the projection of the circle onto the plane could have a multiset of points. I am not aware of any practical problems in geometry requiring this multiset approach--granted my exposure to geometrical problems is probably quite limited.

I have a question though: How many of each point should the plane of projection have in its multiset? It's clear two of each would suffice for the sphere/circle example given above. But does it suffice for a general definition of projection? What if we project a perpendicular line onto the plane? Then we need an infinite number of the point of intersection. Does this mean that the plane of projection must always have an infinite number of every point? It seems a little extreme.

How would the multiset plane with an infinite number of each point differ from a set plane with one of each point? When does this have a practical application?

It seems to me that most folks are quite satisfied to accept that two points from a sphere can project onto one point within a circle without worrying about a break in continuity. Nobody worries that one cannot reconstruct the sphere from the projected set of points. It seems to me that one cannot reconstruct the sphere from the projected multiset of points either.

In your example of the multiset of {0,0}, the physical location of the zeroes becomes important for determining the cardinality. Even assuming that {0,0,1} and {0,1,0} are equivalent multisets, the cardinality depends on the existence of a zero in two different physical locations in the representation. Physical independence has long been recognized to have many benefits for database management.

To regain physical independence, I suppose we could change our representation to not rely on location by including the cardinality of each distinct value in the representation: {0x1,1x1}->{0x1,1/2x1}->...->{0x2}

If we determine the cardinality of the multiset by adding the cardinalities of each distinct value, we see that the cardinality remains constant at 2.

Haven't we used an extended form of projection to transform the representation? ie. projection extended with the COUNT aggregate operation or what Codd once called the degree of duplication operation. Going from the representation you originally used to the latter logically equivalent representation, hasn't the number of times we represented 0 changed from 2 to 1?

Certainly, we have many practical applications for a project operation that alters cardinality. If we extend the project operation into some kind of summarize operation with aggregate functions--as is universally accepted practice for dbmses--I see no need for multisets nor for a project operation that preserves cardinality and results in multisets. We have a logically equivalent mapping of any resulting multiset onto a set, and we can just use the set instead.

Granted, we could choose to have multisets and a cardinality preserving project operation regardless of need, but in doing so, we would necessarily give up logical identity and physical independence. I think you will have a difficult time providing a logical justification for the loss. Received on Fri Feb 14 2003 - 02:19:38 CET

Original text of this message