Role- id, roleName
Employee- id, name, surname
EmployeeRoles- id, roleId, employeeId
When the app is run the administrator would add the employee name and select all the roles that are applicable to the user. These roles are in the roles table so one employee could be IT, HR, Director, Marketing.
This information would be stored in the EmployeeRoles table.
Using this design means for me to get all roles for a particular employee I first have to query the EmployeeRoles table and get the employee ids and then make a second call to get the employee information.
Is there a better way to do this database design wise? I'm wondering if this database design is acceptable or if it can be improved? I don't think I would be able to create a View to have a join for both tables.