Re: Why relational division is so uncommon?
Date: Thu, 26 Apr 2007 13:23:35 GMT
Message-ID: <rJ1Yh.130452$DE1.87012_at_pd7urf2no>
V.J. Kumar wrote:
> Vadim Tropashko <vadimtro_invalid_at_yahoo.com> wrote in
> news:1177525004.714698.115410_at_t39g2000prd.googlegroups.com:
>
>
>>http://vadimtropashko.wordpress.com/why-relational-division-is-so-uncom >>mon/
>
>
> You wrote: "Informally, Relational Division corresponds to the any
> quantifier in calculus, which should be as frequent as its exists
> counterpart!"
>
> In which calculus ? In SQL, ANY is a synonym for SOME (see a SQL
> reference). In spoken English, ANY can be interpreted either universally
> or existentially. Perhaps, you've meant FORALL ?
>
> "
> In a word, it one of the most distinguished relational database features
> — referential integrity — that undermines a possibility for a non vacuous
> relational division query.
> "
>
> That's a strange conclusion based on a trivial Emp/Dept schema ! I hope
> you are not denying that relational division can be quite useful to
> express some queries. Consider a query: what patients have all of such
> and so symptoms, or any similar question.
>
> The problems with the r.d. are that it arguably cannot be implemented
> efficiently and is not as easy to understand as a typical SPJ query.
I notice also that the example doesn't suggest a lot of activity, other than bureaucratic activity, this company might go out of business soon if there is no "sales" or "orders" or "inventory" relations. Lots of other useful queries would then arise, "who has paid all their invoices on time?", "which students have passed all course exams?".
I have a feeling that most programmers aren't hip to divide and write more elaborate queries than they need to, involving "not exists" and maybe db designers end up with more attributes than are really needed. I say this although I am quite ignorant as to how tersely the various dbms products support divide or forall.
p Received on Thu Apr 26 2007 - 15:23:35 CEST