Re: [OT] "advanced" database design (long)

From: David Fetter <david(at)fetter(dot)org>
To: thomas(dot)pundt(at)rp-online(dot)de
Cc: vladimir konrad <vk(at)dsl(dot)pipex(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: [OT] "advanced" database design (long)
Date: 2008-02-02 17:45:57
Message-ID: 20080202174557.GA4153@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Feb 02, 2008 at 01:38:19PM +0100, Thomas Pundt wrote:
> Hi,
>
> vladimir konrad wrote:
>> I think that I understand basic relational theory but

Clearly, you'll have to revisit that thought.

> [example stripped]
>
> Yes, this is known as eg. Entity-Attribute-Value model (cf.
> wikipedia).
>
> IMO most times its disadvantages (it can be very hard to write
> performant queries compared to the traditional row based model)

Make that, "impossible." The "flexibility" stems from fear of making
a design decision.

The second and smaller price is having the system bog down entirely
and have to be scrapped, whether it's 3 months down the line, or 3
years.

The math beneath this is that query complexity goes up like O(E!A!V!)
for Entity, Attribute and Value.

The first price, though, and by far the biggest, is that it's
impossible to maintain any kind of data integrity in such a system, as
such constraints, by their nature, are application-dependent. Two
applications means you're violating the SPOT (Single Point of Truth)
Rule, and that in turn means your data turns quickly into
incomprehensible gibberish.

> weigh higher than you gain (in flexibility) in relational databases.
> But it sure has its uses cases.

Why, yes. I encourage all my competitors to use it. ;)

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bill Moran 2008-02-02 17:56:19 Re: first message: SELECT <column> FROM <t
Previous Message Aílsom F. Heringer 2008-02-02 17:43:15 first message: SELECT <column> FROM <t