Por que uma mesa separada para isso. Por que não criar um
BIT/Boolean campo diz IsMedical e defina isso como TRUE para funcionários médicos em employee mesa como /* Defines a generic employee */
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
IsMedical BIT(1)
);
Dessa forma, digamos, se você deseja obter todos os funcionários médicos de
Employee tabela; você só terá que fazer um único filtro em WHERE condição dizendo WHERE IsMedical = true . Considerando que, se você for por uma tabela separada, terá que executar um INNER JOIN com medical_employees e employees mesa que considero mais dispendiosa e desnecessária.