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

From: Bob Badour <bbadour_at_golden.net>
Date: Mon, 17 Feb 2003 22:19:12 -0500
Message-ID: <KZh4a.9$k32.1286180_at_mantis.golden.net>


"Mikito Harakiri" <mikharakiri_at_ywho.com> wrote in message news:ckb4a.14$7H6.123_at_news.oracle.com...
> "Paul" <pbrazier_at_cosmos-uk.co.uk> wrote in message
> news:51d64140.0302170330.15d2a98f_at_posting.google.com...
> > > > What's the interpretation given to a table with duplicate rows?
> > So what is it based on? What is the interpretation?
>
> "Partial" or "Weighted" predicates. Each predicate is weighted with a
> number, so that we could do some ariphmetics upon predicates.
>
> For example, the fact:
>
> Item
> ----
> Milk
>
> in the multiset model is telling to the end user that there is *at least*
> one milk container. In the set model, it tells to the end user that there
is
> *exactly* one milk container.

I disagree. What it says actually depends on the full predicate--internal and external--and not on whether Item represents a set or a multiset. To my anglophone human eyes, it looks like it says Milk is an Item.

> > But isn't there a distinction between the abstract number itself and
> > any given representation of it?
>
> Consider a vector from linear algebra. Abstract vector. Then, according to
> your logic, you would insist on introducing a special domain for it,
right?
> On the other hand, it's very convenient to dismember a vector into
> components and cosider vector operations as aggregate queries.
>
> Representation is just a view of an abstract entity! A user should be
> allowed to freely transform one representation into another. That
> transformation should be explicit, i.e. defined in a declarative query
> language.

Are you saying that a set-based relational dbms with full support for domains would not allow the user to freely transform data among representations?

> > OK suppose I have an employee "relation" which is a multiset.
> > I have two employees called John Smith, in the same dept on the same
> > salary.
> > So my multi-relation contains two outwardly identical tuples:
> > ("John Smith", 10, 20000)
> > ("John Smith", 10, 20000)
> >
> > Now one of the John Smiths has a sex-change and becomes Jane Smith.
> >
> > How does the user update only one of the rows?
> > Surely it's impossible because the two rows are only distinguished
> > internally?
>
> The fact
>
> ("John Smith", 10, 20000)
>
> in multiset theory is not a complete predicate. Therefore, we can't just
> blindly modify it.
>
> The <name, dept> is obviously a unique key. The question should be how do
> we impose constraints in the multiset theory.

Obviously, it was not a key in the example given. If the multiset is a multiset and if multisets are desirable, the question asked will have a satisfying and direct answer.

> > So multisets really just are syntactic shorthand. Now I suppose
> > ultimately everything is syntactic shorthand for set theory :) but I'm
> > not convinced that at the logical level the advantages of multisets
> > outweigh the disadvantages. Quite possibly it might be different for
> > the physical level though.
>
> My problem is that I'm so frequently blurring distinction between logical
> and physical, that distinction of logical and physical levels is no longer
a
> driving principle. It seems to be a price to pay for more poweful
> computation model. Could this model be reasonably "declarative" that is
the
> question.

The distinction is an important one. You do yourself a disservice by losing sight of it. Received on Tue Feb 18 2003 - 04:19:12 CET

Original text of this message