Database model data, not objects, and each table should model a relatively autonomous set of facts. The consequence of this is that your tables should look something like this:
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, ... }
An additional consequence is that the student can also be an employee who is likely to model real life closer than the graph of inheritance.
source
share