• Setting aside the fact that I'd rather normalize this further than just 1NF, I want to understand your argument better:

    Well, NULL should always mean "The database doesn't contain this value", so it would be used in the case where the value is applicable but unknown for one reason or another as well as in the case where there is no value because it's not applicable; if you want to be able to tell for certain that the value is inapplicable, you can't use NULL unless you can guarantee that there are no cases where the value is applicable but unknown.

    What you're suggesting is that in the case where "Person A: Cannot possibly have a phone number" it would be better to use a garbage value like 000-000-0000,

    but in the case where "Person A: Could have a phone number but we don't know it" you suggest to use NULL?

    What is the fundamental reasoning behind that decision? Is it simply based off the original definitions of NULL from Codd et al.?