Qual é a melhor forma de construir o banco de dados?

Estou fazendo persistência de dados com mysql.

Até o momento, vinha construindo o banco diretamente no código.

Como não uso hibernate (por opção mesmo) cada classe alterada, exige que a classe construtora do banco sera alterada também.

Estou seriamente pensando em deixar a criação do banco com o dba, fornecendo um script de criação, e posteriores scripts de atualização, quando forem necessários, oque é facilmente obtido com o mysql workbench.

No caso de vocês oque vocês fariam ?

[quote=ezequiellorenzatti]Estou fazendo persistência de dados com mysql.

Até o momento, vinha construindo o banco diretamente no código.

Como não uso hibernate (por opção mesmo) cada classe alterada, exige que a classe construtora do banco sera alterada também.

Estou seriamente pensando em deixar a criação do banco com o dba, fornecendo um script de criação, e posteriores scripts de atualização, quando forem necessários, oque é facilmente obtido com o mysql workbench.

No caso de vocês oque vocês fariam ?[/quote]

É por isso que existem DBA ;D

Mesmo quando você usa Hibernate, a função do framework de criar as tabelas, não deve ser habilitada, porque é o DBA que deve criar as tabelas como também altera-las. Lembre-se que como no desenvolvimento você cria documentação e versões dos projetos, no banco de dados o DBA também vai manter uma documentação de controle.

No caso do mysql não é tão necessário o uso do DBA em si, é claro que na empresa onde vc trabalha se tiver DBA que cuida dos bds (oracle, mysql, sql server, etc…) tem que usufruir disto com certeza, porém quando se tem um projeto e o bd é mysql, na maioria das vezes é pq é free e não é tão dificil de se mexer…

Mas a questão não é se é fácil mexer no banco ou não.
A empresa dele tem um DBA como ele citou, então, independentemente do banco que ele usa, essa missão de mexer no banco é com o DBA.

DBA não é pra ficar criando tabela não…

Cara, se vc tah tendo que ficar alterando a tabela toda hora, tem algo errado. Pare, pense, modele todo o banco, depois programe… Vai com calma e fazendo a coisa certa…
Já que não está usando hibernate, veja td que precisará para seu banco de dados, tabelas e campos, pra depois comecar a criar suas classes Java…

Mas a questão não é se é fácil mexer no banco ou não.
A empresa dele tem um DBA como ele citou, então, independentemente do banco que ele usa, essa missão de mexer no banco é com o DBA.

[/quote]

observe em minhas palavras , eu disse assim:

[…] na empresa onde vc trabalha se tiver DBA que cuida dos bds (oracle, mysql, sql server, etc…) tem que usufruir disto com certeza […]

Mas a questão não é se é fácil mexer no banco ou não.
A empresa dele tem um DBA como ele citou, então, independentemente do banco que ele usa, essa missão de mexer no banco é com o DBA.

[/quote]

observe em minhas palavras , eu disse assim:

[…] na empresa onde vc trabalha se tiver DBA que cuida dos bds (oracle, mysql, sql server, etc…) tem que usufruir disto com certeza […]
[/quote]

Até por questões de segurança, pois na empresa onde trabalho, os desenvolvedores passam os scripts do banco para o DBA e ele é quem cria as tabelas (ambiente de produção), imagina se todo mundo tivesse permissão de ficar criando tabelas e mexendo nas funções do banco, iria ficar bagunçado.

Att.

Mas a questão não é se é fácil mexer no banco ou não.
A empresa dele tem um DBA como ele citou, então, independentemente do banco que ele usa, essa missão de mexer no banco é com o DBA.

[/quote]

observe em minhas palavras , eu disse assim:

[…] na empresa onde vc trabalha se tiver DBA que cuida dos bds (oracle, mysql, sql server, etc…) tem que usufruir disto com certeza […]
[/quote]

Ok, é que o final da sua declaração que me deixou confuso.

Peço desculpas por não ter sito muito claro.

O sistema está em desenvolvimento, e está em fase de testes e alguns ajustes são necessários.

E foi só nessa fase que percebemos que construir o banco de dados diretamente no código do java além de trabalhoso se torna problemático quando precisamos fazer alterações no código, porque se faz necessário alterar também a construção do banco.

Pela conclusão que tivemos criar o banco a partir da documentação, de forma externa ao código fica mais viável tanto em pequenos projetos, onde uma pessoa faz tudo, quando em projetos maiores onde existe um dba.

Pois a alteração de um banco já existente, a partir de um aplicativo gerenciador como mysql workbench, ou até phpmyadmin, fica mais simples de se fazer.

Pelo que pude resumir dos comentários acima acho válido extrair a criação do banco sim.

Caso alguém tenha comentários para adicionar vou continuar avaliando as opiniões.

Mas a questão não é se é fácil mexer no banco ou não.
A empresa dele tem um DBA como ele citou, então, independentemente do banco que ele usa, essa missão de mexer no banco é com o DBA.

[/quote]

observe em minhas palavras , eu disse assim:

[…] na empresa onde vc trabalha se tiver DBA que cuida dos bds (oracle, mysql, sql server, etc…) tem que usufruir disto com certeza […]
[/quote]

Até por questões de segurança, pois na empresa onde trabalho, os desenvolvedores passam os scripts do banco para o DBA e ele é quem cria as tabelas (ambiente de produção), imagina se todo mundo tivesse permissão de ficar criando tabelas e mexendo nas funções do banco, iria ficar bagunçado.

Att.[/quote]

Sim, concordo, pois dificilmente há na empresa DBA que cuidem apenas de mysql , com certeza estes cuidam de outros …

Mas a questão não é se é fácil mexer no banco ou não.
A empresa dele tem um DBA como ele citou, então, independentemente do banco que ele usa, essa missão de mexer no banco é com o DBA.

[/quote]

observe em minhas palavras , eu disse assim:

[…] na empresa onde vc trabalha se tiver DBA que cuida dos bds (oracle, mysql, sql server, etc…) tem que usufruir disto com certeza […]
[/quote]

Ok, é que o final da sua declaração que me deixou confuso.[/quote]

Tranquilo … estamos na mesma caminhada …