Pergunta

relações

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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top