Banco de Dados ou XML

Pense numa aplicacao como se foce um cartao ponto onde vc tem os dias deste mes ai voce coloca para cada dia entrada da manha, saida da manha, entrada tarde e saida tarde qual seria a saida mais viavel banco de dados ou XMl atraves de preferences?

o esquema para guardar as informacoes seria mes/ano ai as colunas dia, entrada da manha, saida da manha, entrada tarde, saida tarde

essa discussão vai resolver o seu problema:

http://www.guj.com.br/forum/viewtopic.php?t=240

Depende da tua experiencia com cada fonte de dados, e o que vc vai precisar fazer com os dados. Manter tudo em XML deixa as consultas um pouco mais chatinhas de fazer… Por exemplo, se voce quiser pegar todos os funcionarios que chegaram 15 minutos atrasados entre n meses, voce teria que varrer todo o documento xml, fazendo varias comparacoes para encontrar os dados.
Com SQL, bastaria uma query basicamente simples para resolver isso…

Pq vc nao tenta com os dois? faz uma implementacao simples com XML e outra com banco de dados, e veja por si proprio qual lhe agrada mais.

Rafael

Seus dados precisam ser compartilhados por vários aplicativos escritas em diferentes linguagens?
Seus dados precisam ser compartilhados por várias plataformas?
Seus dados precisam ser apresentados de diferentes maneiras?
Seus dados possuem grande probablilidades de serem expandidos, alterar a extrutura?
Seus dados precisam ser mixados com dados de outros aplicativos?
Seus dados não são realmente seus?
Para você, flexibilidade é mais importante que eficiência?

Se você disse sim a umas duas perguntas acima, existe grande probablidade de XML ser a melhor alternativa para você! Caso contrário, use banco de dados.

Se a dúvida ainda persistir, talvez alguma alternativa como utilizar XML e Banco de Dados de forma conjunta também seja interessante. Algo como representar em Banco de Dados, realizar as consultas em SQL sendo que a resposta a essas consultas estejam em XML. Vários SGDBs existentes no mercado fornecem este mecanismo.

:wink:

[quote=“vamorim”]Seus dados precisam ser compartilhados por vários aplicativos escritas em diferentes linguagens?
Seus dados precisam ser compartilhados por várias plataformas?
Seus dados precisam ser apresentados de diferentes maneiras?
Seus dados possuem grande probablilidades de serem expandidos, alterar a extrutura?
Seus dados precisam ser mixados com dados de outros aplicativos?
Seus dados não são realmente seus?
Para você, flexibilidade é mais importante que eficiência?

Se você disse sim a umas duas perguntas acima, existe grande probablidade de XML ser a melhor alternativa para você! Caso contrário, use banco de dados. [/quote]

Achei interessante os pontos levantados por voce vamorim, mas creio que o caso esteja mais pendente para banco de dados. Estamos falando de dados - e bancos de dados foram feitos justamente para isso. XML tem suas utilidades, mas nao vamos generalizar (sabe, aquela velha historia da “salvacao da lavoura”).

Aqui existe uma “discussao” (na verdade uma entrevista com Andy Hunt e Dave Thomas) de certa forma relacionada com o que estamos conversando por aqui: http://www.artima.com/intv/plain.html

BTW, por que nao tentar o Prevayler (que parece ser a nova onda nos foruns de Java brasileiros ;-))? :smiley:

Marcio Kuchma

Pelo que o waa falou também acho que o mais provável que ele use banco de dados. Só que a meu ver, o papel de bd em sistemas computacionais já é bem definido. O mesmo ainda não podemos dizer sobre XML. Tentei aproveitar a deixa para falar um pouco de quando usar XML. Empolguei. :smiley:

Vou usar db meste primeiro momento para guardar os dados, xml estou usando para guardar os dados da conexao. Todos tem que concorda que e sao uma dupla perfeita.
some o java ai voce precisa de um so de verdade