in reply to SQL Joins across Subclasses

If you suspect that further attributes might get added to the subclasses, you should break them out.

Otherwise I'd keep them in one table, with a 'type' field that specifies the subclass name. When you fetch the row you can bless it into the appropriate subclass. Then you'll only have accessors to the relevant columns, as defined by the subclasses. All in MVHO.