Marshall wrote:
Quote:
On Sep 10, 4:31 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote:
My attitude is that if it can't be expressed in an algebra it shouldn't
be implemented.
I am quite sympathetic to the impulse but I think that's too strict.
If we'd been following that stricture up to now, we wouldn't have
been able to use any relational systems at all! Up until Vadim's,
no relational "algebra" has actually been an algebra, strictly
speaking.
And there are other ways to approach semantics besides
algebraic. There exists axiomatic semantics, operational,
denotational, etc. In fact, algebraic semantics, my personal
favorite, does not seem to be very widely used. |
In Logic and Databases, see google books, in around page 260, Date says
to the effect that the D&D A-algebra is an algebra at least to the
extent that set and maxtrix algebras are algebras, based on fourteen
criteria for an algebra. The D&D algebra was published at least ten
years ago, maybe earlier for all I know. Whether this is a 'strict'
algebra, I don't know, but it is i) formal and ii) amenable for defining
typical languages. Without a formal basis, how do implementers know
what they're implementing and how do they optimize which is critical.
What else should they define their language features on?
(Elsewhere in that book, he also says that because a relational dbms is
a finite system, strictly speaking, it expresses a propositional
calculus, not predicate calculus, which I don't entirely understand.)
As far as I can see, default values don't involve constraints at all,
but I'd agree with Scott to the extent that they involve a disjunctive
view. So I'd say that the term 'default constraint' is a misnomer. But
I think that can be seen only when one tests the concept by trying to
express it algebraically. Without such a formal basis, how can people
see through such muddled terms?
Another angle to do with view 'updates' is the possibility of defining a
union algebraically as both a conjunction and disjunction. That might
'unify' base and union insert, likewise delete, in some sense.