Looking for some database advice, I am building a niche industry jobs/careers site. There are 2 distinct types of users: candidates (who will create profiles, search for and apply for job postings) and employers (who will create a different type of profile, browse candidate profiles, and post jobs).
So let’s say that a candidate user profile has 10 fields and an employer user profile has 10 completely different fields. How should I design the User data type around this?
Option 1) should i have all 20 fields (10 for candidate and 10 for employer) in the user data type plus another field for Account Type (candidate or employer), and have the fields will be empty for a given user type?
Option 2) should I have separate data types for Candidate Profile and Employer Profile and then keep the User data type be really thin and only have it contain an account type attribute and then one to one data types for Candidate Profile ID and Candidate Profile ID to reference those profile data fields?
This is my main concern at the moment, but I also face a similar question about job postings, as there are 2 completely unrelated job posting types with completely separate data attributes. I could create 2 separate data types, one for each type of listing (they dont need to appear in the same queries ever), or I could have one listing type with lots of fields, half of which will be N/A for a given posting.