For instance, let's say I have a User model. Users have things like logins, passwords, e-mail addresses, avatars, etc. But there are two types of Users that will be using this site, let's say Parents and Businesses. I need to store some different information for the Parents (e.g. childrens' names, domestic partner, salaries, etc.) than for the Businesses (e.g. industry, number of employees, etc.), but also some of it is the same, like logins and passwords.
How do I correctly structure this in a SQL-based database? Thanks!
--UPDATE--
After digging a little bit more, I'm thinking that a polymorphic association might actually make more sense. But I don't know a lot about them, is there a reason why I wouldn't want to use them, or that STI is better? It seems like they're exactly the same except that the fields specific to Parents or Businesses are stored in separate tables, which I think is what I would want. Isn't it?