Re: Decline of Science: Computer Science and Databases

From: Carl Rosenberger <carl_at_db4o.com>
Date: Mon, 4 Nov 2002 13:00:28 +0100
Message-ID: <aq5n1g$jce$05$1_at_news.t-online.com>


Leandro Guimarăes Faria Corsetti Dutra wrote:
> > Are the examples really that hard to read?
>
> Yes.

Obviously, since you know SQL and S.O.D.A. is new.

S.O.D.A. does have trade-offs at legibility due to the nature of the used OO language (Java) and due to the fact that we wanted to make it possible to plug existing objects into a query.

Step 1:
Constrain the query by any object.
  Constraint constraint = Query#constrain(anyComplexObjectHere);

Step 2:
Choose the comparator.
  constraint.greater();

> Just see that for all but two of the examples, your comments are
> actually much simpler, more logical SQL statements.

The examples listed are not possible with common SQL databases:

(1) You can not select from all tables!

(2) You can not execute Java code against stored objects.

(3) SQL does not understand Java classes or Java interfaces.

(4) In a union, you can not use the same where clause for multiple tables.

(5) SQL queries do not have a viewpoint, as in the last example.

> And that given that SQL is already below relational standards.

S.O.D.A. is not meant as an end-user language to type it into a console. It will serve as an API below an SQL query parser that we will build on top.

...and S.O.D.A. can already do quite a few things that SQL can't.

S.O.D.A. is meant to reduce the coding work of an application programmer, so he does not need to convert the existing objects in his application to a string query language.

> The other two are simple enough to be expressed in a relational
> system also much clearer.

"Clearer" is a question of the standpoint.

S.O.D.A. is direct construction of the query tree. This representation is "clearer" for a computer. S.O.D.A. is written to make an SQL query parser obsolete. Therefore a S.O.D.A. database engine will need a smaller footprint and it will run with less ressource consumption on embedded systems, mobile phones or Java cards.

S.O.D.A. also works better for setting up very complex query expressions: You can add one constraint at a time and you can delegate the work of doing this to individual methods. There is not a long SQL statement that you need to monitor and debug.

Kind regards,
Carl

--
Carl Rosenberger
db4o - database for objects - http://www.db4o.com
Received on Mon Nov 04 2002 - 13:00:28 CET

Original text of this message