Re: Why relational division is so uncommon?
From: V.J. Kumar <vjkmail_at_gmail.com>
Date: 27 Apr 2007 22:48:48 +0200
Message-ID: <Xns991FAAC46E772vdghher_at_217.22.228.20>
>
> Pehaps there is little to argue? You either take the definition of set
> join literally, or extend it to flattened relations. For me it is as
> natural as extending the division in arithmetics from integer to
> rational numbers.
>
> No arguing, huh?
> the equation
>
> PatientDecease(PatientName,DeceaseName) =
> PatientSymptom(PatientName,SymptomName) /
> DeceaseSymptom(SymptomName, DeceaseName)
>
> are flat. Set join is even written as the division:-)
Date: 27 Apr 2007 22:48:48 +0200
Message-ID: <Xns991FAAC46E772vdghher_at_217.22.228.20>
Vadim Tropashko <vadimtro_invalid_at_yahoo.com> wrote in news:1177705706.598602.253890_at_c18g2000prb.googlegroups.com:
> On Apr 27, 12:33 pm, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
>> What you are saying is, essentially, that >> >> (a) >> R1 <X,Y>: {<1, a>, <1, b>, <2, c>} >> >> and >> >> R2 <X,Y>: {<1, {a, b}> <2, {c}>} >> >> are 'the same' relation; >> >> (b) >> '/' in >> >> R1 / D1 = {<1>}, where D1<Y> = {<a>, <b>} >> >> is 'the same' operation >> >> as 'project/join' in >> >> project(join(R2, D2, D2.Y is_a_subset_of R2.Y), X) = {<1>}, where >> D2<Y> = <{a, b}>. >> >> Obviously, neither (a) nor (b) is true, but I won't argue with you >> ;)
>
> Pehaps there is little to argue? You either take the definition of set
> join literally, or extend it to flattened relations. For me it is as
> natural as extending the division in arithmetics from integer to
> rational numbers.
There is a lot to argue actually, -- normalisation, typing, math. definition rigor, etc. -- I just do not care to.
>
>> >> > PatientDecease(PatientName,DeceaseName) = >> >> > PatientSymptom(PatientName,SymptomName) / >> >> > DeceaseSymptom(SymptomName, DeceaseName) >> >> > One more point about this schema is normalization. I have a de ja >> > vu of 5 NF generalized to accomodate set joins... >> >> How can a 5NF schema accomodate a set join if the set join tables are >> not even in 1NF ?!
>
> No arguing, huh?
It's a rhetorical question -:)
>Both relations PatientSymptom and DeceaseSymptom in
> the equation
>
> PatientDecease(PatientName,DeceaseName) =
> PatientSymptom(PatientName,SymptomName) /
> DeceaseSymptom(SymptomName, DeceaseName)
>
> are flat. Set join is even written as the division:-)
It's written as a division because it is a division not a set join, that's why. Just answering the implied question, not arguing.
>
>
Received on Fri Apr 27 2007 - 22:48:48 CEST