Re: How to model searchable properties of an entity
Date: 19 Aug 2004 04:58:26 -0700
pstnotpd <schoenmakers_at_tpd.tno.nl> wrote in message news:<cg1fa1$52m$1_at_voyager.news.surf.net>...
> --CELKO-- wrote:
> >>>The entity-attribute-value system is an alternative but I don't
> > believe it is much better, and I speak as one who has built such
> > systems. You still need every user to have pretty much the same
> > training as a DBA. If you can't ensure that all of your users are of
> > that calibre then the system will rapidly become unworkable. <<
> Why? As I understand it the point of EAV is to build the user interface
> to represent the logical data model. You wouldn't expect 'users' to
> query directly on the physical model would you?
Actually, Mr Celko didn't say that, he was quoting someone else in a previous post. I think "DBA" here is meant in the "database designer" sense: with EAV, if you allow users to define new entity types and attribute types, then they must also define all the integrity rules. Essentially, the user IS the (logical) database designer. This has nothing to do with the physical level.
It is easy to imagine this becoming a mess. For example, suppose you already have the product "light bulb" in your EAV database, and one of the attributes is "fitting type", with values "wide bayonet", "narrow bayonet", "wide screw", "narrow screw" (let's suppose it's as simple as that). Then after a couple of years you start selling lamps; one of the attributes of lamp is "bulb fitting type" with the same values as above (of course). Of course, you will use the same "fitting type" domain we already have, right? Assuming the user is diligent enough to do so, they are following the same kind of thinking as an "analyst" or a "database designer". Chances are quite high they'll just create a new domain, with slightly different codes and names. Received on Thu Aug 19 2004 - 13:58:26 CEST