Actually no, that’s not the question one asks in such a design exercise. You are describing the normal form of the data, not it’s access patterns based on actual use cases. It is never the case that implementation “should” reflect anything but usage requirements.