brotherhood_of_LAN - 6:34 pm on Oct 8, 2012 (gmt 0)
It sounds like you'd be better off with separate tables to store the different sets of user, as with one table you may end up with fields that are not relevant to the other sets of users. With separate tables you can design the table for the individual requirements of that user set.
The only table I'd definitely share between them is a credentials table that'd store userid,username,password,session and user type.
Ultimately if you feel most of your queries will be the same for all users then a single/couple table approach would be better, otherwise the multi-table approach may add a layer of complication, but also adds more flexibility.