in reply to OO design and persistence

Much will depend on how you wish to access your objects. Do you wish to "run" them straigth from the persistence layer then it is most likely that you will indeed need multiple tables.

On the other hand if the persistence layer is only there to persist the data in your objects, then you could probably do with a "flat" database scheme which stores the serialized data and all you have to implement (with a little help from CPAN) is the routine to load /save the object data. Several serialization schemes exist (to name but two: Storable and YAML) and which one is best suited for you will depend on how complicated your data is and/or whether you wish to store the data in a human readable format or not.

CountZero

"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law