An alternate approach to custom fields

Bradley Baetz bbaetz at acm.org
Fri Mar 21 22:18:25 UTC 2003


On Fri, Mar 21, 2003 at 12:15:32PM -0500, Christopher Hicks wrote:
> On Fri, 21 Mar 2003, Gervase Markham wrote:
> > bbaetz outlined how we would like this to work in a message on the 1st 
> > of this month:
> 
> bbaetz' answer sounds good as far as storing the data, but he left out a 
> table for storing this mapping information.

We already have a fielddefs table - we'd just have to extend it a bit

> Having the mapping 
> information in the database has always been essential in my experience.
> If this information doesn't ride along with the data you have to maintain 
> it as part of the code which would undermine the value of making the 
> custom fields generalizations in the first place
> 
> For instance:
> 
> "FKID" would identify the foreign key.  Above I've used an integer to
> indicate this which would point to a portion of a codes table.  bbaetz
> answer implied he'd prefer to have a seperate table for each foreign key,
> so having a table name here might be necessary for his approval. I'd
> encourage having a single table for such simple code lookups however.  If
> you're not using relational integrity and you're not stuck in the Orthodox
> Relational perspective, it tends to lead to a lot less clutter and it
> makes creating an interface to let people maintain codes easier.

We will be using referential integrity. That said, we could probably
enforce it via a trigger, except for mysql.

> 
> "Multi" would indicate whether multiple instances of that field are 
> allowed.
> 

That precludes a unique constraint when its not.

Now, this would all be simpler if we coudl store it in multiple tables,
and then have a VIEW with a UNION ALL query to bring them all together.

But....

Bradley



More information about the developers mailing list