Suppose you have 2 different entities:
- Entity 1: PersonalNote - a note you create for yourself
- Entity 2: SharedNote - a note you share with someone else
A PersonalNote can also be viewed as a SharedNote that is shared with only yourself. So the database schemas for both of them can be identical or almost identical.
Is this enough of a semantic difference to justify going for a separate database table each or is it better to combine the two into the same database table since their schemas can be made to be identical (with one NULL field for one of them)?
One downside to 2 tables would be having a lot of similar looking code and almost identical but separate data classes. One downside to 1 table would be performance I suppose.
I've been thinking about this for a while now but I just can't decide which option to go for. And maybe I'm missing something crucial as well. What's the best choice here?