I have a specific application where users could have different roles. Apart from different permissions controlled by the business logic, certain roles of users need additional linked info. For example, the Requestors are linked to departments.
So the question is which is the better way to go aa far as the design goes: 1 User table with department_id linked to the Department table that will be null for non requestors. Role table with user roles UserRole linking table
2 User table Requestor table with department_id linked to departments and user_id linked to users Role table with user roles UserRole table
So, in other words, for the special types of roles that might need to have or be linked to additional data, do I create separate tables, or bunch all together inside the user table and handle the rest via the roles and the application logic?