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

Modelagem e relacionamento


ClaudioX

Pergunta

Eae pessoal,

Estava fazendo a modelagem quando me veio uma questao: tenho uma tabela de Fornecedores, uma de Clientes e uma de Notas, se a nota for d saida, vai ser colocado um codigo de cliente na nota, se for de entrada, vai ser colocado um codigo de fornecedor.

O relacionamento entre elas como fica? faço uma tabela intermediaria que liga fornecedor e cliente a notas? crio uma tabela intermediaria para cada uma delas(fornecedor e cliente)? ou crio logo uma só tabela com fornecedores e clientes, e coloco um flag na tabela? ^^"

Por enquanto estou fazendo se relacionamento nenhum.. mas por isso, não to tendo muita confiança...

E já agradeço pela ajuda de sempre,

valeu mesmo!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'ClaudioX'!

A resposta para esta questão é o uso de um atributo container.

O atributo container é um atributo que ora recebe o valor de uma tabela, ora recebe o valor de outra tabela. Ele funciona, neste caso, auxiliado pelo atributo tipo da nota fiscal, que você mencionou, e que trata de informar quando uma nota é de entrada ("E") ou saida ("S").

O atributo container deve trabalhar da seguinte maneira: Qaundo o tipo de nota for "E"(entrada) então o conteúdo de forcli é o código do cliente e, quando o tipo de nota for "S" (Saída) então o conteúdo de forcli é o código do fornecedor.

O atributo container, deve ser do mesmo tipo e tamanho dos dos códigos de fornecedor e cliente. Por exemplo, se o código do fornecedor é do tipo integer unsigned, então o código do cliente deve ser, também, do tipo integer unsigned, assim como o atributo container deverá ser do tipo integer unsigned.

Um cuidado que você deverá tomar é de não estabelecer cláusulas contstraints para este relacionamento pois ele acusará erro se você cadastrar o código de um cliente e não houver o mesmo código cadastrado para o fornecedor e vice versa.

Outro cuidado deve ser feito na hora de recuperar os dados da nosta fiscal. Você não pode esquecer de colocar o tipo de nota fiscal na cláusula where de seus selects, pois correrá o risco de pegar um fornecedor quando quizer um cliente e vice versa.

Por enquanto é só. qualquer dúvida poste novamente.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...