Re: Why relational division is so uncommon?
- From: "V.J. Kumar" <vjkmail@xxxxxxxxx>
- Date: 27 Apr 2007 03:45:06 +0200
Vadim Tropashko <vadimtro_invalid@xxxxxxxxx> wrote in
news:1177635290.419975.51750@xxxxxxxxxxxxxxxxxxxxxxxxxxxx:
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?
My simple point is that you cannot talk about the set containment join if
the relation attributes are not sets. You can say that the set
containment join is similar to relational division but saying that it is
the same thing would only confuse people.
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?
Oh, sorry, I misunderstood your schema. Some medical db developers
represent a set of symptoms as a comma delimited string:
"headache,nausea,fever". By doing that, they can express relational
division more efficiently, in some cases, than with traditional well-
known SQL queries.
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)
I do not. See above about a comma delimited list of symptoms.
?
.
- Follow-Ups:
- Re: Why relational division is so uncommon?
- From: Vadim Tropashko
- Re: Why relational division is so uncommon?
- References:
- Re: Why relational division is so uncommon?
- From: paul c
- Re: Why relational division is so uncommon?
- From: Vadim Tropashko
- Re: Why relational division is so uncommon?
- From: V.J. Kumar
- Re: Why relational division is so uncommon?
- From: Vadim Tropashko
- Re: Why relational division is so uncommon?
- Prev by Date: Re: Why relational division is so uncommon?
- Next by Date: Re: Why relational division is so uncommon?
- Previous by thread: Re: Why relational division is so uncommon?
- Next by thread: Re: Why relational division is so uncommon?
- Index(es):
Relevant Pages
|
|