This is a very old question, discussed at some length by Martin Fowler in his book "Patterns of Enterprise Architecture." For a brief practical discussion, take a look at the Tangram docs for mapping inheritance. Tangram is the only Perl O/R mapper to handle this, AFAIK.