Re: Modeling question...
From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Thu, 11 Sep 2008 17:23:52 -0300
Message-ID: <48c97e5d$0$4036$9a566e8b_at_news.aliant.net>
>
> Bit late but I was on holiday...
> I am not trying to change the attributes that an entity possesses but
> I am allowing each business object or user object or whatever you may
> call it to contain an attribute collection. There are no changes in
> relation predicates since any attribute name is just contents, like
> its value.
> I think we are talking at cross purposes.
>
> I'm curious, what do you people do when a customer comes and says,
> "I want to store <thing> and I want to add, change and remove key
> value pairs and I want to name them freely.".
Date: Thu, 11 Sep 2008 17:23:52 -0300
Message-ID: <48c97e5d$0$4036$9a566e8b_at_news.aliant.net>
Volker Hetzer wrote:
> JOG schrieb:
>
>> On Jul 25, 3:33 pm, Volker Hetzer <firstname.lastn..._at_ieee.org> wrote: >> >>> JOG schrieb: >>> >>>> On Jul 25, 3:05 pm, Volker Hetzer <firstname.lastn..._at_ieee.org> wrote: >>>> >>>>> Bob Badour schrieb: >>>>> >>>>>>>> Ooooh! Reinventing EAV with levels... >>>>>>> >>>>>>> Possibly. I had a look at >>>>>>> http://ycmi.med.yale.edu/nadkarni/eav_CR_contents.htmanddidn'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.
>
> Bit late but I was on holiday...
> I am not trying to change the attributes that an entity possesses but
> I am allowing each business object or user object or whatever you may
> call it to contain an attribute collection. There are no changes in
> relation predicates since any attribute name is just contents, like
> its value.
> I think we are talking at cross purposes.
>
> I'm curious, what do you people do when a customer comes and says,
> "I want to store <thing> and I want to add, change and remove key
> value pairs and I want to name them freely.".
In... um... 27 years of developing software, not once has a customer ever come to me and said anything even remotely similar. Received on Thu Sep 11 2008 - 22:23:52 CEST