Re: Why relational division is so uncommon?



On Apr 26, 3:22 pm, "V.J. Kumar" <vjkm...@xxxxxxxxx> wrote:
Vadim Tropashko <vadimtro_inva...@xxxxxxxxx> wrote innews:1177607284.813162.87940@xxxxxxxxxxxxxxxxxxxxxxxxxxxx:

This is an interesting observation as well. Consider a medical
database schema:

PatientSymptom (
name string,
symptom string
)

DeceaseSymptom (
name string,
symptom string
)

Would db designers pressed hard to avoid set joins and create a
redundant relation

The db designers won't be hard pressed to avoid set containment joins at
all because the above schema does't have any set valued attributes to
join on -:)

Don't understand. Certainly patient can have a set of symptoms, and if
this set is a superset of some decease, then he got this decease?

What relation is redundant depends on your point of view. 'Symptom
string' is an ugly hack to emulate relational division for the original
table you've specified below.

How about symptom = headache, does this sounds like a legitimate
symptom? And having {headache,temperature} is a prerequisite for a
decease = flu?

You surely do not claim that the symptom
string is a set valued attribute, do you ? Medical db developers usually
have to maintain both tables for obvious reasons.

Dont understand, again. Are you challenging the following

PatientDecease(PatientName,DeceaseName) =
PatientSymptom(PatientName,SymptomName) /
DeceaseSymptom(SymptomName, DeceaseName)

?

.



Relevant Pages

  • Re: Why relational division is so uncommon?
    ... symptom string ... at all because the above schema does't have any set valued attributes ... containment join is similar to relational division but saying that it is ...
    (comp.databases.theory)
  • Re: File read failure
    ... Im trying to populate structure from csv files. ... Is the symptom affected by changing the data, ... Are all those 'string's really the actual string 'string', ...
    (comp.lang.c)
  • FC2 Radeon IGP320M (U1) screen corruption problem: workaround found
    ... OpenOffice, but turns out to be fundamental to. ... To show the symptom: Open Mozilla. ... Type a long string of 'g' ...
    (comp.os.linux.portable)