[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] SQL4
- From: Jim Melton <jim.melton@acm.org>
- To: Dmitry Turin <sql4-en@narod.ru>
- Date: Fri, 28 Sep 2007 10:40:54 -0600
Dmitry,
Interesting note. Thanks for sharing it with us. I have several
comments that I hope will be useful.
During the development period of what became SQL:2003 (that is, the
edition of the SQL standard published in 2003), much of the world
referred to the expected standard as "SQL4". I fear that your choice
of that same name for your effort might confuse some people and give
you less attention that you might want (because people might assume
that "SQL4" means "SQL:2003").
More importantly, it seems like you might not be aware of SQL/XML,
part 14 of the SQL:2003 standard (revised in 2006, with another
revision of the whole SQL standard expected in 2008). SQL/XML
(ISO/IEC 9075-14:2006 and ANSI/ISO/IEC 9075-14:2006) provides
language to transform SQL tables into XML trees and vice versa, as
well as providing the ability to invoke XQuery from with SQL
statements. It has proven to be extremely popular with customers of
Oracle, IBM, and Microsoft database systems, and several other
database system publishers (including Hitachi in Japan) are known to
be working on it. I believe that at least one of the open source SQL
systems is in the process of implementing it, but I wouldn't want to
imply that I know this for a fact. (FULL DISCLOSURE: I work for
Oracle; in addition, I am the editor for all parts of the SQL
standard, including part 14, for both ANSI and ISO.)
SQL/XML provides capabilities that are SQL-centric in the sense that
they depend on an SQL engine for processing of SQL data and for
handling the SQL statements that manipulate both non-SQL (XML) and
SQL data together. But it provides both "paradigms": using XML data
as though it were ordinary SQL data, and using SQL data as though it
were ordinary XML data. Because of this, we have made it possible
for people to write their applications from the SQL viewpoint, even
if they are not comfortable in the XML world, and possible for others
to write their applications from the XML point of view, even if they
are not comfortable in the SQL world.
Of course, the SQL language has nothing at all to do with HTTP (or
vice versa), and one can access an SQL database system over whatever
network protocol one wishes, as long as there is a "listener" for the
chosen protocol that can provide an interface to the DBMS.
If I understand your work correctly, the significant difference
between SQL/XML and your language is that you use foreign key
relationships implicitly to perform joins, using the notation
T1.T2.T3, which is roughly equivalent to ((T1 JOIN T2 ON T2.FK=T1.PK)
JOIN T3 ON T3.FK=T2.PK). (I say "roughly" because I did not attempt
to show an entire query expression and all of the syntax
details.) Importantly, your syntax IMPLICITLY uses the primary key
(PK) - foreign key (FK) relationships to construct the joins, while
the syntax I sketched requires EXPLICIT specification of the columns
to be used for the join relationships. As your work observes, it is
sometimes necessary using your syntax to explicitly identify the FK
columns to be used.
I should note here that the SQL standard does *not* provide syntax to
perform joins based on PK-FK relationships specified in the
DDL. There was an effort to define that capability several years
ago, but it never went anywhere for reasons I've since
forgotten. The closest that SQL provides is the relational operator
NATURAL JOIN which depends on columns that have the same name in two tables.
My conclusion about your work is that you have done two things:
You've chosen a non-SQL-like notation to express SQL constructs (in
SQL, a.b.c means "column c of table b in schema a", but it your
syntax is means "join tables a, b, and c based on their PK/FK
relationships"), and you've mixed in at least one completely
orthogonal concept -- the network protocol that a client application
might use to connect to a DBMS. I think that the former, however
compact, is a fatal error in the SQL community, and I think that the
latter is more properly the domain of a database system
implementation than a database language.
It seems that you know that ISO/IEC JTC1/SC32 is responsible for data
management, and you must know that includes SQL. It is true, and
very regrettable, that Russia never participated in SC32. Russia has
been an Observer member of SC32 for several years. I visited Moscow
a few years ago to give some talks to a database users group, to an
Oracle customer group, and to some academicians in the database
field. At that time, I implored them to work with the Russian
standards organizations to become active in SC32, and they said that
they would try. Unfortunately, nothing ever came of it.
While I cannot say whether other organizations would or would not be
interested in your work, it seems very UNlikely that either SC32 or
INCITS (the ANSI-accredited standards making organization responsible
for information technology standards in the USA) would be interested,
because they already publish a standard that accomplishes what you
say is your primary focus. I suppose that ISO/IEC JTC1/SC22
(Programming languages) might be worth approaching, but they've
always steered away from database languages, largely because that
responsibility was already given to SC32. Based on my decades of
work in the ISO and ANSI arenas, I am skeptical that the programming
language groups would be interested and, even if they are, that they
would be permitted to work on such a project that is so clearly
redundant with existing JTC1 and INCITS standards.
I also am sorry to tell you that X/Open no longer exists as an
independent entity. About a decade ago, perhaps a little more,
X/Open merged into The Open Group, which terminated all of its SQL
activities. For a few years, discussions were held with The Open
Group about some SQL-related activities (e.g., conformance testing),
but they were clearly uninterested unless there was a lot of money
given to them up front. At this time, I have no idea at all what The
Open Group does or what value it adds to the community. It is no
longer on my radar screen.
In summary, I regret to say that I do not believe that you've come up
with anything sufficiently new to overcome existing standards and
industry directions, or that any of the standards organizations
you've cited are likely to be interested in pursuing what you are offering.
I wish you well in your on-going work and your efforts to have your
work standardized.
Hope this helps,
Jim
At 9/27/2007 11:51 PM, Dmitry Turin wrote:
>Good day.
>
> I have invented programming language SQL4 for DBMS,
>which __simplifies e-business__ by merging SQL and XML:
>it put XML into database and get XML from database via HTTP
>(tree's model of data is over rational model).
>http://sql40.chat.ru/site/sql40/en/author/introduction_eng.htm
>http://sql40.chat.ru/site/sql40/en/author/determination_eng.htm
>http://sql40.chat.ru/site/sql40/en/author/inout_eng.htm
> I already have wrote to SC32 to
>Mr. Dr. Timothy SCHOECHLE sc32-sec@jtc1sc32.org, timothy@schoechle.org,
>Mr. Bruce BARGMEYER bebargmeyer@lbl.gov,
>to Russian National Body to N.P.Pankratova info@gost.ru, npankratova@gost.ru
>and to SC22 to Sally Seitz SSeitz@ansi.org.
>Really Russian never took part in jtc1sc32 WG3 and others WG.
>Thus i must to find other organization (ANSI or X/Open) to standardaze.
>I don't find any Work Groups or mailing lists of ANSI or X/Open,
>so i ask you to help.
>
>Please prompt me how to standardize SQL4.
>What procedures i must to execute ?
>
>I will very thankfull to you for any help.
>
>
>Dmitry Turin
>SQL4 (4.3.0) http://sql40.chat.ru
>HTML6 (6.4.1) http://html60.chat.ru
>Unicode2 (2.1.0) http://unicode2.chat.ru
>Computer2 (2.0.3) http://computer20.chat.ru
>
>
>_______________________________________________________________________
>
>XML-DEV is a publicly archived, unmoderated list hosted by OASIS
>to support XML implementation and development. To minimize
>spam in the archives, you must subscribe before posting.
>
>[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
>Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
>subscribe: xml-dev-subscribe@lists.xml.org
>List archive: http://lists.xml.org/archives/xml-dev/
>List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
========================================================================
Jim Melton --- Editor of ISO/IEC 9075-* (SQL) Phone: +1.801.942.0144
Co-Chair, W3C XML Query WG; F&O (etc.) editor Fax : +1.801.942.3345
Oracle Corporation Oracle Email: jim dot melton at oracle dot com
1930 Viscounti Drive Standards email: jim dot melton at acm dot org
Sandy, UT 84093-1063 USA Personal email: jim at melton dot name
========================================================================
= Facts are facts. But any opinions expressed are the opinions =
= only of myself and may or may not reflect the opinions of anybody =
= else with whom I may or may not have discussed the issues at hand. =
========================================================================
- References:
- SQL4
- From: Dmitry Turin <sql4-en@narod.ru>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]