Существует несколько подходов, как сохранить иерархию объектов в базе данных отношения
Например, существует объект человека (20 основных атрибутов), студенческий объект (то же как человек, но несколько новых определенных полей присутствуют), сотрудник (то же как человек, но некоторые новые поля присутствуют), e.t.c.
Когда Вы совет использовать (а не использовать) следующие подходы моделирования данных:
Заранее спасибо!
База данных моделирует факты, а не объекты, и каждая таблица должна моделировать относительно самодостаточный набор фактов. Следствием этого является то, что ваши таблицы должны выглядеть примерно так:
person { person_id PK, name, dob, ... }
student { person_id PK FK(person.person_id), admission_id, year_started, ... }
employee { person_id PK FK(person.person_id), salary_bracket, ... }
Дополнительным следствием является то, что студент также может быть сотрудником, что, вероятно, моделирует реальную жизнь ближе, чем граф наследования.
Взгляните на документацию по отображению наследования гибернации . Здесь вы найдете три общих подхода и список плюсов и минусов каждого из них.