Um bom banco de dados para aprender a usar jdbc

24 respostas
heberfa

Pessoal,

sou professo de java em um curso técnico, e estou estudando um bom banco de dados para introduzir os conceitos de jdbc sem ter que desfocar para ensinar configurar servidor de banco de dados e usar ferramentas especificas como é o caso do mysql,

bom estou muito inclinado a usar firebird ou postgree

qual é a opinião de vcs?
com qual banco de dados vc iniciaram?

vlw
Heber

www.heberfa.com.br
www.jungledigitalgames.com.br

24 Respostas

blackfalcon

Acho que voce nao gastaria muito tempo das suas aulas ensinando a configurar o MySQL.

Eu baixei uma apostila do MySQL, baixei o MySQL e aprendi a mecher nele… Nao sei mecher com Banco de Dados + Java ainda, mas creio que nao será muito dificil de ensinar seus alunos…

Creio que todas pessoas de seu curso tenha computador… Ate porque se nao tivesse para que estaria fazendo um curso de Java ne rsrs…

Entao, tem umas video aulas do Fernando Filgueiras muito boas para quem quer aprender a trabalhar com Banco de Dados, acho que seria interessante voce baixa-las e gravar em CDs para seus alunos ( caso nao for muito alunos) ou apenas passar o link para eles…

Mas sobre configurar o MySQL, acho que nao ira ser problema algum… Vamos ver a opniao da galera

Abraços

eduveks

E que tal H2DataBase ???

Com o H2DataBase vais poder ensinar todos os conceitos de base de dados…

  • Embedded
  • Client / Server
  • Cluster
  • In-Memory
  • Encrypted
  • ODBC Driver

Além de ter a sintaxe do SQL baseada nos padrões, não é como a sintaxe do MySql que deixa o povo mau acostumado, permitindo muitas más práticas.

No H2DataBase vc pode por exemplo ter uma tabela que esta ligada a uma tabela do MySql por exemplo, e outra tabela ligada a uma tabela em Oracle, e outra em SqlServer, tudo na mesma DB em H2DataBase, e ai vc pode usar as tabelas normalmente como se fosse do H2DataBase, ou seja ele tb faz ligações entre base de dados diferentes, o termo para este recurso é Linked Tables.

O H2DataBase tem muitos recursos, eu considero uma base de dados poderosa para o seu h2.jar de apenas 1MB, fazer tudo isto, e ser o Engine mais rápido em Java :stuck_out_tongue:

G

Acho o PostgreSql uma ótima opção.

Até porque a instalação dele é super simples ( Segue o padrão: Next > Next > Finish )

E já vem com um gerenciador visual muito bom, que é o PGAdmin onde é muito fácil
criar e configurar uma base de dados e ainda conta com a opção de instalar a versão em português.

agodinho

Cara, mySQL é muito bom, H2 tb. Mas, na minha opinião, nada melhor do quê usar o quê se usa em projetos parrudos pra fechar o circuito.

Eu sempre tento centrar meu conhecimento de banco em, pelo menos, 3 “vendors” diferentes.

  • Oracle/DB2 (pra projetos “enterprise”/grandes);
  • Microsoft SQL Server (pra projetos no meio termo);
  • MySQL (pra projetos pequenos, muito bom mas muito pouco aceito pra soluções “enterprise” se comparado com um Oracle).

Woody

PS: A instalação do Oracle é muito mal educada com java, A instalação do DB2 é um lixo (lembrem que o DB2 não veio originalmente do windows).

erickles

Eu prefereria o MySQL, pois é um banco bem usado no mercado, além de ser free.

Alexandre_Saudate

Eu usaria MySQL, pois, mais do que aprender Java, seus alunos têm que aprender a aprender (traduzindo: procurar no Google). E grande parte dos materiais de JDBC que existem na Internet são para MySQL!

Particularmente, sempre que preciso fazer testes e coisas assim, eu uso MySQL.

Rodrigo_Vieira_Pinto

Sou mais o postgree. Acho mais simples de usar.

quebrado

A minha opção seria o PostgreSql pois é facil de instalar e muito melhor que o mysql.
Mas também tem o Oracle XE que é muito bom também.
t+ e boa sorte.

heberfa

O problema de se usar Mysql, oracle,DB2,MSSQL e companhia em uma aula, é o tempo (hora/aula) que se gasta com a ferramenta , que poderia ser gasto em discussões mais proveitosas com relação a JAVA e JDBC.

