As I've been building a prototype application, I originally created 3 different tables for the 3 kinds of users (people) in my app, but now I'm thinking that was a bad idea and it would make more sense to just have a single table of all people but have a column for their "Role" which I would leverage for what level of access they will have to datapages, etc.
To give a little more context, I currently have 3 tables:
School leaders (with profile fields that are pertinent to them)
Consultants (with profile fields that are specific to them)
Staff (internal staff who will ne