Caros amigos, boa noite!
Talvez este tópico se pareça com algum outro, mas pelo que pesquisei não é.
Eu tenho uma janela de serviços em minha aplicação, onde vai nome do cliente, nome do funcionario e os serviços a serem realizados… Esses serviços são selecionados e jogados em uma jTable.
Aqui surge minha duvida:
Como armazenar todos esses serviços em apenas uma linha do banco de dados?
Por exemplo, na linha correspondente ao codigo 1, com o cliente fulano, foram realizados 3 serviços diferentes… EU vou precisar criar uma coluna para cada serviço??? Ou há uma maneira mais pratica do que ficar criando 1001 colunas no db?
Inserir Varias linhas de um jtable em uma linha do banco de dados
6 Respostas
Não sei se entendi bem sua pergunta…
Vou considerar que você tem, por exemplo, três colunas no banco de dados de tres serviços que alguém pode exercer.
Cê quer juntar os três no mesmo campo?
Se for isso mesmo, cria uma tabela pra receber isso, ou uma outra coluna e cria uma procedure pra inserir dados. Depois cria uma Trigger pra ficar alterando esse campo que vai receber os três serviços, sempre que inserir uma nova pessoa
Boa noite Sidimar, tudo certo?
Salvar todos os serviços em uma única Linha do Banco de Dados não é muito correto.
O ideal seria criar uma tabela separada com o nome de “ClientesServiços”, por exemplo.
E nela gravar o código do cliente em uma coluna, e o serviço em outra.
Nesse caso que passou seriam 3 serviços, mas imagine um cenários com 10 ou até 50 serviços.
Boa noite leomendes!
Pensando neste cenario que não optei por criar uma coluna para cada serviço!
Mas assim, armazenando o codigo do cliente em uma coluna(especificamente em uma linha) como eu armazenaria todos os serviços prestados para esse cliente? Como armazenaria 5, 10 serviços em uma mesma coluna, e linha?
Por exemplo preciso pra um mesmo cliente 1 armazenar o serviço 1, 2 e 3…
Se pudesse me explicar melhor, ficarei grato!
Vou lhe dar exemplos com imagens de uma aplicação que estou fazendo aqui. Vamos lá.
01 - Aqui tenho a abertura de um Contrato, por exemplo: http://i.imgur.com/xtlEFvh.png
Nela seleciono o cliente, e esse Contrato pode ter vários Serviços.
02 - No Banco de dados, os Serviços desse Contrato, salvo em uma Tabela separada: http://i.imgur.com/6Mwi4ke.png
Onde tenho apenas a pk da tabela (codigo), o valor que o serviço foi cobrado nessa contrato (valor), o código do Contrato (que é a pk da outra tabela (Contratos)), e o código do Serviço, que é pk de outra tabela também.
Note que na coluna “contrato”, os 3 serviços está com o Código 4. Logo, sei que todos esses serviços são desse mesmo contrato.
Dessa forma não me limita a nada, posso incluir 1000 Serviços nesse mesmo contrato que vou ter onde colocar.
Conseguiu compreender?
Obrigado a todos!
leomendes consegui compreender sim, muito obrigado!