Dúvida sobre chave estrangeira na tabela

Bom, tenho a seguinte situação:

Uma tabela de OC ( ordem de compra ) onde eu tenho vários atributos, porém tenho 2 atributos em específico que são chave estrangeira mais só 1 deles pode ser preenchido, se estivermos falando de DER sabemos que este é um daqueles casos de Exclusão e Totalidade (xt) onde você só pode fazer parte de um desses e somente 1. Os atributos são:

  • FUNCIONARIOID
  • DIRETORID

ou seja, esses dois campos são chave estrangeira, FUNCIONARIOID ( para a tabela FUNCIONARIO) e DIRETORID para a tabela DIRETOR, sendo que apenas 1 pode ser preenchido, sei que isso só pode ser feito via aplicação, porém se eu por eles como chave estrangeira e deixar null da erro. O que vocês me sugerem ?