Re: Modeling question...

From: JOG <>
Date: Fri, 25 Jul 2008 08:45:54 -0700 (PDT)
Message-ID: <>

On Jul 25, 3:33 pm, Volker Hetzer <> wrote:
> JOG schrieb:
> > On Jul 25, 3:05 pm, Volker Hetzer <> wrote:
> >> Bob Badour schrieb:
> >>>>> Ooooh! Reinventing EAV with levels...
> >>>> Possibly. I had a look at
> >>>>'t find
> >>>> anything exciting.
> >>>> All my attributes (key value pairs) are (for the purpose of this
> >>>> discussion) strings, so the Data tables hierarchy ends with
> >>>> EAV_Objects in the first image of that link.
> >>>> My problem is that, that I haveTest three different "Objects_1"
> >>>> tables and I'd like to avoid having to replicate the EAV_Objects-Table
> >>>> for each "Objects_1"-Table.
> >>>> OTOH, I could have the "level" entities all be children of an id table
> >>>> and
> >>>> put the key value pairs into a child of that table. I need to try this
> >>>> out.
> >>>> Thanks for providing the pointer!
> >>>> Volker
> >>> Just to be clear, I was more than offering a pointer. I was also
> >>> ridiculing the idea of EAV.
> >> I got that. :-)
> >> But "we want to be able to create and delete attributes" is a customer
> >> requirement. I think it's different from "I am too lazy to do a proper data
> >> model". There are plenty of "normal" attributes left to model ERD like.
> >> Lots of Greetings!
> >> Volker
> >> --
> >> For email replies, please substitute the obvious.
> > What's wrong with drop/add column?
> All the things that are wrong if an application requires DDL during its normal
> state. No undo, no scalability, limits on the number of attributes, limits on
> the structure of the attribute names, the same attributes in each
> project/pcb/etc. and so on.

If one is changing trying to change the attributes that entities possess, than one is necessarily altering the propositions that can be stated about them. This necessitates a change in relation predicates, which means it is absolutely a DDL issue. To think otherwise seems to somewhat miss the point of the relational model.

> Sorry, but in my opinion DDL is for installation and maintenance. End users
> shouldn't trigger DDL neither directly nor indirectly.

No need to be sorry. If you want to make the same EAV mistakes that countless have before you then that's up to you. All best, J.

> Lots of Greetings!
> Volker
> --
> For email replies, please substitute the obvious.
Received on Fri Jul 25 2008 - 17:45:54 CEST

Original text of this message