Note to future readers: the question has been greatly modified since this answer was posted. The second moment no longer makes sense
There are two answers to your question:
- You misunderstood the concepts of a table for hierarchy and a table for a subclass. They concern inheritance, not associations. Therefore, I can explain what these concepts really are.
- The database design that you consider can be recommended regardless of the first point.
1), ?
"--" "--", , . - . , , , :
PermanentEmployee ContractEmployee, Employee. ( ) ContractEmployee, PermanentEmployee ( )?
, , . , , , , , (, "CON" "PER", ). , , . , , " end_contract_date", .
: , , - , ( , /) .
2) ?
"--" "--" . , , (). --, , fk .
"--" , . , EmployeeDetails, . . , (, ).