Ir para conteúdo
Fórum Script Brasil
  • 0

Insert e Delete Relação N:N


joao1245

Pergunta

Boa Tarde Pessoal,

Pessoal, tenho ainda duvidas na manipulação de relações N:N, gostaria de saber se poderiam sanar minhas duvidas.

Vamos supor que eu tenha uma relação n:n entre fornecedor e produto e entre fabricante e produto, ficando assim:

FORNECEDOR(ID,....)

FABRICANTE(ID,...)

PRODUTO(ID,...)

FOR_X_PROD(ID_FOR, ID_PROD)

FAB_X_PROD(ID_FAB, ID_PROD)

1-No processo de deletar um registro na tabela FORNECEDOR (sem considerar aquele processo de armazenar histórico, tipo deixar desativado), tipo eu terei que deletar este registro e também deletar todos os registros da tabela FOR_X_PROD que se relacionam com este?? Mas aí p produto ficará sem o fornecedor, em branco, pode isso???? Não violaria a integridade referencial ter um produto sem fornecedor???

2-E agora, tipo se eu quiser armazenar um histórico apenas desativando os registros através de um campo, tipo caso eu tenha que deletar um PRODUTO, eu terei que setar o campo "desativado" referente aquele produto na tabela PRODUTO e também terei que setar um campo "desativado" em todos os registros que se relacionam à aquele produto na tabela PROD_X_FOR e PROD_X_FAB ???

Pessoal, tenho algumas dificuldades em manipular relações N:N.

Desde já fico grato pessoal!!!!!!

Att,

Editado por joao1245
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Respondendo suas questões.

1) Não adianta ficar forçando uma resposta (como o post acima). Entendemos sua pressa e sua necessidade, mas somos voluntários e fazemos isto conforme nos sobra tempo.

2) Suas questões:

2.1)

1-No processo de deletar um registro na tabela FORNECEDOR (sem considerar aquele processo de armazenar histórico, tipo deixar desativado), tipo eu terei que deletar este registro e também deletar todos os registros da tabela FOR_X_PROD que se relacionam com este?? Mas aí p produto ficará sem o fornecedor, em branco, pode isso???? Não violaria a integridade referencial ter um produto sem fornecedor???

Você deverá fazer como você mesmo disse e, depois, deverá testar se o produto possui algum relacionamento. Se não tiver mais nenhum relacionamento então delete o produto, também.

2.2)

2-E agora, tipo se eu quiser armazenar um histórico apenas desativando os registros através de um campo, tipo caso eu tenha que deletar um PRODUTO, eu terei que setar o campo "desativado" referente aquele produto na tabela PRODUTO e também terei que setar um campo "desativado" em todos os registros que se relacionam à aquele produto na tabela PROD_X_FOR e PROD_X_FAB ???

Não há necessidade. Pois a inativação serve para informar, que aquele produto não aparecerá mais nas listas de outros cadastros, tais como nota fiscal, vendas, compras, etc. Mas aparecerá nos relatórios de históricos e outros.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...