Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> comp.databases.theory -> Re: Extending my question. Was: The relational model and relational algebra - why did SQL become the industry standard?

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

From: Bob Badour <>
Date: Mon, 17 Feb 2003 22:19:12 -0500
Message-ID: <KZh4a.9$>

"Mikito Harakiri" <> wrote in message news:ckb4a.14$
> "Paul" <> wrote in message
> > > > 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
> *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,
> 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
> driving principle. It seems to be a price to pay for more poweful
> computation model. Could this model be reasonably "declarative" that is
> question.

The distinction is an important one. You do yourself a disservice by losing sight of it. Received on Mon Feb 17 2003 - 21:19:12 CST

Original text of this message