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?