Защо отделна таблица за това. Защо просто не създадете BIT/Boolean поле казва IsMedical и го задайте на TRUE за медицински служители в employee таблица като
/* Defines a generic employee */
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
IsMedical BIT(1)
);
По този начин кажете, ако искате да получите всички медицински служители от Employee маса; просто ще трябва да направите един филтър в WHERE условие, което казва WHERE IsMedical = true . Докато, ако преминете през отделна таблица, тогава ще трябва да извършите INNER JOIN с medical_employees и employees таблица, която според мен би била по-скъпа и ненужна.