Em poucas palavras, temos duas tabelas:
Documento 1 (entidade forte)
Documento 2 (entidade fraca)
Document 1
tem muitos Document 2
e Document 2
tem apenas um Document 1
.
Dito isto, às vezes precisamos inserir um Document 2
no banco de dados, mas Document 1
nem sempre existe e isso está causando um erro de chave estrangeira.
Tudo bem se eu remover a restrição obrigatória de chave estrangeira, adicionar um Document 2
e associá-los mais tarde, quando eu finalmente inserir o correspondente Document 1
?
A associação ainda estará formalmente presente?
Além disso, isso pode causar algum problema no futuro, como um procedimento armazenado ou uma exibição parar de funcionar?
Tecnicamente, isso é factível, mas obviamente quebra a integridade dos dados entre duas tabelas
Document 1
eDocument 2
, que sua chave estrangeira ajuda a imporVocê também tem que:
A) adicione todos os registros/valores possíveis na
Document 1
tabela com antecedência, então, quando você inserir uma nova linha emDocument 2
, o valor já existirá emDocument 1
e a chave estrangeira não será violadaou
B) Não insira valores em , que ainda
Document 2
não existemDocument 1
Se você não conseguir nenhum dos itens acima (A ou B) - então qual é o sentido de ter uma chave estrangeira?