I'm trying to build an online learning system ( similar to Udemy ), where users have different types ( or roles ).
For now "roles" are : students , instructors and admins ,and it may increase in the future.Where each role has its own permissions.
A user can have 1 role or more, so a user can be a student of some course and an instructor of ( another course )
see below:
the problem : now, each role may have different fields ,for example: an instructor role has a unique field like "biography" which no any of the other user roles has.
how can this be accomplished with this database design , I was thiking of creating tables like:
**instructors_users Table**
user_id
some unique fields for instructors role
**students_users Table**
user_id
some unique fields for students role
Is this right ?