|
Authored by: Anonymous on Wednesday, May 02 2012 @ 07:15 PM EDT |
There are a few things you don't understand about SQL and database
products. - SQL is a language with origins to a vendor (IBM) but
now
an ISO standard. This was a win for customers, in that standard access
reduces
lock-in. Except vendors are free to implement variants of SQL and SQL
is not
fully defined. On the other hand, SQL is a lingua franca of access and
administration
for databases, so if a product didn't include that as way to
perform queries and
updates against the database, the commercial viability of
their database management product is problematic.*
- Oracle, and no
one
in fact, could write
their database code in SQL. It is a declarative language,
which means it
describes outcomes and execution specifics are external to the
language.Wikipedia SQL
page.
- MySql and PostgreSQL are well known open source
databases.
Looking at the PostgreSQL source, psql, the command-line interaction
program,
is written in C. It connects to a database and takes input via streams
of text and
outputs similarly. That, of course, is the Unix way. When you said
SQL has an
api that works with files, you were mistaken. A
client program,
such as psql, would use os pipes in order to consume a SQL
script in file form.
The physical storage of a database, its indexes, and prepared
statements must
be in files, but SQL doesn't know anything about the physical
storage.
I
understand how marvelous an irony it would
be if Oracle getting what they want
here would boomerang on them as they
get sued for SQL or
everyone would stop
using java. Realistically, this is not what would
take place should Oracle get
a favorable verdict in this phase and the Judge
ultimately decides that what
Google did with the documentation for the java api
(review
it in order to
clone some parts of the language while building a platform that
would have
programs ready to run and developers ready to code) did infringe
Oracle's
copyright in the api as a whole
document. The documentation
to official SQL,
to the degree there is a defined API, is owned by ISO. The
documentation to
various dialects are owned by their authors. As to java
programmers, they are
using the API documentation in the manner Oracle
wishes in order to write
programs that run on licensed jvms.
*That said there are now
non-relational data models, sometimes called
NoSQL or BigTable. At this time
each product is using its own language for
access and
administration, though
for convenience sake, some will use standards such as
REST for querying and
data changes. I was reading about CouchDB and it uses
curl for command line
interaction. [ Reply to This | Parent | # ]
|
|
|
|
|