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

From: Daniel Poon <spam_at_spam.com>
Date: Tue, 9 Oct 2001 14:19:12 +0100
Message-ID: <1002633485.476047_at_kang.qonos>


"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.
>
> One of the distinguishing features of the relational model of data is that
> it was developed by a single individual,
> not by a committee or a succession of champions. Another distinguishing
> feature is that the relational model of data was derived, with a degree
of
> rigor uncommon in computer science, from mathematics itself. The
> mathematics that provides the rigorous foundation for the relational model
> of data is an extension of set theory. I have heard this extension

I agree, and it was a pretty inspired move at the time.

> consistently referred to as "relational algebra". 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.
> Still, it would be good if everyone had some knowledge of set theory, as
> you said. 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. For people whose thinking is bound to
> one-record-at-a-time processing, this is too much to swallow, and they
> never get beyond trying to beat the query optimizer at its own game. The
> people who have some knowledge of set theory seem to grasp the
fundamentals
> of relational queries a little quicker, on the average, than those who
> don't.

There are an awful lot of people who have been exposed to set theory. I think all undergraduate mathematicians know it. I even remember doing stuff like sets, venn diagrams and mapping diagrams in high school. Set theory is well established, and much more user friendly than say predicate logic. So I think they should be used to specify computer systems and databases.

I always found set theory easier to understand than predicate logic becasue it talked about 'things' and 'sets of things', rather than 'facts', which is what you see more in predicate logic. Maths should be about communicating abstracts concepts precisely.

Thanks for the input

Daniel Received on Tue Oct 09 2001 - 15:19:12 CEST

Original text of this message