At my company every foreign key has a NOT NULL constraint on it, and if it really needs to be null in some cases, a default value is assigned (like 999999) and given a row in the referring table like ...