Re: The Fact of relational algebra (was Re: Clean Object Class Design -- What is it?)

From: Bob Badour <bbadour_at_golden.net>
Date: 10 Oct 2001 18:08:56 -0700
Message-ID: <cd3b3cf.0110101708.28bba7d5_at_posting.google.com>


"David Cressey" <david_at_dcressey.com> wrote in message news:<ggBw7.164$h4.8380_at_petpeeve.ziplink.net>...
> Daniel,
>
> > Engineers seem to use mathematics to communicate. In computer science they
> > seem to use mathematics to create walls. Maybe thats just how it seems at
> > the moment. It would be good if everyone had some knowlege of set theory.
>
> Relational Algebra was
> not commonly taught in high schools in decades gone by, and I doubt that it
> is commonly taught in high schools today.

On the DBDebunk site, Fabian Pascal demonstrates that it is not taught at post-secondary institutions either.

> Still, it would be good if everyone had some knowledge of set theory, as
> you said.

In comp.databases and comp.databases.theory, it would be even better if everyone knew the relational model as well.

> I have taught elementary relational database design and
> programming to computer professionals, and the hardest thing to get
> traditionalists to understand is that a query specifies a set of data,
> perhaps ordered into a stream.

You might ease the learning curve by separating the logical issues from the physical issues:

  1. A query specifies a set of data.
  2. A cursor provides a stream-like interface to the set of data for programming languages that cannot manipulate sets directly.
  3. One can explicitly order the set of data based on values in the set.
  4. One cannot depend on any implicit order.

What do you think of the suggestion?

Still, you are correct that the typical programmer will defeat the optimizer by accessing each relation using a cursor and then by tediously attempting to implement relational operations in their favourite procedural programming language. Received on Thu Oct 11 2001 - 03:08:56 CEST

Original text of this message