none
Relacionamento de Tabelas no SQL SERVER 2008 - Estoque

    Question

  • Tenho duas tabelas no banco de sql Server 2008 R2

    uma tabela chamada TB_Produtos com os campos IDProduto (chave Primaria), Nome, Descricao, Preco, Fornecedor, Estoque

    e outra tabela chamada TB_Estoque que tem os campos IDEstoque (chave Primaria), IDProduto, data_entrada, quantidade documento. valor_unitario, valor_total

    O que eu quero saber na verdade não é como fazer o relacionamento dessas duas tabelas? Não onde devo ir para fazer o relacionamento, mas como deve ser feito esse relacionamento?

    Qual é o campo que devo ligar nas tabelas para elas interligarem corretamente?

     

    Thursday, April 22, 2010 8:37 PM

Answers

  • Ricardo, normalmente não se "usa" o saldo do estoque na tabela produto, não é eficiente, outra coisa se a informação que consta no campo ESTOQUE da TB_PRODUTO como a quantidade em estoque essa informação tá errada, o saldo em estoque deve ser o saldo anterior + entradas(de uma forma geral) - saidas (de uma forma geral). Geralmente a informação do saldo de um produto em estoque na data atual é gerada por uma view ou SP que é diferente quando de quer saber uma data retroativa.
    Friday, April 23, 2010 1:25 PM

All replies

  • Ricardo

    O campo para relacionamento é a PK da tbProdutos com a FK da tbProdutos na tbEstoque (que deveria ser o idProduto)

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    Thursday, April 22, 2010 9:08 PM
  • O relacionamento deve ser feito sempre por assuntos...

    Por exemplo...
    Valor_total, tem a ver com produto? (não)
    Valor_Unitário, tem a ver com produto? (não)
    Data_entrada, tem a ver com produto? (não)
    IDProduto, tem a ver com produto? (Sim!!!)

    lembrando que para fazer o relacionamento em ambos os campos, deve ter o mesmo datatype... do tipo:
    Tb_Produtos.IDProduto = int
    Tb_Estoque.IDProduto = int

    ok?

    Thursday, April 22, 2010 11:04 PM
  • http://uploaddeimagens.com.br/imagem/index/618ss.jpg

    eu fiz assim como na imagem acima!

    Okz... e na tabela TB_PRODUTOS pq existe esse campo ESTOQUE que dados iriam nele?

    sendo que a TB_PRODUTOS o campo IDProduto que é relacionado com o campo IDProduto da tabela TB_EstoqueEnt

    Friday, April 23, 2010 11:55 AM
  • Ricardo,
    Bom dia!

    Sobre o campo ESTOQUE: Não sei qual a estrutura real da sua tabela, mas pode ser quantidade daquele produto em estoque, ou até o próprio código do estoque onde o produto está armazenado. O ideal é você verificar o modelo relacional do banco de dados para entender o que este campo representa, ou então visualiza algumas informações deste campo para você analisar que informação é essa.

    Espero ter lhe ajudado.

    Grande Abraço,
    Gabriel B Azevedo | Especializando em Engenharia de Software e Banco de Dados|
    gabriel.ccomputacao@hotmail.com
    http://gbabarroso.spaces.live.com/default.aspx


    Classifique as respostas. O seu feedback é imprescindível. Obrigado!
    Friday, April 23, 2010 12:44 PM
  • Ricardo, aqui a imagem ficou bloqueada, mas se você está pensando no negócio estoque como um todo(as regras) o campo ESTOQUE que consta na TB_PRODUTO é o código do grupo de estocagem daquele produto, tipo Material de limpeza, Material de escritório...

     

    Friday, April 23, 2010 1:04 PM
  • na Tabela TB_PRODUTOS o campo Estoque está armazenando a quantidade em estoque, mas não sei como... se na tabela TB_Estoque existe o campo Quantidade... como o campo Estoque da tabela TB_Produtos sabe a qual o valor que está no campo Quantidade da tabela TB_Estoque?

    sendo que não é o campo Estoque da TB_Produtos que está sendo relacionado com a tabela TB_Estoque

    Friday, April 23, 2010 1:17 PM
  • Ricardo,
    Bom dia!

    Não tem nenhuma trigger que faz esse armazenamento de dados neste campo? Não possui nenhuma função dentro do aplicativo que alimenta esse campo no banco de dados? Como eu lhe disse acima seria interessante verificar o modelo relacional do seu banco de dados, caso exista.

    Espero ter lhe ajudado.

    Grande Abraço,
    Gabriel B Azevedo | Especializando em Engenharia de Software e Banco de Dados|
    gabriel.ccomputacao@hotmail.com
    http://gbabarroso.spaces.live.com/default.aspx


    Classifique as respostas. O seu feedback é imprescindível. Obrigado!
    Friday, April 23, 2010 1:20 PM
  • Como eu crio uma Trigger no banco de dados para atualizar o campo Estoque da tabela TB_Produtos de a acordo com o valor que está no campo Quantidade da tabela TB_Estoque?
    Friday, April 23, 2010 1:24 PM
  • Ricardo, normalmente não se "usa" o saldo do estoque na tabela produto, não é eficiente, outra coisa se a informação que consta no campo ESTOQUE da TB_PRODUTO como a quantidade em estoque essa informação tá errada, o saldo em estoque deve ser o saldo anterior + entradas(de uma forma geral) - saidas (de uma forma geral). Geralmente a informação do saldo de um produto em estoque na data atual é gerada por uma view ou SP que é diferente quando de quer saber uma data retroativa.
    Friday, April 23, 2010 1:25 PM