1
resposta

DÚVIDA EM PADRÃO DE NORMALIZAÇÃO

Me surgiu uma dúvida há qual não consegui resolver/responder, para exemplificar vou dar um caso de uso. Tenho uma tabela ITENS_PEDIDO que esta relacionada com a tabela PEDIDO e uma tabela PRODUTO(ID, NOME_PRODUTO) que esta relacionada com ITENS_PEDIDO. Conforme o sistema de vendas é alimentado tenho um histórico de pedidos e seus produtos vendidos, digamos que eu altere o NOME_PRODUTO, todos os produtos vendidos anteriores a mudança terão seus nome alterados por consequência da referencia entre a tabela ITENS_PEDIDO com PRODUTO. Existe algum pattern aonde eu conseguiria armazenar a integridade do NOME_PRODUTO sem afetar os pedidos feitos antes da mudança no nome do produto ?

1 resposta

Tem algumas saídas para isso:

  • você renomear o produto e armazenar (arquivar) os nomes anteriores em outra tabela. Assim poderia ter uma lista do tipo "esse produto já foi conhecido como..." sem ter que criar um novo registro (ID) de produto
  • você pode criar um novo ID de produto e alterar a tabela produto adicionando um campo ID_Anterior. Assim, cada novo produto tem uma relação com seu 'antecessor', permitindo também a busca histórica do dado