MV and SQL
Date: Sun, 15 Jan 2006 14:19:14 GMT
Message-ID: <CRsyf.881$Ym3.637_at_trndny09>
DonR responded to me, a while back with this:
> My guess is the proprietary MV program can be written quicker and with
> finer details than a combination of database constraints and SQL
> whatif's. I think the problem you and other SQL programmers have in
> understanding MV is that you are trapped in the SQL box. ;-)
I didn't want to respond to this, because I was more interested in what Don had to say about Pick than I was in arguing about what box I might or might not be in. But now, maybe, it's time to bring this up.
I can't speak for others, but I can say, for sure, that I am not trapped in any SQL box. Before I learned SQL, I had gained some proficiency in assembler, Fortran, BASIC, Lisp, Algol, Pascal, and Datatrieve. I've used SQL to good advantage in a certain class of data storage and access problems, but I have by no means forgotten everything that I had learned in
the quarter century that preceded my involvement with SQL. I have used SQL because it is useful and not because it is pristine and pure.
As near as I can make out, it consists of deferring a certain disambiguation
from file definition time, or data update time, to retrieval time. I'm
talking about the disambiguation between a simple data item, and a set (or
list, if you prefer) that consists of a single data item. Semantically,
they are not the same thing, and this can matter, in some circumstances,
although I can't think of one off the top of my head.
Now this deferred disambiguation can be construed as a form of "late
binding", and late binding is, arguably, a "good thing" (tm). But there
are plenty of circumstances where the early binding of a relatively formal
data model to the SQL DDL execution time has been, in my experience a "good
thing", precisely because of the discipline it imposes.