A child table can refer to either a primary or unique key. Let's consider the 2nd case, where we have a foreign key relating to a unique key in the parent table. We update one of the parent table's rows, making the unique key column NULL - what happens to a row, in the child table, that was referring to the old non-NULL unique key ? What happens to the integrity in this relation, knowing that unique keys can contain NULL values and that foreign keys can refer to one ? This is likely to be a classic question, but I could not quickly find the answer for it.
Thanks for your reply, but my issue still exists. I knew foreign keys can be null, but you said something I did not know: they CANNOT refer to null values. This goes together with what I thought would be reasonable, but the issue is:
Unique keys definition: Ensure no duplicate values exist for that column. MAY HAVE NULL VALUES.
Foreign key definition: Enforces a relation w... bla bla bla... here's what is troubling me, together with the caps above: MAY REFER TO EITHER PRIMARY OR UNIQUE KEYS.
So... I want to say "No, foreign keys cannot refer to NULL values", but, if my definitions are accurate, isn't it possible to have a relation between a Unique and a foreign key where... the Unique key is, at least, updated for given rows, receiveing NULL values...
So now the foreign key, which was refering to non-NULL values, is referring to these null values - because the relation was based upon a Unique key in the parent table, and a unique key accepts NULL.
Oracle would prevent you from changing the parent key to NULL, if you had a foreign key constraint in place (unless you've defined the foreign key constraint to either DELETE the child records, or convert their foreign key values to NULL).