Databases Reference
In-Depth Information
Chapter 2
T h e T e c h n i c a l C o n t e x t
What I assume you shall assume
—Walt Whitman: Leaves of Grass (1885)
The discussions in the previous chapter were based on SQL for reasons of familiarity.
Unfortunately, however, SQL really isn't suitable as a basis for the kind of investigation and
detailed technical discussion the subject at hand demands. For one thing, the concepts we need
to examine often can't be formulated in SQL at all; for another, even when they can, SQL
usually manages to introduce so much irrelevant and unnecessary complexity that it becomes
hard to see the forest for the trees, as it were. For such reasons, I intend to use as a foundation
for the rest of the topic, not SQL as such (though I'll still have a few things to say about SQL as
such from time to time), but rather a hypothetical language called Tutorial D . 1 Now, I believe
that language is pretty much self-explanatory; however, a comprehensive description can be
found if needed in the topic Databases, Types, and the Relational Model: The Third Manifesto ,
by Hugh Darwen and myself (3rd edition, Addison-Wesley, 2006). 2
As its title suggests, the topic just mentioned—referred to hereinafter as just “the Manifesto
topic” for short—also introduces and explains The Third Manifesto , a precise though somewhat
formal definition of the relational model and a supporting type theory (including, incidentally, a
comprehensive model of type inheritance). In that topic, we use the name D as a generic name
for any language that conforms to the principles laid down by the Manifesto . Any number of
distinct languages could qualify as a valid D ; sadly, however, SQL isn't one of them. By
contrast, Tutorial D is a valid D , of course; in fact, Tutorial D was explicitly designed to be
suitable as a vehicle for illustrating and teaching the ideas of the Manifesto , a state of affairs that
makes it equally suitable for the purposes I propose to use it for in this topic. Thus, while I've
said that discussions in this topic will be based on Tutorial D , it would really be more accurate
to say they'll be based on the ideas of the Manifesto per se. The remainder of this chapter
1 The language is hypothetical only inasmuch as no commercial implementations exist at the time of writing. But prototype
implementations do exist and can be accessed via the website www.thethirdmanifesto.com (see the footnote immediately
following).
2 Tutorial D has been revised and extended somewhat since that topic was first published. A description of the revised version
(which is close but not identical to the version I'll be using in this topic) can be found in another topic by Hugh Darwen and
myself, Database Explorations: Essays on The Third Manifesto and Related Topics (Trafford, 2010), as well as on the website
www.thethirdmanifesto.com (which, as its name suggests, additionally contains much information concerning the Manifesto as
such).
Search WWH ::




Custom Search