Does Detalhes da tabela conter coluna ID em relação mestre-detalhe?
-
19-09-2019 - |
Pergunta
No mestre-detalhe, fazer detalhista tabelas contêm colunas ID?
Ou, deveria?
banco de dados Em Adamastor, OrderDetail não tem uma coluna de identificação.
Solução
Qualquer tabela de dados que você tem que contenha algo que você quer ser capaz de recuperar deve sempre conter uma chave primária - que é a sua tarefa principal:. Identificar uma única linha
Apenas porque os detalhes pertencem a uma linha mestre não significa que eles são linhas de dados não completos em si -. Eles precisam ser identificável de alguma maneira
Então, sim - Eu recomendaria a qualquer tabela de detalhes para ter alguma forma de uma chave primária ( "ID"). Se isso é de alguma forma ligado ao mestre-ID ou não é algo que você pode decidir, numa base caso-a-caso -. Mas não era para ser uma maneira de identificar cada linha de detalhes independentemente de alguma forma
Se você tem uma tabela de ligação para um M: relação N, tipicamente, você só tem duas colunas de chave estrangeira (para tabelas 1 e 2) em lá. Isso é geralmente bom o suficiente, uma vez que a combinação dos dois FK é único.
A única razão para adicionar uma ID separada para a mesa de tal seria se você precisa adicionar elementos de informação adicional que descrevem a relação per se. Mas, mesmo assim, desde que a combinação (key1, key2) é único, isso é geralmente bom o suficiente.