Deixa essa questões especificas de banco de dados para as matérias de banco de dados, e focar em programação.

não concordam comigo?

vlw
Heber
www.heberfa.com.br
www.jungledigitalgames.com.br

P

Rapaz, eu acho que depende da formação que você quer dar.

Se você quer formar a galera em JAVA, usa um postgreesql da vida. Agora se quer formar o povo em banco de dados também, no minimo: mySQL. Se você passasse exercicios para serem feitos em casa e leitura de apostilas sobre o MySQL falando que a aula depende daquilo, acho que seria interessante.

Eu sou a favor do MySQL, sem duvida. Free, e parrudão.

Se bem que parece que o Oracle tem uma licença gratuita pra abaixo de 4gb de base de dados, ne?

valeu.

eduveks

Afff mas é para ensinar Java e JDBC ou é para ensinar como configurar/instalar/administrar um servidor de base de dados?

Acho q não entenderam bem a pergunta…

Para estudar todo o potêncial do JDBC, não venham com história, o melhor é um H2, Derby, HSQL, etc…

ESTUDAR!!! Estudando o H2DataBase por exemplo fica com certeza com know-how para tudo q é sistema de base de dados!

E na boa, MySql melhor q H2!!! ok… eu não acho e é o que a minha experiência confirma, em todos os projetos aqui estamos usado o H2 com ótimo sucesso e satisfação!

Percam o medo ou receio e testem o H2, tem meses que tem duas versões novas, quase todo mês sai uma versão nova, sempre melhorando e usamos o H2 a pelo menos a 2 anos, nunca perdemos uma DB se quer, e só precisamos voltar uma única vez um backup… e eu até hoje só detectei um bug, que reportei logo, e falei pelo GTalk com o principal developer e me enviou uma class q corrigia o problema em menos de 1 hora… há suporte melhor q isto?

P

eduveks:
Afff mas é para ensinar Java e JDBC ou é para ensinar como configurar/instalar/administrar um servidor de base de dados?

Acho q não entenderam bem a pergunta…

Para estudar todo o potêncial do JDBC, não venham com história, o melhor é um H2, Derby, HSQL, etc…

ESTUDAR!!! Estudando o H2DataBase por exemplo fica com certeza com know-how para tudo q é sistema de base de dados!

E na boa, MySql melhor q H2!!! ok… eu não acho e é o que a minha experiência confirma, em todos os projetos aqui estamos usado o H2 com ótimo sucesso e satisfação!

Percam o medo ou receio e testem o H2, tem meses que tem duas versões novas, quase todo mês sai uma versão nova, sempre melhorando e usamos o H2 a pelo menos a 2 anos, nunca perdemos uma DB se quer, e só precisamos voltar uma única vez um backup… e eu até hoje só detectei um bug, que reportei logo, e falei pelo GTalk com o principal developer e me enviou uma class q corrigia o problema em menos de 1 hora… há suporte melhor q isto?

Meu amigo, a questão é simples: Beleza, um gerente de projeto pode ver o H2DataBase com bons olhos. Mas será que ele confia plenamente? Por mais que voce diga que não exista, existe sim a questão da tradição de software. MySQL tem lá seus bugs sim, as vezes dá uns paus feios. Mas hã? É um risco a se correr. Agora convença um gerente de projeto a usar H2DB em um projeto novo para uma multinacional.

Quero ver se você vai ter esse suporte via gtalk daqui a uns 2 anois quando esse projeto crescer ainda mais ou se falhar. Todas as ferramentas possuem um tempo no qual a comunidade fica olhando o comportamento, etc. Ai entao, depois que esses anos de analise são terminados, ai sim que o povo começa a querer arriscar.

E também tem questão de manutenção. Vai em uma empresa grande que trabalha com Oracle e se candidate a vaga de programador dizendo que você é bom com H2DB mas nao conhece nada de Oracle. È regra de mercado, cara. E a maioria dos treinamentos segue essa base.

Vai em uma grande empresa que precisa de uma solução de BD, ofereça seus serviços com H2DB e deixe alguém oferecer com Oracle. Garanto que não é você que vai levar a oportunidade. Ao menos no iniicio, é bom seguir isso. Ninguém quer arriscar dinheiro. Nem eu, que se fosse pra entrar em um curso de Java escolheria H2DB. Pode ser uma solução nova, mas sem tradição.

È ridiculo mas é regra de mercado, temos que seguir.

blackfalcon

bom dia,
teria como passar o link com as video aulas do mysql que vc citou no topico?
ou passar o link.

