Como lidar com um relacionamento "OU" em um design de ERD (tabela)?

Estou criando um pequeno banco de dados para um projeto pessoal e uma das tabelas, chame de tabelaC, precisa ter uma chave estrangeira para uma das duas tabelas, chame-asA eB, diferindo por entrada. Qual é a melhor maneira de implementar isso?

Ideias até agora:

Crie a tabela com dois campos de chave estrangeira anuláveis conectando-se às duas tabelas.Possivelmente com um gatilho para rejeitar inserções e atualizações que resultariam em 0 ou 2 nulos.Duas tabelas separadas com dados idênticosIsso quebra a regra sobre duplicação de dados.

Qual é a maneira mais elegante de resolver esse problema?

questionAnswers(2)

yourAnswerToTheQuestion