Banco de Dados

35 respostas
D

Estou começando a trabalahr com BD agora e meu conhecimento é puramente acadêmico.

Gostaria de saber de qual a minha melhor opção de BD para estudar a fundo, tendo em vista todas as qualidades que um BD pode ter e tb o $$.

Pesquisei sobre os bd mais comentados pelo forum (PostgreSQL, Firebird, MySQL…) mas não tenho a esperiência necessária para ponderar entre eles.

Pelo que vi o unico que pesquisei que tem suporte a OO é o PostgreSQL, isso pessa quando estou progamando com Java???

35 Respostas

cv1

No fim das contas, a menos que vc queira virar DBA ou especialista em algum DBMS específico, não vale muito a pena se matar de estudar um bd específico quando vc vai usar JDBC (que é uma camada única pra todos eles, e de certa forma trata a todos igualmente)… Para estudos, o MySQL ou PostgreSQL são ótimos - não estou dizendo que eles não são bons para produção ou em outras finalidades, só estou afirmando que eles são bons pra estudos -, mas vc pode usar RDBMSs ainda mais simples, como o Cloudscape ou hsqldb, que são feitos totalmente em Java, e por isso são bem fáceis de instalar e configurar.

[]'s
-cv

richardpeder

daniel…acredito que vale a pena vc estar dando uma olhada no Oracle…nem que for pra vc nao usar ele, mas acho que Oracle hj é bem conceituado…vale a pena!! :wink:

ate mais…

M

Eu particularmente uso o Firebird.
o Mysql é rapido, mas para produção não sei se da pra confiar, pois ele nao é um BD relacional, nem foreign Key que é básico ele nao tem…

o PostgreeSql eu instalei apenas uma vez… achei interessante e rapido, o problema que ele é free apenas para Linux e alguns clientes meus ainda usam um servidor Win2k, porque além do software nosso possuem outros softwares no mesmo servidor que precisam de windows…

o Firebird é free. relacional e vem do interbase que é relativamente bom para software de medios e pequenos portes.

o Oracle eu nao sei… alias, alguem sabe o preço do Oracle para uso comercial?

valeu

richardpeder

marco…em questao ao preço, ele eh caro…eu uso aqui onde trabalho oracle como banco de dados e a linguagem pl/sql…por isso citei ele…mas economicamente fica dificil para uma empresa que pretende economizar…
ate mais…

jack_ganzha

Sobre o MySQL, me parece que a versão 4 dará suporte a foreign key e tambem a transações.

valeuz…


jack_-_ganzha
www.javafree.com.br

smota

“marcos.ribeiro”:
Eu particularmente uso o Firebird.
o Mysql é rapido, mas para produção não sei se da pra confiar, pois ele nao é um BD relacional, nem foreign Key que é básico ele nao tem…

o PostgreeSql eu instalei apenas uma vez… achei interessante e rapido, o problema que ele é free apenas para Linux e alguns clientes meus ainda usam um servidor Win2k, porque além do software nosso possuem outros softwares no mesmo servidor que precisam de windows…

o Firebird é free. relacional e vem do interbase que é relativamente bom para software de medios e pequenos portes.

o Oracle eu nao sei… alias, alguem sabe o preço do Oracle para uso comercial?

ehehehe o Oracle esta um (ou vários) nível acima dos citados, não da muito pra comparar … ele custa em sua versão básica básica (bem básica mesmo) entre R$15.000,00 e R$20.000,00 (custava isso um ano atrás) pq depende da plataforma. (64 bits, 32 Win, Unix, Linux, etc.)

Já usei o mySQL e ele dá muito conta do recado, aliás se vocÊ pesquisar no Google vai ver sistemas de relativo porte usando o danado … é bastante estável, tem performance invejável … gosto muito dele.

Quando precisava de um true RDBMS usava o Postgreesql mas foram 2 vezes e com pouca coisas, nunca usei o Mysql_max que tem suporte a FK & Cia.
(a oratória do mySQL pela versão sem FK é que nem todos usam e o não suporte torna muito mais rapido, acho que acaba sendo verdade)

[]s

M

Ae smota

eu também acho que o mysql é mais rápido por não dar suporte a FKe cia…
eu ja trabalho com MySql a 2 anos, principalmente o conjunto mysql + php que pra mim esta perfeito… agora sistema mais robustos eu pretendo fazer em java…

o lance é o seguinte, o FK é usado bastante sim… vamos pensar em um software bem pequeno, com 3 tabelas… Clientes, Produtos, Vendas

na Vendas conterá o código do Cliente e dos Produtos… ae vc ja precisa usar o FK na tabela de Vendas para os Campos Cliente e Produtos, um simples software ja precisa de uma FK…

o MySql_Max eu nunca testei… o que eu mais gosto do MySql é que seu JDBC para java é muito show, que o firebird com seu interclient e firebirdsql não chega nem aos pés…

Sobre o Oracle… ilusão longeeeeeeeee para meus clientes, hehehehehehehehehehehehe

valeu ae

smota

