[RESOLVIDO] Dúvida de Iniciante - Banco de dados

5 respostas
M

Olá. Tentei pesquisar no fórum tópicos relacionados a minha dúvida, mas não encontrei nada…

A dúvida é a seguinte.

Eu estou estudando Java e banco de dados por conta própria. Sou iniciante. Pretendo desenvolver um aplicativo que armazene dados diversos em um banco de dados, como uma espécie de agenda eletrônica. A minha dúvida é que, tudo que eu leio relacionado a Java e Banco de Dados é que o Java faz uma conexão com o banco de dados. Ele não cria o banco de dados. Bem isso eu entendo. Usa-se o MySQL ou um outro servidor para controlar o acesso ao banco de dados… Aí é que está o dúvida: o Java não pode criar o banco de dados? Se a pessoa quiser distribuir a aplicação, por exemplo, terá que distribuir o MySQL junto? O cliente vai ter que ter o trabalho de instalar o MySQL e o aplicativo?

Sempre tive essa dúvida. Aplicativos como MS Outlook Express ou o KOrganizer, por exemplo, não usam bancos de dados? Pelo menos a ideia lembra um pouco banco de dados, pois são armazenados dados diversos, de várias maneiras (endereços, compromissos).

Muito obrigado pela ajuda.

5 Respostas

andbecker

de um jeito ou de outro o banco de dados deve ser implementado no cliente. qualquer pessoa que compre um software para manipular informações vai querer acesso aos dados, e o meio mais seguro pra se conseguir isso é armazenando em banco de dados.

vc até poderia gerar arquivos com conteudo adquirido, mas não teria proteção suficiente…

[pelo menos é o que penso]

Zeed01

Boa noite galera,

Se você não quer ter que levar um banco de dados junto poderia fazer o armazenamento até em um arquivo texto.
Claro que com isso tudo que diz respeito a segurança, controle de acesso, controle de transações teria que ser gerenciado pela sua app.

Se você esta falando de uma app do tipo agenda, mais para estudo que para fins comerciais, da para fazer, mas acho que é reinventar a roda… e com certeza vai sair uma roda meio quadrada, rsrsrs.

Melhor você estudar um pouco mais de banco de dados e suas vantagens…
E tem sempre a opção de usar um free, como o MySql ou até mesmo a versão free do Oracle, claro que, como disse antes, isso depende da finalidade da sua aplicação.

[]s

Adelar

Olá,
para aplicações pequenas até que é possível utilizar um banco de dados “embutido” na aplicação. Um exemplo é o SQLite, em que você cria uma conexão com o banco e tudo ficará em um arquivo, que deverá ser carregado junto com a aplicação.

Att.

java_aly

Existem algumas IDE’s que criam um arquivo de instalação para o usuario final!
Normalmente você não precisa se preocupar com o banco em si alem de
programá-lo pois depois de pronto dependendo da aplicação o arquivo de instalação
fica pequeno em MB.

M

Desculpem a demora para responder. Mas a dúvida, finalmente, foi resolvida!

Muito obrigado pelas dicas.

Com base em suas dicas, descobri várias coisas interessantes, que gostaria de compartilhar com o pessoal do fórum.

De fato, há soluções eficazes de banco de dados relacionais para aplicativos como os que pretendo desenvolver. Assim, para aplicativos que irão rodar em desktops, não há necessidade de rodar um servidor MySQL pesadão e complexo, por exemplo.

A dica do SQLite foi ótima. Realmente ele é simples, porém robusto. É um pequeno arquivo que podemos transportar junto com a nossa aplicação. Há drivers JDBC para o SQLite. Tem até sites ensinando a fazer o SQLite ficar embutido em nossa aplicação, como http://www.fonini.net/posts/17-usando-sqlite-com-java. Descobri, inclusive, um editor online que permite criar diagramas ER e depois exportar o resultado como script SQL para o SQLite.

Site do editor: http://sql.toolkit.com.br/

Entretanto, queria algo a mais. Pesquisando mais um pouco, descobri que é possível (já testei e já funcionou) embutir um banco de dados do OpenOffice em nossa aplicação. O processo consiste em extrair do arquivo .odb (arquivo de banco de dados do OpenOffice) os arquivos gerados pela engine de banco de dados do OpenOffice, que é o HSQL. O HSQL é similar ao SQLite: pode ser embutido em nossa aplicação Java. A diferença é que ele é totalmente escrito em Java, e o banco de dados do OpenOffice é baseado nele (interessante, não?). Para habilitar o HSQL em nosso aplicativo, basta baixá-lo e adicioná-lo ao nosso projeto.

Pois bem. Você deve saber que todo arquivo do OpenOffice na verdade é um arquivo compactado. É o caso do arquivo odb, também. Então, extraímos os arquivos pertencentes à pasta database, dentro do arquivo compactado. É a esse arquivo que nosso programa irá se conectar.

Achei isso muito interessante. Podemos modelar o banco de dados no BrOffice e depois usá-lo em nossa aplicação. Podemos até compactar e descompactar o arquivo odb usando código Java.

O site que explica esse processo detalhadamente é o seguinte (em inglês):

http://programmaremobile.blogspot.com/2009/01/java-and-openoffice-base-db-through.html.

Site do HSQLDB:

http://hsqldb.org/

Grato a todos.

Criado 1 de setembro de 2010
Ultima resposta 5 de set. de 2010
Respostas 5
Participantes 5