Re: A question for Mr. Celko
Date: Sun, 18 Jul 2004 13:17:09 GMT
Message-Id: <pan.2004.07.18.13.17.46.586491_at_REMOVETHIS.pandora.be>
On Sat, 17 Jul 2004 19:30:10 -0700, John Jacob wrote:
>Jan Hidders wrote:
>> Another criticism is that an algebraic approach is taken but one where
>> the operators are not supposed to be implemented as such or where it
>> would at least be impractical to do so. That deviates somewhat from the
>> usual pattern. A calculus/logic-based approach would probably have been
>> more appropriate here.
>
> The proposals do not preclude a calculus-style language, it's just that
> the algebra presents the concepts more intuitively.
That probably depends on your point of view. Calculi are usually much easier to reason about formally, and they would allow you to invoke the whole machinery that is available from research on temporal logics. Writing down such a logic/calculus would also be a good sanity check to see if (1) the algebra actually makes sense from a logical point of view and (2) if there are no obvious operators missing from the algebra. It's not a concidence that the relationship between FOL and the relational algebra is stressed so often. If Chris Date could show a similar result for his algebra that would seriously strengthen his case.
> I would also point out that most, if not all, implementations of
> calculus-style languages convert to an algebra prior to optimization, so
> there is no reason to believe that an algebraic implementation would be
> any less optimizable than a calculus-style one.
That approach rests upon two assumptions: (1) you have enough useful algebraic identies for optimizing and (2) the algebraic expression corresponds roughly to a real query evaluation plan. For the PACK and UNPACK operators I haven't seen much proof for (1) and (2) seems doubtful since they don't look operators you would directly implement that way.
>> > The domain of integers is infinite, but we are quite content to model
>> > it with a finite set. In what way is this different?
>>
>> If you mean "implement it" by "model it" then, yes, you are right. But
>> we are talking about a logical data model, not an implementation model,
>> so why then not model it as the infinite set that it really is?
>
> In the case of time, because the assumption dramatically simplifies the
> problem domain without sacrificing any power.
It's an extra assumption that, from a logical point of view, is not necessary. I don't see how that simplifies things. And do you have a formal proof that you are not sacrificing power?
- Jan Hidders
PS. Is there a way to tell the Google news poster to correctly attribute what it quotes from the preceding postings? Received on Sun Jul 18 2004 - 15:17:09 CEST