O mySQL deveria ser adotado como banco de dados para ERPs porque eles não usam constraints (FK & cia) … SAP, IFS, etc. etc. etc. garantem integridade dos dados no próprio programa.

Meu projetos com mySQL tb fazem isso, então FK não é tão importante assim ehehehe.

Antes que me apedrejem … eu uso FK qd (muito) necessário pra garantir que nenhum mané vai destruir meu banco.

[]s

M

aee
vamo pedrejar o Smota
uhahuahuauhauhauhauhauh

concordo com voce… quando eu comecei a programar em clipper, o sistema era responsável pela integridade das informações.

mais um pouco vc me convencem que o mySql é o melhor do mundo (zueira), hehehehehe

bandrade

seguinte…

o mydqk tem suporte a FK e cia sim… só vc usar a tabela innoDb que te dá suporte.
o mysql tem uns 4 tipos de tabelas diferentes vc monta seu banco de acordo com a sua necessidade.
eu acho válido estudar o mySQL, ele não é um banquinho qualquer prá aplicação de pequeno e medio porte. ele é prá grande porte tb. o banco central do brasil usa ela, a nasa usa ele e um monte empresas grandes pra aplicações bem pesadas e ele da conta do recado.
além do mais, ele é free… tem uma comunidade gigante que te dá suporte e ajuda, e a qualidade é muito boa.

acho que se vc tá começando a mexer com BD, vale apena olhar o mySQL, e o Oracle pois acho q sao os melhores. num usa SQL Server não, todo dia aparece um bug de segurança nele (alguém lembra daquele virus codRed?)…

por hora é só

Paulo_Silveira

“bandrade”:
o mydqk tem suporte a FK e cia sim… só vc usar a tabela innoDb que te dá suporte.

mas ele nao faz o constraint neh? tipo, ele nao reclama se voce fizer besteira… pelo que sei, eles soh iam colocar a verificacao no 4.1

M

eu uso o mysql junto com o PHP

com o java eu usei uma vez pra testar o JDBC e achei show o JDBC do mysql…

esse lance de tabela innoDB eu nao conhecia…
vou dar uma estudada…

e como o amigo Paulo Silveira disse… vou criar uns tabelas testes e tentar fazer “besteira” pra ver se ele irá me acusar…

Oracle eu não tenho $tempo pra isso, ja que minhas aplicações são de médio e pequeno porte

bandrade

