We are implementing link tables, which refer to multiple hubs. dbtvault’s best practice is that “If the primary or ANY of the foreign keys is null, then the record does not get loaded” (Best Practices - dbtvault ). At the same time some people argue (Unknown keys (zero keys or ghost keys) in Hubs for Data Vault 2.0 - Roelant Vos ) that having NULL values are fine. What has been the rationale at dbtvault for not loading NULL values?
Coalesce nulls as zero keys (-1) value
Different to ghost records, different purpose
Nulls generally breaks a hash and can’t be used in primary keys
Optional portion of a relationships are loaded, otherwise how would you load 1:M relationships into links?