att
Luis

Ele mandou um MP para mim pedindo o link das videos e preferi colocar aqui caso alguem queira possa baixar tambem:

http://www.bragafilgueiras.com.br/

Agora, primeiro voce tem que ver uma coisa. Seus alunos ja mechem com banco de dados? Sabe como funciona e tal?

Caso a resposta for nao, ai nesse link tem umas videos de ACCESS que aconselho eles assistirem…

Se souberem, passa direto pro MySQL.

Voce tem que pensar assim: Como ira pensar a pessoa que irar contratar esse meu aluno? Sera que ele prefiriria um MySQL ou postgree?

Acho melhor sacrificar uma ou duas aulas sua, que seja e eles sairem dai realmente sabendo… Voce vai apenas dar uma logica para eles, o resto é com eles…

A apostila que falei que li e talz, eu achei no apostilando, da uma olhadinha la…

Abraços

agodinho

A oracle tem demos (full) no site e versão pra student. Concordo que tudo depende do tempo disponível - mas se vc realmente quer ensinar jdbc não vejo como não falar de bancos e, IMO, os que citei são os principais.

agodinho

Concordo com o Sergio Figueras, não só pelos motivos de “tradição” que ele citou - tem toda a questão de base instalada, infraestrutura e suporte por detrás tb. IMO.

E qto a questão do melhor? Não existe melhor - tudo é relativo - melhor na verdade é aquele com o qual vc consegue atender seu cliente. Óbviamente isso tb é muito relativo pois vc pode atender bem apenas nos primeiros meses e se f. depois (aí entram as questões de infra, tipo : backup, cluster, mirror).

Pois é, parece simples, mas não é.

B

Eu usaria os Derby/Java DB que já vem com o Java 6.

Agora se quiser aprender sobre gerenciamento de banco, aí depende da escolha.

maior_abandonado

po mais ai depende…

eles ja tiveram aula de banco antes??? (ja perguntaram isso e vc nao respondeu…)

eu aconselharia vc a usar o banco q eles aprenderam na aula de bd…

se eles nao tiveram ainda eu aconselharia a seguir o q falaram ai de vc dexa uns material de banco com eles pra eles estudarem, e da uma ou duas aulas de banco…

outra coisa, é que como falaram, vc vai precisa disponibiliza uam ou duas aulas…pelo menos pra passa a instalação do banco e uns conceitos basicos…

eduveks

Sergio Figueras:
eduveks:
Afff mas é para ensinar Java e JDBC ou é para ensinar como configurar/instalar/administrar um servidor de base de dados?

Acho q não entenderam bem a pergunta…

Para estudar todo o potêncial do JDBC, não venham com história, o melhor é um H2, Derby, HSQL, etc…

ESTUDAR!!! Estudando o H2DataBase por exemplo fica com certeza com know-how para tudo q é sistema de base de dados!

E na boa, MySql melhor q H2!!! ok… eu não acho e é o que a minha experiência confirma, em todos os projetos aqui estamos usado o H2 com ótimo sucesso e satisfação!

Percam o medo ou receio e testem o H2, tem meses que tem duas versões novas, quase todo mês sai uma versão nova, sempre melhorando e usamos o H2 a pelo menos a 2 anos, nunca perdemos uma DB se quer, e só precisamos voltar uma única vez um backup… e eu até hoje só detectei um bug, que reportei logo, e falei pelo GTalk com o principal developer e me enviou uma class q corrigia o problema em menos de 1 hora… há suporte melhor q isto?

Meu amigo, a questão é simples: Beleza, um gerente de projeto pode ver o H2DataBase com bons olhos. Mas será que ele confia plenamente? Por mais que voce diga que não exista, existe sim a questão da tradição de software. MySQL tem lá seus bugs sim, as vezes dá uns paus feios. Mas hã? É um risco a se correr. Agora convença um gerente de projeto a usar H2DB em um projeto novo para uma multinacional.

Quero ver se você vai ter esse suporte via gtalk daqui a uns 2 anois quando esse projeto crescer ainda mais ou se falhar. Todas as ferramentas possuem um tempo no qual a comunidade fica olhando o comportamento, etc. Ai entao, depois que esses anos de analise são terminados, ai sim que o povo começa a querer arriscar.

E também tem questão de manutenção. Vai em uma empresa grande que trabalha com Oracle e se candidate a vaga de programador dizendo que você é bom com H2DB mas nao conhece nada de Oracle. È regra de mercado, cara. E a maioria dos treinamentos segue essa base.

