I am not sure i understand your last quote,
'A foreign key could be null, but if present should be the primary key in the parent table.'
for what i understand is that foreign key for one table is primary key for some other table & primary key cannot be null.
A foreign key could be null, but if present should be the primary key in the parent table.
eg. An employee need not be associated with a department in EMP table but if an employee has department say 01 then there should be a row with 01 as department number in DEPT table
This statement of Prasad is very much correct however i will make it more elaborative to make the picture very clear.
Suppose there are two tables in database named A and B. Primary key of A is foreign key of B. Now suppose if you are inserting a row in B and it is not mandatory that you need to keep a value for the foreign key column in B. It can be null. In that scenario for this row of B there wont be any relation with A. But if you are inserting the values for foreign key column in B then it is mandatory that the same value should there in primary key column of A.