Q:

Setting up database structure for Students, Managers, and Administrators

I'm trying to figure out how to set up the structure for users.
Users can have multiple Managers and Managers can manage multiple Business Units. Administrators have full control of the system. 
I'm trying to figure out if I should separate the Users and Managers from the User table and have a table for Administrators and Managers or separate all three.
The Managers have multiple Business Units which a User can be managed by.  
Total amount of users could be estimated about 1,000. What do you think the best approach to this?  

A:

I think the best thing to do is this:
1. Have a User table.
2. Have a User_Role table.
3. Have a User_Assigned_Role table.
Since every user of the system is a user. There is no need separating users table-wise, that means if there is a new requirement tomorrow another table will emerge.
You can create roles like Student, Manager, Administrator and assign resources to these roles and afterwards assign the roles to users. So if you want Mr. A to be an Administrator, assign an administrator role to him.
Table Design
User Table
--------------
id
user_name
password
firs_name ...

Role Table
---------------
id
role_name
role_description
role_status (To deactivate or activate a role)

User Assigned Role Table
----------------------------
id
user_id (References User Table)
role_id (Reference Role Table)

Hope this solves your problem. Contact me if you need more clarification.

