My web app is going to have two types of users that are 100% different – in fields, functions, and purpose on the site. The purpose of one type of user is to post blogs, and the purpose of the other is to read them and “follow” the posters.
The ONLY stuff they have in common are the need for an id, email, password and a couple other bits of meta data such as date joined, etc.
Should I attempt to stem them from the same account table, or make one table for each?
NOTES
-One potential thing to think about is that, to prevent user confusion, I think emails between the two types of accounts should be unique.
-Readers and Authors will have different sets of data that will need to be stored about them aside from the normal “account” meta data.
I would separate them.
Over time your application will grow. Perhaps now you have two destinct roles – but it may change in the future. You may have authors that also follow other authors, or followers that are “upgraded” to authors. You might also start adding other “roles” and want something like this: