Depends on application requirements
Typically, I would say that one-to-one relationships are modelled as columns in the table, there are however circumstances when this is too restrictive:
- Your schema changes often, and the application can customise the attributes of an object
- Performance isn't a concern and you are using views to create data layouts for abstract backend attribute storage
I have seen tables where 1->1 relationships are split across tables in vertical sharding and databases with heavy index requirements.
You can split and abstract to the point that you end up with something along the lines of an Entity-attribute-value structure .. which isn't always what you want (added complexity, performance) unless your application demands it. As marc_s says, you want to avoid this where possible.