Let us say I want to store on a database a userID, their nationality and if they are from the UK their UK passport number.
I could model this by having one table with userID as primary key, nationality as an attribute and the Uk passport number as an attribute , which exists only when the nationality is UK.
As an alternative I could have two tables, one with the userID as the primary key and the nationality as an attribute and a different table with UserId as the primary key and the Uk passport number as an attribute .
Is there a difference between these two designs given I use a document oriented schema-less database ? Both approaches have a O(1) query complexity and the only difference I can see is that on the first one if you want to retrieve the passport number you have to fetch the whole object. Is there another reason I should prefer the second approach which also seems a bit more complex to develop ?
I am interested in arguments on maintainability and scaling as well .