Re: Relation Schemata vs. Relation Variables
Date: Thu, 31 Aug 2006 08:29:37 +0200
Message-ID: <ed5vod$pnm$1_at_orkan.itea.ntnu.no>
vc wrote:
> Jon Heggland wrote:
>> I don't understand your reference to Dataphor here. Dataphor's >> transition constraints are tuple-based,
>
> So what ? The Dataphor row-level transition constraint is a special
> case of the more general relvar constraint. Are you criticizing
> Dataphor for failure to implement a more general relvar constraint
> mechanism ? I am sure they had a lot of reasons for not doing so.
I can see only one: Performance.
>> and aren't enforced usefully >> when using relvar assignment (as opposed to insert/update/delete).
>
> I am not intimately familiar with Dataphor, but my impression was that
> they did not implement relational assignment at all, just the
> 'shorthand' delete/upadate/insert operators. Is that so ?
No, they have relational assignment; implemented as delete-insert, as
far as I can tell. Which means that their transition constraints can be
circumvented, if they're not carefully written.
> In any
Then I probably misunderstand what you and Marshall mean by
'set-theoretically'. My point was just that Dataphor's TCs are (for
update) based on comparing pairs of tuples, and the pairing is based on
the formulation of the 'update' statement. When using relational
assignment (including translating an update shorthand to an assignment)
this pairing is lost; thus, that kind of TC doesn't work. (It also has
other problems.) TTM-style transition constraints, based on comparing
(pairs of) relations, not tuples, avoid those problems. I thought this
was what you meant by the term 'set-theoretic': set-at-a-time vs.
tuple-at-a-time.
> case, they did what they could by implementing row-level declarative
> transition constraints 'set-theoretically', something the OP was
> wondering about.
-- JonReceived on Thu Aug 31 2006 - 08:29:37 CEST