Re: My honours project - databases using dynamically attached entity-properties

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: <mark(at)mark(dot)mielke(dot)cc>
Cc: "David Fetter" <david(at)fetter(dot)org>, "Edward Stanley" <Edward(dot)Stanley(at)mcs(dot)vuw(dot)ac(dot)nz>, "Richard Huxton" <dev(at)archonet(dot)com>, "Sean Utt" <sean(at)strateja(dot)com>, "Andrew Hammond" <andrew(dot)george(dot)hammond(at)gmail(dot)com>, <josh(at)agliodbs(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: My honours project - databases using dynamically attached entity-properties
Date: 2007-03-14 15:25:48
Message-ID: 87bqivn8xv.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

<mark(at)mark(dot)mielke(dot)cc> writes:

> On Wed, Mar 14, 2007 at 02:28:03PM +0000, Gregory Stark wrote:
>> "David Fetter" <david(at)fetter(dot)org> writes:
>> > CREATE TABLE symptom (
>> > symptom_id SERIAL PRIMARY KEY, /* See above. */
>> > ...
>> > );
>> >
>> > CREATE TABLE patient_presents_with (
>> > patient_id INTEGER NOT NULL REFERENCES patient(patient_id),
>> > symptom_id INTEGER NOT NULL REFERENCES symptom(symptom_id),
>> > UNIQUE(patient_id, symptom_id)
>> > );
>>
>> I'm just glad I don't have your doctor. I hope mine doesn't think symptoms are
>> all boolean values.
>
> Where is the boolean above? It is M:N, with each having whatever data
> is required.

No, the above schema can only show whether a patient has or doesn't have a
symptom. There is nowhere to store *where* the pain, inflammation, swelling,
aneurism, etc is, or how severe it is, or when it occurred, etc.

In any case the above arguably *is* an EA schema anyways. Your "symptom" is
just as much an abstract meaningless concept from a database point of view as
the questionnaire's "answer" or the bug tracker's "tag". Especially once you
start actually having to record information *about* the symptom.

This is a silly argument. The only reasonable conclusion is that any dogmatic
principle that doesn't take into account the application requirements is
wrong. In some cases you want a flexible abstract schema because the
application is flexible and abstract, in others you need the database schema
to understand your specific data structures so it can help you manipulate it.
You have to pick which is more useful for your application, you can't have
your cake and eat it too.

And all of the sudden I have a craving for cake...

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Csaba Nagy 2007-03-14 15:26:57 Re: My honours project - databases using dynamically attached entity-properties
Previous Message Joshua D. Drake 2007-03-14 15:25:20 Re: My honours project - databases using dynamically attached entity-properties