I understand that in PostgreSQL if there is a multi-column FK from table
B to table
A and one or more of the FK columns in table
B are nullable then the FK is still considered as "honored" for the rows in
B where the value of such columns is indeed NULL with no check for the presence of a corresponding row in table
A (as primary key columns cannot be nullable):
However, is this PostgreSQL-specific or is it in the SQL standard? (experimenting with SQL Fiddle it seems that both MS SQL Server and MySQL behave in the same way).