Chaves estrangeiras permitem valores de chave que são todos NULL, mesmo se não houver chaves PRIMARY ou UNIQUE correspondentes
Sem restrições na chave estrangeira
Quando nenhuma outra restrição é definida na chave estrangeira, qualquer número de linhas na tabela filha pode fazer referência ao mesmo valor da chave pai. Este modelo permite nulos na chave estrangeira. ...
Restrição NOT NULL na chave estrangeira
Quando nulos não são permitidos em uma chave estrangeira, cada linha na tabela filha deve referenciar explicitamente um valor na chave pai, porque nulos não são permitidos na chave estrangeira.
Qualquer número de linhas na tabela filho pode fazer referência ao mesmo valor da chave pai, portanto, este modelo estabelece um relacionamento um para muitos entre o pai e as chaves estrangeiras. No entanto, cada linha na tabela filha deve ter uma referência a um valor de chave pai; a ausência de um valor (nulo) na chave estrangeira não é permitida. O mesmo exemplo na seção anterior pode ser usado para ilustrar esse relacionamento. No entanto, nesse caso, os funcionários devem ter uma referência a um departamento específico.
Restrição ÚNICA da Chave Estrangeira
Quando uma restrição UNIQUE é definida na chave estrangeira, apenas uma linha na tabela filha pode fazer referência a um determinado valor da chave pai. Este modelo permite nulos na chave estrangeira.
Este modelo estabelece um relacionamento individual entre o pai e as chaves estrangeiras que permite valores indeterminados (nulos) na chave estrangeira. Por exemplo, suponha que a tabela de funcionários tenha uma coluna denominada MEMBERNO, referente a um número de associação de funcionários no plano de seguro da empresa. Além disso, uma tabela denominada INSURANCE possui uma chave primária denominada MEMBERNO, e outras colunas da tabela mantêm as informações respectivas relacionadas a uma apólice de seguro de funcionário. O MEMBERNO na tabela de funcionários deve ser uma chave estrangeira e uma chave exclusiva:
Para impor regras de integridade referencial entre as tabelas EMP_TAB e INSURANCE (a restrição FOREIGN KEY)
Para garantir que cada funcionário tenha um número de associação exclusivo (a restrição de chave UNIQUE)
Restrições UNIQUE e NOT NULL na chave estrangeira
Quando as restrições UNIQUE e NOT NULL são definidas na chave estrangeira, apenas uma linha na tabela filha pode fazer referência a um determinado valor da chave pai e, como valores NULL não são permitidos na chave estrangeira, cada linha na tabela filha deve fazer referência explícita um valor na chave pai.