Re: A Simple Notation

From: David Cressey <cressey73_at_verizon.net>
Date: Tue, 10 Jul 2007 11:01:00 GMT
Message-ID: <MFJki.7299$MV6.3883_at_trnddc01>


"David Cressey" <cressey73_at_verizon.net> wrote in message news:eirji.2$475.1_at_trndny04...
> In reaction to Brian's responses, I'm going to reformulate the notation,
> using OR and <OR> instead of AND and <AND>

After mulling this over for a while, I've reverted to my original formulation, based on <AND>

So:

[A B] means <NOT> (A <AND> B) as I originally posted.

I may yet be convinced by Brian's symmetry observation to map TRUE and FALSE the way he suggested, rather than the way I originally chose. I'm not there yet, but I'm not discarding his suggestion either.

Why did I revert?

Well, I like how easy it is to express a series of natural joins in the original formulation:

(A <AND> B <AND> C <AND> D) gets expressed as

[[A B C D]]

The extra pair of brackets simply provides a double negative.

Consider a language vaguely like SQL, where one might have

select <value-list> from <relational-expression> where <criterion>

An example might be

select

     (LAST_NAME || ', ' || FIRST_NAME  as NAME,
      JOB_NAME as JOB_TITLE,
      DEPARTMENT_NAME as DEPARTMENT)
from
     [[ EMPLOYEES JOBS DEPARTMENTS ]]

order by

    NAME; I know this isn't valid SQL syntax, but bear with me. This is an imagined language.

 We can allow any relational expression at all in the "from" clause. That means we can express unions, merges, or whatever in a single select. But natural joins, which we'll be doing more often than not, have a particularly nice mode of expression, using this notation.

Now I'm struggling with how natural joins work in a situation where there is more than one relationship between two tables. But that's a separate issue. Received on Tue Jul 10 2007 - 13:01:00 CEST

Original text of this message