What you published, namely, that NULL in an external key, asserts a connection with all the rows in the table to which it refers is very non-standard. From head to head, I think this is fraught with dangers.
The fact that most people using NULL in FK means that it claims to refer to NONE from the rows in the reference table. This is often the case with optional relationships that may occur at zero time.
Example. We have an HR database with a table “EMPLOYEES”. We have two columns called "EmpID" and "SupervisorID". (Many people call the first column simply "ID"). Each employee in the table has an entry in the SupervisorID, with the exception of the CEO of the company. The CEO has NULL in the SupervisorID column, which means the CEO does not have a supervisor. The CEO is accountable to BOD, but this is not represented on SupervisorID.
What you can keep in mind with respect to all the rows in the table given in the table: this is a POSSIBLE relationship between the row in question and ANY ONE of the rows in the lookup table. When you begin to understand facts that are true in the real world, but unknown in the database, you open a whole large worm of worms.
source share