My system has multiple user types e.g. customers, administrators, service users. Customers and service users have similar attributes but administrative users have a variation.
My current design has the users with common attributes (customers + service users) in a users table with a role attribute to identify the user type and a separate table for administrator users.
I'm wondering, would it be better/cleaner to create a separate table for each user type and forget the role attribute..that way there won't be this business of some user types being in the user table and another separate table for admins even though symantically an admin is a user etc...
In summary: is it better to have a separate table for each user type? what are the pros and cons..