Re: OO's best feature survey results

From: Bob Badour <bbadour_at_golden.net>
Date: Mon, 3 Nov 2003 07:46:01 -0500
Message-ID: <Uvydnf0NgbS-0zuiRVn-tA_at_golden.net>


"Topmind" <topmind_at_technologist.com> wrote in message news:4e705869.0311030127.1b21ec97_at_posting.google.com... > "Bob Badour" <bbadour_at_golden.net> wrote in message news:<H6KdnQf86rTNUTiiRVn-sQ_at_golden.net>...
> > "Topmind" <topmind_at_technologist.com> wrote in message
> > news:4e705869.0311021410.7dc4737b_at_posting.google.com...
> > > >
> > > > > Oracle added,
> > > > > what's it called, that parent-of operator, to address the BOM
issue,
> > > > > other extensions have been added to address time-series temporal
data,
> > > > > full support for temporal and spatial datatypes have been proposed
> > > > > many times.
> > > >
> > > > They are extensions to the languages, but not to The Relational
Model.
> > > > The RM allows complex types, interval types, recursive operators,
> > > > transitive closure, etc.
> > > >
> > >
> > > Allowing and being "part of" are two different things. For example,
> > > JOIN may require a way to compare columns from two different
> > > tables for equality. However, it does not define *how*
> > > equality is derived. A particular "type" may have some
> > > goofy test for equality, but relational does not care.
> > >
> > > I think all that it demands is that operators return
> > > Boolean types or Boolean "answers" so that it can match or
> > > filter rows and columns. What those operators operate
> > > on is not directly part of relational. Traditionally
> > > we have used numbers, strings, and dates, but it is not
> > > limited to those. (Everything else can probably be derived
> > > from just numbers and strings, but that is another debate.)
> > >
> > > In short, relational only requires that operators return
> > > "yes" or "no". Beyond that, it does not give a fudge what
> > > they do as long as they don't change data for non-updating
> > > queries.
> > >
> > > Correct me if I am wrong.

> >

> > Operations can return values of any type. The only type required by the
> > relational model is boolean, but that does not mean the relational model
> > requires all operations to return booleans.
> >

> > Concatenation, for instance, returns a character string.
>
> But concatenation is there for our convenience. It is not
> directly part of relational theory or the "standard"
> relational operations.

The relational model states there will be domains or data types and at least one domain or data type will be boolean. Domains or data types have sets of values and sets of operations. As such, concatenation or any other domain operation is a part of the relational model even if never named in the defining papers and texts.

The extension operation would have little utility otherwise.

> A relational language can still
> be a relational language without having concatenation
> operations.

This is true; however, I would question its utility.

> It is just less useful to a degree.

To a large degree in my opinion.

Regardless, consider your original assertion that the relational model requires all operations to return booleans corrected. Received on Mon Nov 03 2003 - 13:46:01 CET

Original text of this message