Supporting SQL, EXPRESS, etc., with a logic-based firstname.lastname@example.org
Date: Wed, 1 Jan 92 17:37:13 EST
Cc: email@example.com, firstname.lastname@example.org, email@example.com,
firstname.lastname@example.org, email@example.com, firstname.lastname@example.org,
Subject: Supporting SQL, EXPRESS, etc., with a logic-based standard
Following are some comments on your note of December 20th:
> Thanks your response to my query. I am glad that you agree that we need
> to involve the SQL community in our efforts to establish formal logic as
> the foundation for modeling.
Yes, I believe that we have to get everyone involved, including the PDES
and communication groups. And that is one of the strongest reasons for
a neutral, logic-based foundation: SQL is not a very good basis for
EXPRESS; EXPRESS is not a good basis for SQL; neither one is a good basis
for communication; but logic can be used as a basis for all of them.
> I think that we do need to distinguish between our need to establish
> logic as the consensus foundation for modeling and industry's need
> to have an implementable "standard" for communication. By far the
> largest share of practitioners in the data community think of standards
> as a concrete implementation. And for the purposes of establishing
> protocols for passing data between machines or for enabling programmers
> or users to request data in a predictable, portable syntax, that kind of
> standard is critical. It requires the world-wide consensus that SQL
> is developing. Of course it must be implementable, and if the SQL2
> standard is not, then they have done a poor job. And as you and we have
> recognized it must be founded on a firm semantic foundation, and that is
I agree with a lot of what you say, but I would qualify some points.
First, logic is both an excellent language for modeling and a much more
implementable standard for communication than SQL2 or even SQL-1. And
it certainly has more predictable syntax(es). Any one of them could be
blessed as a standard and become portable in a very short time.
I also take exception to the claim that SQL has established a "world-
wide consensus". SQL-1 is indeed a standard for accessing a database.
But it is not a standard for PDES, and it is totally unacceptable as a
standard for communication at the OSI Level 7. And so far, SQL2 has
only been accepted by the committees that are defining SQL2. As I
mentioned before, Chris Date has said that approving SQL2 in its present
form would be a disaster. Other people like Michael Stonebreaker have
proposed that the standards committees take a 5-year moratorium in order
to give the implementers time to develop some prototypes that might
eventually evolve into a better SQL2. The alternative of adopting SQL2
in its present form would delay implementation much longer, since it
would take at least 5 years to debug the SQL2 definition before the
implementation could even begin.
> I think for the purposes of garnering support for our project among the
> SQL and Express communities, we may hurt ourselves when we formulate
> our position as proposing logic as a "standard". It is too often
> interpreted as implying a concrete language as a competitor to SQL and
> Express and KIF and so on. That is not what we mean, but that is what
> is heard. Rather we should say that we are proposing a mathematically
> precise semantic foundation to guide the evolution of existing
> standards. ("Your assignment should you choose to accept it is ...")
> This does not alter our position; it only phrases it in noncompetitive
I recognize the need for being diplomatic and nonthreatening to the
various user communities and standards groups. But "guidelines" are
too wishy-washy to support anything. Ted Codd used logic as a guideline
for his original papers on relational database. The people who defined
SQL used Ted Codd's papers as a guideline. But the result is so far
>From the original that even Ted Codd disowned it.
A far better strategy would be to get everyone to agree on a set of
requirements. One of the principal requirements is the ability to
support SQL, EXPRESS, the OSI Level 7, and the emerging O-O standards.
None of the committees responsible for those efforts trust the others to
do things "right". That is why they established the ISO Special Group
on the Conceptual Schema that will be meeting in Renesse, the Netherlands,
in March. I look forward to going there and watching those groups fight
it out among themselves. Then we can come in with a logic-based proposal
that can provide a unified foundation for all of them.
We have to maintain a united front in insisting on a logic-based
approach. Don't let the SQL advocates scare you -- their only strength
is the widespread use of the current SQL-1. Politically, SQL2 may
have some support among the database groups, but even among them, there
are very powerful dissenters. Technically, SQL2 is very weak: all you
have to do is to cite some examples directly from the SQL2 reports in
order to make it look ridiculous. And among the PDES, OSI Level 7, and
O-O groups, SQL2 has little or no support. On the contrary, those groups
can be very strong allies in helping to prevent SQL2 from becoming the
foundation for the conceptual schema.