Since people are introducing their blog to this IBM audience, allow
me:)
www.beyondsql.blogspot.com
My protagonist is Dataphor. It's an open source RAD tool that's built
around a rdbs. But this isn't Serge's sql (I say that respectfully and
with admiration:) Dataphors relational language, called D4, is based
on the D language outlined by C. J. Date and Hugh Darwen in their work
on a future db system:
"Databases, Types and the Relational Model The Third Manifesto", 2007
www.thethirdmanifesto.com
D4 is a relational algebra not a calculus.
Is sql my antagonist? Well..it depends on your own subjective
judgement:) I do my share of comparing and contrasting. Am I too harsh
at times? I'm sure. But I'm also gentle at times:) This isn't search
and destroy, but rather to spark interest.
Dataphor is written in C#. Those that are familiar with MS Linq/Entity
Framework in the sense that the compiler derives an anonymous type
from an expression are a little further along in understanding the
computer science of the relational model. If MS had anyone that
understood the difference between an anonymous type and a table (or
list) type in the relational sense, perhaps they wouldn't be
emphasizing Peter Chens model for AD:)
What does all this have to do with DB2? Dataphor will use DB2 as a
'device' for storing all data and access to it. If you understand
query chunking you understand the relationship between the two.
Dataphor will attempt to hand off any relational expression it can to
DB2. This is the same as ORM. But if it can't translate an expression
to DB2 sql it will take over the processing itself. And you're never
that far from DB2 as you can pass a DB2 query from Dataphor directly
via a pass-thru query (and treat the result as a strongly typed D4
'variable').
I have successfully supplanted the entire DDL of MS Sql Server with
Dataphor for applications. Dataphor offers superior treatment of keys,
constraints, triggers (events), procedures/functions and proposables.
It offers the ability to use logical hints in place of physical ones.
And, of course, it offers a strongly 'TYPED' language with 'relational
assignment' and all that that entails.
I hope you'll check out Dataphor and find my blog helpful along the
way. Dataphor could always use a few more good men:)
best,
steve dassin
visit dataphor at:
www.dataphor.org
and:
www.databaseconsultinggroup.com