Olá pessoal,
tenho uma aplicação java e gostaria de armazenar os ítens dela em uma tabela em um banco de dados( local mesmo).
O problema é que estou meio confuso pois tem várias opções (JDBC, MYsql, PostgreSql,etc).
Alguem poderia me explicar a diferença entre eles e qual é a melhor escolha de banco de dados para Java ?
Eu usei alguns bancos de dados locais, na minha opinião o mais fácil de usar é o mysql, pelo fato de se ter o workbanch, facilita a criação de tabelas relacionamento, mas ele só é grátis até uma certa quantidade de armazenamento, Assim acontece com o Oracle e o DB2 se não me engano. Já o PostgreSql, pelo que sei, é um banco open source, se o programa for evoluir aconselho o uso de PostgreSql, se for usar na internet, postar o código, o MySql é o mais utilizado.
JDBC não é um banco de dados, é a API Java para acesso a bancos de dados. Ou seja, você vai acabar usando-o de um jeito ou de outro.
Com relação a escolher entre MySQL e PostgreSQL, se você ficar SQL básico as diferenças são mínimas. Mas no seu caso, já que a sua aplicação é local, eu consideraria um banco de dados embarcado, como o HSQLDB ou o JavaDB (antigo Derby, que inclusive, já acompanha o JDK). Com bancos embarcados, você não precisa instalar o banco de dados, basta enviar o .jar junto com a sua aplicação.
Como o rmendes08 disse, JDBC não é um banco de dados e sim uma api java pra trabalhar com o banco de dados.
MySQL e Postgres são os banco de dados relacionais mais utilizados pra projetos pequenos, ambos possuem um bom SGBD para gerencia-lo. Desconfio muito da afirmação que o rcarauta disse, onde o MySQL é mais usado. Pra PHP pode até ser, porém pra Java não sei. Ambos podem ser usados para aplicações web. Banco de dados roda no servidor, portanto não tem essa diferença, um é pra web, outro é pra desktop.
Oracle e DB2 são banco de dados mais robustos, com bem mais recursos, porém para projetos pequenos é muito pouco usado. DB2 é usado mais para mainframes.
Outro tipo de banco de dados, é o embarcado, como disse tb o rmendes08, usando ele, vc pode gerenciar seu banco até mesmo pela IDE, e é utilizado apenas para projetos muito pequenos e não distribuído
Hoje, o Banco de Dados mais fácil para poder aprender é o Postgresql.
Pois a interface é bem didática e a instalação é bem fácil.
JDBC é uma biblioteca responsável por fazer a interface entre o java e os bancos de dados.
Logo, JDBC não é um banco e sim uma API, como já foi dito em um post anterior.