none
Criação de Tabelas ( Orientação )

    Question

  • Colegas,

     

    Preciso criar as Tabelas de Vendas de meu aplicativo.

     

    Estou travado no ponto onde necessito que UM registro de uma determinada tabela faça referência para TRÊS da tabela principal, explico:

     

    Cada VENDA gera um registro na tabela de VENDAS também gravo um número ÚNICO de ROMANEIO na Tabela de VENDAS, ex: id 200 romaneio 773, id 201 romaneio 774, id 202 romaneio 775.

     

    Ao emitir UMA NOTA para os romaneios 773, 774 e 775 preciso gravar na Tabela de NotasFiscais um ÚNICO resgistro mas que faça referência ao id 200, 201 e 202, nem que eu tenha que ter uma tabela auxiliar só para isto.

     

    Alguêm já passou por este tipo de situação e teve alguma solução?

     

    Obrigado

     

     

     

    Tuesday, October 23, 2007 10:49 AM

All replies

  •  

    Quando vc. tem um relacionamento N-N, que e seu caso vc. precisa de uma tabela de suporte, neste caso nao vejo como nao usar a de suporte.

     

    Abs;

    Tuesday, October 23, 2007 10:52 AM
  • Marcelo.... muito obrigado por responder tão prontamente.

     

    Veja, minha tabela principal VENDAS terá 3 registros para estes 3 registros irei emitir uma única NOTA FISCAL ou seja um ÚNICO registro em VENDASNOTASFISCAIS, de alguma forma preciso fazer referencia entre estas informações.

     

    Estás referências precisam se manter inclusive para o caso de uma DELEÇÃO de um dos registros da Tabela principal ( VENDAS ).

     

    Não importa que tenho que criar uma ou mais Tabela de suporte, eu só não estou conseguindo ver a solução / relacionamento entre elas você poderia dar um exemplo dentro do cenária acima??

     

    Obrigado

     

     

     

    Tuesday, October 23, 2007 11:50 AM
  •  

    eu vejo que que referencia deve ser

     

    numnot + numproduto + romaneio -- como PK, relacionada cada um com a tabela correspondente, ( relacionamento forte ) para garantir a concistencia. ( pois o produto uma vez na nota fical tem que ser mantido nao pode ser deletado uma nota nao pode ser reemetida ela tem que ser cancelada e feita uma nova nota, assim vc. consegue manter a integridade )

     

    Abs. espero ter explicado. qualquer coisa retorne.

    Tuesday, October 23, 2007 11:57 AM
  • Marcelo

     

    Cada Tabela já tem seu próprio id ( PK )  ( Autoincrement ), agora veja deve ser comum em outros cenários emitir uma nota para vários romaneios dentro do conceito de banco de dados relacional.

     

    Minha questão é ( quais Tabelas preciso criar para este tipo de relacionamento? )

     

    Veja minha estrutura resumida OK:

     

    Vendas

    id ( PK ) ( Autoincrement ), int

    Romaneio int

    Data

    ValorTotal

     

    -----------------------------------------------------------

    VendasItens

    id ( PK ) ( Autoincrement ), int

    idVendas ( FK )

    idProduto ( FK )

    Quantidade

    ValorBruto

    ValorLiquido

    ICMS

     

    -----------------------------------------------------------

    DadosNF

    id ( PK ) ( Autoincrement ), int

    idVendas ( FK )

    CFOP

    Frete

    Valor Seguro

    DespesasAcessorias

    Trasportadora

     

    Obrigado

    Tuesday, October 23, 2007 12:17 PM
  •  

    entao pensei em pegar a chave de cada uma dessas tabelas e agupar em outra tabela, entao vc. tera uma tabela onde todas as colunas sao chave. ( nao lembro bem qual forma normal e isso 5º eu acho. ) so para manter a integridade e controle de quem e de quem. ]

     

    Abs;

    Tuesday, October 23, 2007 12:27 PM
  • Acredito que a melhor solução seria esta mesmo, criar uma tabela auxiliar com as colunas idVendasItens (FK) e idDadosNF (FK), ambas também como chave primária da tabela. Nela, você conseguirá relacionar quais os itens estão presentes em cada nota fiscal.
    Thursday, July 22, 2010 2:05 PM