Vai em uma grande empresa que precisa de uma solução de BD, ofereça seus serviços com H2DB e deixe alguém oferecer com Oracle. Garanto que não é você que vai levar a oportunidade. Ao menos no iniicio, é bom seguir isso. Ninguém quer arriscar dinheiro. Nem eu, que se fosse pra entrar em um curso de Java escolheria H2DB. Pode ser uma solução nova, mas sem tradição.

È ridiculo mas é regra de mercado, temos que seguir.

Claro… bem eu sou quem decide q base de dados usar e quais tecnologias por isso não tenho que dizer pra ninguem o que deve usar :stuck_out_tongue:

Apenas estava relatando o meu sucesso com o H2!

E a questão aqui é qual a melhor DB para estudar JDBC! E neste caso H2 ou Derby ou qualquer outra coisa em JAVA, é melhor do que MySql, Oracle, Postgre, etc, pois nestas DBs não vai poder estudar todas as capacidades do JDBC/DBEngines…

Não sei se sabe, mas não existe só o conceito de Cliente/Servidor…

eduveks

Leiam bem a pergunda do nosso amigo:

Será q deu para entender agora? Ler melhor as perguntas ajuda…

Então vamos lá… Oracle, MySql, Postgre, FireBird, etc é o ideal neste caso!? Acho q NÃO!

Volto a frizar que a melhor escolha neste caso seria H2, JavaDB, Derby, HSQLDB, etc… onde até nem é preciso instalar e configurar NADA!

J

Eu terminei JDBC a pouco tempo e meu professor focou a mesma questão ensinar sem ter que ensinar a usar um DB e suas ferramentas mas no final ele acabou usando o MySQL e ficou bem sólido o ensino pois fez a turma pensar de forma um pouco mais profissional na forma de usar o banco e tambem na minha opnião MySQL não é nenhum monstro pra configurar !!

agodinho

jrtl6, concordo. Essa preocupação toda com instalação/configuração é válida se vc realmente não manjar de nenhuma das tecnologias apontadas. A instalação do MySQL é ridiculamente simples, a do Oracle é ruim mas vc se acostuma e depois de memorizar os macetes vira mel na chupeta, exceto a do DB2 (que, essa sim, é o inferno na terra).

ANTES de finalizar sua escolha tenha certeza de verificar se há drivers 100% jdbc compliant ok?

heberfa

Pessoal, realmente eu tenho pouco tempo (hora/aula) para passa os conceitos, e já existe uma disciplina especifica de banco de dados no curso, que não é ministrada por mim, onde os alunos começam aprendendo access( como sempre) e no final do curso passam para mysql .
Mas quando eles apreendem jdbc, na matéria de BD eles ainda estão no final do access iniciando Mysql o que torna minha vida um inferno se eu usar mysql pois todas as duvidas dele são em relação a mysql e não a jdbc, e jdbc acaba ficando de escanteio ( admito que talvez tenhamos que altera o cronograma do curso mas isso não depende de mim).
Quanto aos alunos saírem sem uma experiencia em um bom banco de dados isso não acontece mesmo se eu usar Paradox no curso de java, pois bons DB são visto em disciplinas especificas.
E mesmo assim depois é quase só apreender a conectar o DB especifico com o driver certo, claro que cientes das características de cada um na hora de desenvolver os projetos.

Muito obrigado a todos
Esse fórum tem me esclarecido muito a respeito da minha decisão.

Heber

www.heberfa.com.br
www.jungledigitalgames.com.br

eduveks

eu não acho q o MySql seja o ideal para aprendizado, por que permite más práticas como já disse…

por exemplo tanto faz usar " ou ’ o que é muito ruim deixar o pessoal mau acostumado, depois chega num Oracle ou SqlServer e toma na cabeça!

acho q o MySql foge muito dos padrôes, até nas funções, tem muita coisa q só é dele e não é o padrão para todas dbs…

eu volto a frizar o H2, pois o H2 segue os padrões a risca…

lucifeler

eduveks voce poderia ser um bom vendedor :lol: , mas concordo com voce.
heberfa como ja há uma materia de banco de dados, comece por um destes H2, JavaDB, Derby, HSQLDB (ja dito anteriormente por outros), ai no final do curso, se houver tempo, faça a conexão com o MySQ, pois como voce mesmo disse eles ja terão aprendido MySQL. :smiley:

Criado 24 de junho de 2008
Ultima resposta 25 de jun. de 2008
Respostas 24
Participantes 14