Array List ou Relacionar Classes?

4 respostas
leandropl

Olá Pessoal!
Estou com uma problema que envolve java e mysql, quanto mais pesquiso, mais confuso fico!! Espero que possam me ajudar!!

Eu tenho uma tabela no meu Banco de dados MySql nomeada ‘Chamados’.
Dentro desta tabela existe um campo chamado ocorrencias do tipo TEXT.
O que ocorre é que este campo ocorrencias deveria receber dados ao decorrer do tempo, não tudo de uma vez.

É ai que esta o problema, como resolver isso? Só pensei em duas possibilidades:
1) Criando um campo do tipo “array_text” na tabela MySQL e criar um método update() no java que busque a tabela através de um ID e apenas acrescente um novo registro dentro deste array.
Pergunta: É possível criar um campo do tipo “array_text” dentro de uma tabela MySQL?? Se sim, que código java ou método seria necessário para localizar um determinado registro para apenas adicionar um novo dado dentro deste array?

OU:

  1. Criar um relacionamento um para muitos entre as tabelas chamados e ocorrencias sendo que dentro da tabela chamados, teria uma chave estrangeira ligando a tabela ocorrencias:


Desculpem o paint, estou sem ide para modelagem de dados aqui.

E após isso, implementar código java que seja capaz de localizar o id e a chave estrangeira da tabela, localizar a tabela de ocorrencias e adicionar um novo registro nela.

Pergunta: Nesta situação como poderia implementar tal tipo de código?

4 Respostas

aszarael

leandropl, pelo que entendi, você tem duas alternativas,
creio que você ter a segunda tabela amarrada a primeira, seja, o metodo mais adquado, inclusive na segunda tabela, colocaria um campo data.

Para você relacionar as duas, basta buscar o codigo da tabela pai, direto na segundo.
Pois pelo que entendi, no primeiro momento, você já possui o codigo da pai, e depois, utiliza no segundo.

Na duvida, pode fazer um select na primeira e buscar o codigo, para cadastrar na segunda.

att,

regis_hideki

leandropl:
Olá Pessoal!
Estou com uma problema que envolve java e mysql, quanto mais pesquiso, mais confuso fico!! Espero que possam me ajudar!!

Eu tenho uma tabela no meu Banco de dados MySql nomeada ‘Chamados’.
Dentro desta tabela existe um campo chamado ocorrencias do tipo TEXT.
O que ocorre é que este campo ocorrencias deveria receber dados ao decorrer do tempo, não tudo de uma vez.

É ai que esta o problema, como resolver isso? Só pensei em duas possibilidades:
1) Criando um campo do tipo “array_text” na tabela MySQL e criar um método update() no java que busque a tabela através de um ID e apenas acrescente um novo registro dentro deste array.
Pergunta: É possível criar um campo do tipo “array_text” dentro de uma tabela MySQL?? Se sim, que código java ou método seria necessário para localizar um determinado registro para apenas adicionar um novo dado dentro deste array?

OU:

  1. Criar um relacionamento um para muitos entre as tabelas chamados e ocorrencias sendo que dentro da tabela chamados, teria uma chave estrangeira ligando a tabela ocorrencias:


Desculpem o paint, estou sem ide para modelagem de dados aqui.

E após isso, implementar código java que seja capaz de localizar o id e a chave estrangeira da tabela, localizar a tabela de ocorrencias e adicionar um novo registro nela.

Pergunta: Nesta situação como poderia implementar tal tipo de código?

Se é possível criar um array no MySQL, não sei, mas sugiro usar a segunda alternativa, com uma alteração, pois a modelagem está incorreta.
Se 1 chamado possui N ocorrências, então o id do chamado é que precisa estar na tabela de ocorrências e não o contrário.

Como adicionar uma nova ocorrência a um chamado:

se você vai adicionar uma ocorrência a um chamado, significa que você já tem o id do chamado. Nesse caso, basta criar uma nova ocorrência e adicionar o id do chamado nesta ocorrência recém criada.

B

Olá leandropl,

o regis_hideki já deixou bem claro, pelo que eu notei vc e novo no java, sugiro vc a ler a apostila da caelum fj-11 disponivel no site gratuitamente e um excelente material e perquise também por Hibernate que é uma ferramenta ORM e vai facilitar muito a sua vida na hora de persistir seus dados no banco

leandropl

Pessoal, muito obrigado pelas dicas, eu segui a dica do Regis, fiz as alterações e consegui implementar o que eu precisava!!
Obrigado!!!

Criado 10 de março de 2015
Ultima resposta 11 de mar. de 2015
Respostas 4
Participantes 4