Although the dynamically typed technique described by Chris will probably work 
just fine and I have used myself in the past, it has a some draw backs.  

- it's complex
- selects with where clauses that involve more than one attribute will be slow
- it doesn't play nice with 3rd party database tools

The crux of the problem is that the data model essentially turns columns into 
rows.  This is the same thing the database catalog does.  So doing it again is 
reinventing the wheel.  An alternative solution is to create tables on the fly 
as new work out types are defined by the user.  This produces a conventional 
statically typed data model that doesn't have the problems above. 

CAVEAT: I've never been able to convince a DBA to give my application DDL 
rights, so I've never been able to put the idea into production. :(

_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
Help beta test TCLUG's potential new home: http://plone.mn-linux.org
Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery
tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list