Relacionamento Master/Detail
12/05/2008
0
Estou tendo dificuldades para encontrar uma forma alternativa de se fazer o relacionamento entre duas tabelas.
Vejam se podem me ajudar:
TABELA PAI: NOTACOMPRA
TABELA FILHA: ITENSCOMPRA
Preciso fazer um relacionamento ou alguma forma alternativa que me permita inserir itens em uma determinada nota que ainda não foi gravada.
Caso: O usuário esta inserindo uma nota, e como existe uma trigger/generator para fazer o auto-incremento, esta nota ainda ´nao possui´ codigo, que é o campo do relacionamento, e esta nota esta em modo de inserção.. gostaria que fosse possivel inserir itens nesta mesma nota sem ter que gravá-la para retornar o codigo do relacionamento.
Tentei fazer o relacionamento pelo numero da nota, mas encontrei muitos problemas pois o campo numero da nota é acessivel e manipulavel pelo usuario...
com o campo codigo, o qual o usuario nao manipula, seria perfeito.
o problema esta no momento em que o usuario necessita gravar a nota
sem itens nenhum, e posteriormente inserir itens nesta nota que ja possui um codigo...
alguem que conhece como geralmente é feito nesse caso ou ja passou por algo parecido, poderia me ajudar?
muito obrigado.
abraços.
Rb2228
Posts
12/05/2008
Rm
De qualquer maneira não recomendo relacionamento pai/filho que não seja pelos index e auto-incremental.
Espero que ajude, pois, como disse, não entendi bem qual é o teu problema.
13/05/2008
Rb2228
vou fazer como disse, mas existem alguns probleminhas quanto a isso, mas creio que não seja dificil de se resolver.
o problema é que a gravação dos itens independe da nota, isso ja sabemos, entao, se por exemplo o usuario insere 3 ítens e lembra que não eram 3 e apenas 1..
se ele for no cancelar alterações da nota, isso não fará com que a nota que antes foi alterada e nao tinha nenhum item, volte a ficar sem item.
o 3 ítens inseridos não fazem parte desse ´rollback´ ...
mas valew pelo toque, após 47 visualizações uma resposta... estamos caminhando.
acho que o ganho maior no seu topico foi a frase em que não aconselha o relacionamento por outros campos.
muito obrigado.
13/05/2008
Paulo
Não entendi a frase acima, mas tudo bem.
Eu gosto de trabalhar com meu banco bem consistido, ou seja, fazer uso de Constraint(Integridade Referencial). Nesse caso eu tenho a tabela de nota e a de itens da nota, recebendo a chave estrangeira da nota, pois não pode existir itens sem uma nota. A resposta do RM foi bem oportuna, ou seja, só gravo itesn se antes eu tiver uma nota gravada. Com relacionamento Pai/Filho é possível sim, desde que o banco esteja bem Normalizado. O campo NUM_Nota deve ser a chave da tabela nota e logo a FK da itens da nota. Dessa forma relaciona esses dois campos no seu Master/Dertail. Agora quanto a resposta, às vezes levamos tempo para interpretar as perguntas. Elas são mais complexas que a própria resposta em si. Por isso 47 visualizações para uma resposta...Este forum sempre caminhou e formou muitos programadores.
13/05/2008
Rb2228
obrigado pela ajuda, estarei implementadno segundo o auxílio de vocês.
tentarei nas proximas vezes, estruturar melhor minha dúvida, assim poderei não ter este tipo de problema.
mas ainda assim, é uma proporção bem elevada.
Clique aqui para fazer login e interagir na Comunidade :)