innodb faz constrants tb… ((:
mysql comanda… ehhehe
é possível fazer aplicação de grande porte com java e mysql, fica show… tudo free… daí vc vende o serviço/consultoria e não o software… acho que esse é que é o futuro…

Paulo_Silveira

“bandrade”:
daí vc vende o serviço/consultoria e não o software… acho que esse é que é o futuro…

esse eh o rpesente
soh a MS que ainda nao se ligou… :slight_smile:

bandrade

nãão;… muita gente ainda vende software, e a parte de ajuda/consultoria da Ms é muito boa, temos que concordar… vc quer tirar uma duvida, se nao tiver no msdn vc poded ligar la que eles resolvem seu problema…

nõ é que nem software livre que vc ajuda o cara a personalizar o software, + já é alguma coisa… e vindo da microsoft, pode ter certeza que ela vai investir muita grana nisso pq o tio bill é inteligente d+…

té,

D

Eu estava pesquisando no site do MySQL e pelo que vi por lá o MySQL é Free apenas para aplicações OpenSource, para fins comerciais vc tem que comprar a licença, que é quase U$ 500,00

D

Muito obrigado a todos que responderam as minhas dúvidas sobre Banco de Dados, andei pesquisando e acho que a melhor solução na relação Custo(FREE) x Benefícios fica entre o Firebird e o Interbase OpenSource.

Minha dúvida agora é apenas em relação as diferenças entre esses dois bancos, já que as raizes são as mesmas, pelo que pesquisei ambos são praticamente o mesmo BD.
Gostaria que alguém que conhece ambos pudesse me esclarecer isso.

Existe alguma diferença prática entre eles?

urubatan

A diferença entre o firebird e o interbase Open Source, é que a unica versão do Interbnase que é Free, é a 6.0, e ele melhorou muito na 6.5, ja o firebird, é open source mesmo, e continua sendo desenvolvido, até estou utilizando em um projetoa versão 1.5 que ta muito legal :slight_smile:

M

verdade isso? na página do mySQL tem?

o pessoal aqui estava até quase me convencendo em mudar para mySQL… se for assim vou continuar com meu firebird da vida, com seu driver JDBC pior que do mySql mas vamos dando um jeito nisso entao…

cv1

Cara, vc tem a url da página que diz que o mySQL “custa” $500 pra aplicacoes comerciais? Não tou achando…

M

procurei a não achei

unica coisa que vi la foi que o mySQL tem a licensa GPL só isso

duardor

You need to purchase commercial non-GPL MySQL licenses:

If you distribute MySQL Software with your non open source software,
If you want warranty from MySQL AB for the MySQL software,
If you want to support MySQL development.

Direto da pagina, ou seja se vc nao colocar sua solucao como codigo fonte aberto vc tera q comprar a licenca

Pra mim, o ideal eh desenvolver a aplicação com o mysql mesmo, e bolar algum tipo de mapeamento para qualquer banco de dados… Vejam algo sobre OJB, eh realmente muito interessante…

Abraços

cv1

“duardor”:
You need to purchase commercial non-GPL MySQL licenses:

If you distribute MySQL Software with your non open source software,
If you want warranty from MySQL AB for the MySQL software,
If you want to support MySQL development.

Existe um grande PORÉM aqui, que fica no entendimento da palavra “distribute”. Se voce nao distribuir o MySQL com o seu programa, então você nao precisa pagar absolutamente nada, e não há o que o pessoal do MySQL fazer, nem brigar ou argumentar com vc. Simples, mas mesmo assim, se você não gostar da idéia dessa restrição, diacho, vá pro PostgreSQL, SAPDB, Interbase OpenSource, Firebird, HSQLDB, whatever.

D

sobre as licenças do MySQL
http://www.mysql.com/products/licensing.html

Os preços das licenças comerciais enstão em
https://order.mysql.com/?sub=pg&pg_no=1

M

entao desenvolvo um software para um cliente meu…
monto o servidor dele la Linux, instalo o mySql como banco de dados… instalo o Tomcat, eu levo APENAS meus arquivos .class e ponho la, ele usa dos terminais o software… entao se eu fiz isso o meu cliente vai ter que pagar licensa para o mySQL???

se for SIM, por favor respondam, porque ae eu nem saiu do Firebird (mesmo o seu JDBC sendo pior que do mySQL).

valeu

cv1

Não. Voce nao distribuiu o MySQL, qm fez isso foi a tua distribuicao de linux :wink:

Plud

“Paulo Silveira”:
“bandrade”:
o mydqk tem suporte a FK e cia sim… só vc usar a tabela innoDb que te dá suporte.

mas ele nao faz o constraint neh? tipo, ele nao reclama se voce fizer besteira… pelo que sei, eles soh iam colocar a verificacao no 4.1

E tem mais um problema, na versão 4.1 com o InnoDB quando vc cria uma regra de integridade, não existe a possibilidade de exclui-la posteriormente com um drop, o manual diz que alterando qualquer dado de uma das tabelas a regra cai, mas não tem acontecido até a versão 4.1.12

bandrade

licencas mysql…

pessoas, sobre a licensa do mysql se vc vender um software junto com o mysql vc precisa pagar, se vc vender um serviço e desenvolver um software para te auxiliar e ele usar o mysql, vc num precisa pagar… é o meu caso.
´qualquer coisa, tem a aec em bh que é o unico ‘autorizado’ mysql do brasil, vou perguntar prá eles…

té,

R

usando mysql eh soh vc criar sua tabela do tipo innodb, ai funciona tudo e um pouco mais.
[]'s

:idea:

louds

Essa exigencia vale pros drivers também.

Então se tua aplicação for distribuida com os drivers do mysql ela tem que ser GPL ou possuir uma licensa comercial.

plentz

Nossa, tiraram do fundo do bau o tópico.

J

[color=“violet”][/color]
Olá

Estou trabalhando com o Firebird, que por sinal não tem auto-incremento. Eu precisei criar TRIGGER para esta finalidade. Um TRIGGER para cada tabela com somente um GENERATOR, ou seja, 1 contador para todo mundo. É a melhor prática?

Valeu

Jhenny

dsiviotti

“Jhenny”:
[color=“violet”][/color]
Olá

Estou trabalhando com o Firebird, que por sinal não tem auto-incremento. Eu precisei criar TRIGGER para esta finalidade. Um TRIGGER para cada tabela com somente um GENERATOR, ou seja, 1 contador para todo mundo. É a melhor prática?

Valeu

Jhenny

Não sei como você implementou 1 contador para todos. Normalmente se tem N tabelas, N triggers e N generetors. Um para cada.
Existe uma ferramente ótima para administração de IB/FB, não sei se você conhece: http://www.ibexpert.com . Com ela, coisas como autoincremento ficam realmente muito fácil de fazer.

I

BD free de verdade é o postgres, é bem robusto e já vi testes em que ele deixa pra tŕas até o famigerado Oracle e como em breve vai sair a versão para Windows é bom a Oracle tomar cuidado pois o postgres vai ocupar um grande espaço.

rogeriop80

“smota”:

ehehehe o Oracle esta um (ou vários) nível acima dos citados, não da muito pra comparar … ele custa em sua versão básica básica (bem básica mesmo) entre R$15.000,00 e R$20.000,00 (custava isso um ano atrás) pq depende da plataforma. (64 bits, 32 Win, Unix, Linux, etc.)

[]s

Sei que esse post é antigo na discussão, mas existe hoje uma versão para pequenas empresas chamada Standart One que custa cerca de R$3000,00.

Abraços.

Criado 11 de abril de 2003
Ultima resposta 31 de out. de 2004
Respostas 35
Participantes 18