I have two different types of employees for my database design, temporary and permanent. Temporary are paid by the hour whilst permanent employees are paid by a salary. My idea is to implement them by having an overall employee table which contains the NI number, email etc which describes them as an employee but have different salary tables for each one.
Though, I'm bent right now if I should just create two entirely new tables for Temporary staff and permanent staff members as that. As many of the temporary employees often are reoccurring my original supposed idea sounded ideal to the scenario but relooking at the design it seems almost messy to have.
If possible, could someone provide me with some constructive criticism on my methodology and if I should just separate the two types of employees into their own tables? To help understand I've posted the tables below
tempStaffPay
TempRoleID (PK)
Employee(FK)
HoursAssigned
Role (as there's two types of roles a temporary staff member may have)
PayRate
PermanentStaffSalary
PermanentID (PK)
EmployeeID (Fk)
Salary
EmployeeRole
EmployeeType (PK)
EmployeeID*
TempRoleID*
PermanentID*
Employee
EmployeeID (PK)
First Name
Last Name
NI number
Employee Type *
Phone
Address
Email