در روش Joined برای هر کلاس یک جدول تعریف می شود و در هر جدول فقط ستون هایی که درکلاس آنها قرار دارد تعریف می شود و ستون های پدر در جدول مربوط به پدر تعریف می شود و fk جدول پدر در جدول فرزند قرار می گیرد، مزیت اصلی روش Joined این است که اطلاعات اضافی (redundant) ذخیره نمی شود و همچنین پایگاه داده در حالت نرمال (normalize) قرار دارد ولی مشکلی که ایجاد می شود این است که برای بازیابی کلاس های فرزند نیاز به join زدن است و این باعث کند شدن این روش می شود و همچنین برای ذخیره سازی کلاس های فرزند نیز نیاز به اجرای چند INSERT یا UPDATE است.
در روش Table Per Class نیز همانند روش Joined برای هر کلاس یک جدول تعریف می شود ولی بر خلاف روش Joined تمام ستون های خود کلاس ها و همچنین کلاس های پدر آن کلاس در هر جدول تعریف می شود. مزیت این روش این است که برای بازیابی اطلاعات نیازی به join نیست و همچنین در زمان اضافه شدن کلاس جدیدی به سلسله مراتب کلاس نیازی به جداول فعلی نیست (بر خلاف روش Joined) اما عیب اصلی این روش علاوه بر ذخیره اطلاعات اضافی (redundant) این است که محدودیت هایی در زمینه Polymorphic برای کلاس های غیر برگ (non-leaf) وجود دارد.