Re: Is a relational database appropriate?

From: Abdullah Kauchali <someone_at_someplace.com>
Date: Sat, 7 Jun 2003 15:24:05 +0200
Message-ID: <bbsp1s$73s$1_at_ctb-nnrp2.saix.net>


> Unfortunately, new attributes will be created constantly, and will
> eventually number in the thousands. I guess my real question is: Is there
> a better way?

Yes. I would still use a RDBMS.

I would design the application *FOR change*.

By this I mean: I will try my best to model as many concrete attributes as possible at the beginning. Where the attributes start growing into hundreds - I'll hang them off as 1:1 tables off the "main" table. So, in your example: Person table. Then have separate table for Favourites, Hobbies etc. Same key - different specific attributes. If Favourites is broken up into colour, foods etc - go one more level down with the 1:1 mapping. This I will try to do UP FRONT - as much as possible.

BUT!!! - i will also definitely write a special program to cater for the "maturing" attributes so that every once in a while, I would programmatically generate the necessary tables and do the data migration into fully-fledged tables and first class attributes. Your application should be dynamic enough to switch to and from the two different types of data structures without reprogramming. You need only write this functionality/architecture once. Use your own naming standards etc, stick to them, identify patterns (force them sometimes) and automate the process. It works.

hth

Regards

Abdullah Received on Sat Jun 07 2003 - 15:24:05 CEST

Original text of this message