in reply to How to handle relationships

I did something similar (though not in perl), my solution was to seperate the attributes of "things" into a table, each attribute a row in this table with a key pointing to the "thing" they belong to, because this way all tables of a certain type look the same and the layer provided for the coder can treat thes in a generic way

Basically:

table allowed_types | | table types_allowed_for_<thingname>_named | | | table <thing_name>_attributes-------table <thingname>_things

with a layer of two factories ("ThingFactory" and "ThingAttributeFactory" and generic Implementations of "Thing" and "ThingAttribute" and a way to select by value; not even the coder using this needs to know any SQL). There are a few admisnistrative tables left out of the diagramm.

It kind of works, the generated sql is hard to read but reasonable fast for an approach like this.

I hope this makes any sense to you, if not, forgive me; I struggled a lot for this "Not relational but possible in a RDBMS-thingie", and the approach of attribute-tables saved my day


regards,
tomte