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).
MATCH SIMPLEbehaviour of foreign keys. Check the related question: http://dba.stackexchange.com/questions/58894/match-full-vs-match-simple – ypercubeᵀᴹ Nov 06 '14 at 13:37