O DBDesigner 4 é uma ferramenta CASE (Computer-Aided Software Engineering) desenvolvida pela empresa Fabulous Force Database Tools. Esta ferramenta é livre e utilizada para a modelagem de dados visual que está disponível sob a licença GNU General Public License (GLP).
O DBDesigner é uma excelente opção para quem utiliza qualquer banco de dados principalmente MySQL, Oracle, MSSQL e PostgreSQL, mas obviamente não se limita apenas a esses. Através dele podemos modelar tabelas de forma gráfica, relacionamentos e muito mais. Utilizando este poderoso ambiente temos a geração da modelagem, do projeto, da implementação e da manutenção integradas em apenas um ambiente.
Após a modelagem, é possível nos conectarmos ao banco de dados, por exemplo, o banco de dados MySQL, para sincronização. Com o DBDesigner também é possível trabalharmos com os dados das tabelas.
Para fins de comparação com outras ferramentas o DBDesigner tem como principais concorrentes produtos como Oracle Designer, IBM Relational Rose e CA Erwin. A diferença para outras versões é que o DBDesigner tem bastante suporte tanto no fórum da ferramenta quanto na internet em geral devido a grande quantidade de pessoas que utilizam esta ferramenta, além de ser uma opção livre e disponível para diferentes sistemas operacionais. No entanto, o DBDesigner já está há um certo tempo sem receber atualizações muito em função do desenvolvedor principal da ferramenta ter sido contratado para trabalhar no Workbench que é mais um concorrente do DBDesigner. Felizmente para muitos que utilizam o DBDesigner e o consideram entre os melhores o projeto está sendo atualizado aos poucos por um grupo de desenvolvedores que poderão em breve lançar uma versão atualizada da ferramenta.
No restante do artigo veremos como podemos instalar o DBDesigner nas plataforma Windows e Linux, como é o seu funcionamento e quais são as suas principais ferramentas para gerar o modelo, imagens do modelo e geração de código SQL. Por fim, veremos como conectar e gerar o modelo diretamente num banco de dados MySQL.
Instalação
Para baixar o DBDesigner basta visitar o site oficial da ferramenta no endereço: http://www.fabforce.net/downloads.php
No site podemos escolher se queremos baixar uma versão para o sistema Linux ou Windows. Para Windows basta executar o arquivo após realizar o download e seguir os passos. Primeiramente devemos escolher a linguagem que queremos usar na ferramenta, conforme mostra a Figura 1.
Figura 1. Selecionando a linguagem utilizada na ferramenta.
Após selecionar a linguagem clicarmos em Next para prosseguir ao próximo passo. No próximo passo devemos aceitar os termos, conforme mostra a Figura 2.
Figura 2. Aceitando os termos da licença GPL do DBDesigner.
Após aceitar os termos e clicarmos em “Next” devemos selecionar onde o aplicativo deverá ser instalado, conforme mostra a Figura 3.
Figura 3. Escolhendo onde o aplicativo deverá ser instalado no computador.
Selecionado o local de instalação e clicado em “Next” para prosseguir devemos agora selecionar as ferramentas que desejamos que o DBDesigner instale juntamente com o programa principal, conforme mostra a Figura 4.
Figura 4. Selecionando as ferramentas a serem instaladas pelo DBDesigner.
Selecionadas as ferramentas e clicado em Next temos a tela para selecionar os atalhos a serem instalados para o DBDesigner, conforme mostra a Figura 5.
Figura 5. Selecionando os atalhos a serem criados.
A última opção da tela anterior pode ser selecionada se o usuário quiser que o DBDesigner disponibilize a ferramenta para múltiplos usuários de um mesmo computador.
Por fim, na última tela apenas confirmamos a instalação conforme as opções selecionadas nos passos anteriores, conforme mostra a Figura 6.
Figura 6. Confirmando a instalação do DBDesigner.
Após a tela da Figura 7, a ferramenta será efetivamente instalada no computador.
Figura 7. Progresso de instalação do DBDesigner.
Para Linux, precisamos descompactá-lo através do comando:
array0
nbsp;tarzxfsDBDesigner4.0.5.4.tar.gz
Após isso, devemos ir até o diretório onde ele foi descompactado através do comando:
array1
nbsp;cdcaminho_do_diretorio
Por fim, basta executar o programa:
array2
nbsp;./DBDesigner4
O DBDesigner será carregado e já podemos usá-lo.
Funcionamento
O DBDesigner deriva um Modelo Conceitual para um Modelo Lógico, para isso temos diversas opções que devem estar bem definidas e que devemos conhecer: o modelo conceitual deve estar normalizado (DBDesigner apenas modela e não normaliza as tabelas), derivação de relacionamentos 1:1 (DBDesigner cria uma cópia da chave primária de uma das tabelas como chave estrangeira da outra tabela), derivação de relacionamentos 1:N (DBDesigner cria uma cópia da chave primária da tabela com cardinalidade 1 como chave estrangeira da tabela com cardinalidade N), derivação de relacionamentos M:N (DBDesigner cria uma terceira tabela que liga as tabelas com cardinalidade M e N e nessa tabela serão usadas cópias das chaves primárias das duas tabelas, usadas como chaves primárias e estrangeiras), derivação de relacionamentos generalização/especialização (DBDesigner cria uma cópia da chave primária da tabela generalizada como chave estrangeira das tabelas especializadas resultando num relacionamento do tipo 1:N) e por fim temos a derivação de relacionamentos com atributos (relacionamentos 1:1 ou 1:N, que possuem atributos, decide-se como deve ser feita a derivação desses atributos antes de utilizar o DBDesigner, portanto o nosso modelo conceitual deve apresentar relacionamentos 1:1 e 1:N sem qualquer atributo, porém no relacionamento M:N não precisamos nos preocupar, pois o DBDesigner permite a inclusão de atributos no relacionamento).
Antes de tudo, um Modelo de um Banco de Dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados. Como um exemplo, poderíamos ter um modelo que informa que um banco de dados armazena informações sobre produtos e que, para cada produto, são armazenados o seu código, preço e descrição. Podemos verificar que o modelo não informa quais produtos estão armazenados e sim o tipo de informação que ele contém. Para desenvolvermos esse modelo precisamos de uma linguagem de modelagem de dados que podem ser textuais e gráficas e, além disso, podem ter diferentes níveis de abstração e objetivos.
O Modelo Conceitual é uma descrição de banco de dados independente de implementação. O modelo conceitual registra que dados podem aparecer no nosso banco de dados e não como estes dados estão armazenados no Sistema Gerenciador de Banco de Dados (SGBD). Este tipo de modelagem é mais alto nível e deve ser utilizado para envolver os clientes, pois tem-se como foco aqui discutirmos aspectos do negócio do cliente e não da tecnologia.
Por fim, o Modelo Lógico é mais baixo nível que o Modelo Conceitual e leva em conta algumas limitações além de implementar recursos como adequação de padrão e nomenclatura, definição de chaves primárias e estrangeiras, normalização, integridade referencial, entre outros.
Utilizando o DBDesigner
Ao abrir o DBDesigner 4 será exibida a tela da Figura 8.
Figura 8. Tela inicial do DBDesigner.
No centro da tela o DBDesigner apresenta uma pequena janela com algumas dicas referentes a plataforma. Se não quisermos mais exibir essa janela toda vez que o DBDesigner for iniciado basta selecionar a opção “Do not show tips on startup”.
De forma geral, o DBDesigner apresenta na tela principal da ferramenta a Paleta de Ferramentas (Palete Tools) à esquerda contendo as principais funcionalidades da ferramenta que explicaremos no decorrer do artigo, a Paleta de Navegação (Palete Navigation & Info) que permite a visualização, zoom e navegação de uma determinada região do modelo, a Paleta de Tipos de Dados (Palete Datatypes) que permite a visualização e definição de vários tipos de dados especificados para os campos das tabelas, e por fim, a Paleta do Modelo (Palete Model) que permite a visualização e definição de todos os objetos do modelo como tabelas, índices, relações, etc.
A área de trabalho em branco é onde devemos criar o modelo. Para criar o modelo vamos utilizar a barra de ferramentas vertical que está localizada à esquerda da janela. No entanto, antes de utilizar as ferramentas devemos fazer uma pequena configuração no DBDesigner para que ele apresente o modelo na forma esperada.
Podemos escolher diferentes tipos de notações para representar o relacionamento entre as tabelas, isso pode ser feito indo no menu “Display” e escolher a opção “Notation”, conforme mostra a Figura 9.
Figura 9. Configuração o tipo de notação a ser utilizada na modelagem.
Agora já podemos criar as tabelas correspondentes às entidades do nosso Modelo Conceitual. Para isso basta clicar no botão “New Table” na barra de ferramentas à esquerda, conforme mostra a Figura 10.
Figura 10. Criando uma nova tabela com DBDesigner.
Após selecionar o ícone de nova tabela basta clicar em qualquer parte da área de trabalho. Na área de trabalho será apresentada a notação gráfica da tabela, conforme mostra a Figura 11.
Figura 11. Tabela criada na área de trabalho.
Para excluir a tabela, basta selecioná-la na área de trabalho e pressionar o botão delete. Para configurarmos a tabela basta dar um duplo clique sobre a mesma e surgirá a janela “Table Editor”, conforme mostra a Figura 12.
Figura 12. Configurando a tabela selecionada no Table Editor.
A primeira configuração que devemos fazer é quanto ao nome da tabela, para isso devemos utilizar o campo "Table Name" e alterar o nome padrão configurado. No exemplo da Figura 13 configuramos o nome da tabela para "CLIENTE".
Figura 13. Configurando o nome da tabela.
Após isso, devemos configurar as colunas da tabela. Para isso basta clicar no campo destacado abaixo de “Column Name”, conforme destaca a Figura 14.
Figura 14. Configurando as colunas da nossa tabela.
Devemos atentar ao fato de que o DBDesigner atribui a primeira coluna criada como sendo a chave primária da tabela. Segue na Figura 15 a coluna “idCliente” criada.
Figura 15. Configuração da coluna que representa a chave-primária da tabela.
Após digitar o nome da coluna basta dar um ENTER para que ele possa ir para o próximo campo que é o “Data Type”. O “Data Type” é uma caixa drop-down que tem tipos de dados pré-definidos. Entre os diversos campos temos o “INTEGER” para valores numéricos inteiros, “FLOAT” para valores numéricos reais, “VARCHAR” para caracteres de texto de qualquer tamanho. O “VARCHAR” ajusta o campo de forma dinâmica, porém podemos definir um tamanho máximo para o “VARCHAR”. Para determinar um tamanho máximo temos as opções “Varchar(20)”, “Varchar(45)” e “Varchar(255)”. Caso seja necessário outro valor basta clicar num desses valores e editar o valor dentro dos parênteses para o valor desejado.
Podemos verificar ainda outras características que podem ser configuradas após o “Data Type”, são elas: NN (Not Null), AI (Auto Increment), Flags, Default Value e Comments. A opção "NN" significa que, quando selecionado, não é permitido deixar a coluna vazia. Colunas primárias sempre terão essa opção. A opção "AI" significa que os valores da coluna serão criados automaticamente pelo banco de dados. Normalmente utilizamos essa opção para colunas que são chave primária. A opção "Flags" é alterada automaticamente de acordo com o tipo de dado escolhido. A opção "Default Value" é utilizada quando queremos definir um valor padrão para uma coluna, mesmo quando nenhum dado seja configurado para ela. Por fim, a opção "Comments" serve para que possamos colocar comentários sobre as colunas criadas.
Finalizada a configuração da primeira linha podemos configurar as demais abaixo desta.
Na tela “Table Editor” podemos notar também a presença de uma chave bem na esquerda da coluna “Column Name”, isto indica que a coluna é chave primária, conforme mostra a Figura 16.
Figura 16. Representação de chave-primária.
Para as demais colunas podemos também configurar outras chave-primárias bastando clicar bem na esquerda, com isso podemos configurar e desconfigurar como chave-primária a coluna.
Finalizadas as configurações da tabela basta clicar no símbolo “V”, conforme mostra a Figura 17.
Figura 17. Confirmando as configurações da tabela criada.
Após a confirmação teremos a tela da Figura 18 na área de trabalho.
Figura 18. Tabela criada após as configurações realizadas.
Também podemos alterar a exibição das tabelas na área de trabalho através do menu “Display” que permite configurarmos a aparência da tabela como, por exemplo, exibir ou ocultar exibição da chave-primária, dos atributos, etc.
Para salvar o trabalho realizado até agora basta ir em "File" e "Save As", conforme mostra a Figura 19.
Figura 19. Salvando o trabalho realizado.
Para criar outras tabelas o procedimento é o mesmo bastando clicar no ícone correspondente da barra de ferramenta e fazer as configurações necessárias. Para fins de exemplificação criaremos a tabela conforme mostra a Figura 20.
Figura 20. Configurando a tabela Empresa.
Agora já podemos criar os relacionamentos entre as tabelas. Para isso, podemos utilizar os botões na barra de ferramentas conforme mostrado a Figura 21.
Figura 21. Relacionamentos que podem ser utilizados no diagrama.
O primeiro relacionamento é do tipo 1:N representado pelo botão "New 1:N Relation". Se quisermos relacionar duas tabelas basta clicar no botão de relacionamento e clicar na tabela desejada e após isso clicar na outra tabela que queremos relacionar.
Os outros botões podem ser visualizados apenas colocando-se o mouse em cima e assim o nome e tipo do relacionamento será apresentado. Um relacionamento que precisamos chamar a atenção é o botão "New N:M Relation". Nesse tipo de relacionamento teremos como resultado a criação de uma tabela de relacionamento entre as duas tabelas conforme já havíamos explicado no inicio do artigo. Segue na Figura 22 um exemplo de como ficaria o nosso banco de dados se utilizássemos este relacionamento entre a tabela Cliente e Empresa.
Figura 22. Utilizando o relacionamento “New N:M Relation”.
Podemos verificar que a tabela criada se chama “CLIENTE_has_EMPRESA”. Esse nome pode ser alterado apenas clicando duas vezes na nova tabela criada, após isso podemos fazer as configurações necessárias, conforme já fizemos antes para as tabelas Cliente e Empresa.
Outra situação interessante é que o DBDesigner nos obriga a dar um nome para o relacionamento. No exemplo acima temos os nomes “Rel_01” e “Rel_02”, para alterar devemos dar um duplo clique em cima do nome do relacionamento e fazer a alteração na tela “Relation Editor”, conforme podemos verificar na Figura 23.
Figura 23. Configurando as propriedades do relacionamento.
Quando utilizarmos o relacionamento "New 1:N Non-Identifying-Relation" devemos obrigatoriamente clicar em primeiro lugar na tabela com cardinalidade 1 do relacionamento e somente depois clicar na tabela com cardinalidade N. Se não fizermos isso o relacionamento será criado com a cardinalidade invertida.
Outro relacionamento que precisamos tomar cuidado é o "New 1:1 Non-Identifying-Relation", pois a criação do relacionamento é feita colocando uma cópia da chave primária de uma das tabelas como chave estrangeira da outra. Portanto, deve-se determinar em qual tabela será criada a chave estrangeira. Após isso, devemos clicar na tabela que cederá a cópia da chave primária e depois na tabela que receberá a chave estrangeira. Quando usamos esse tipo de relacionamento devemos atentar para o fato que o DBDesigner algumas vezes atribui o relacionamento como 1:N e não 1:1 como havíamos escolhido, isso ocorre pois o DBDesigner pode entender que usar uma chave primária de uma tabela como chave estrangeira de outra é característica de relacionamentos do tipo 1:N. Apesar do DBDesigner ajudar bastante na modelagem, algumas vezes ele pode atrapalhar, como nessa situação. No entanto, para resolver esse problema basta dar um duplo clique sobre o relacionamento e na tela "Relation Editor" alterar o "Relation Kind" para “1:1 (Non-Identifying)”, conforme ilustra a Figura 24.
Figura 24. Ajustando o tipo do relacionamento.
Após finalizarmos o modelo e salvá-lo, podemos manipular este modelo de diferentes formas como: Criar um arquivo de imagem do modelo ou ainda Criar um Script SQL para que seja gerado o banco de dados.
Para criar um arquivo de imagem do modelo basta ir em "File", após isso selecionar a opção "Export" e clicar em "Export Model as Imagen...", conforme mostra a Figura 25.
Figura 25. Criando uma imagem do modelo.
Após isso, devemos escolher um nome para a imagem e escolher um dos formatos, conforme mostra a Figura 26.
Figura 26. Salvando uma imagem do modelo.
Para auxiliar no processo de escolha de um dos formatos o PNG (Portable Network Graphics) foi um formato que surgiu em 1996 como uma alternativa ao formato GIF que era desenvolvido pela Unisys após anuncio da empresa Unisys que iria cobrar royalties dos desenvolvedores de softwares para trabalhos gráficos que suportassem o formato GIF. O PNG trabalha com esquema de 24 bits de cores, ou seja, 16,8 milhões de cores no total. O mais interessante é que em comparação com outros formatos muito populares como o JPEG ele tem uma compressão mais eficiente e que não proporciona perda de qualidade a cada salvamento. Outro grande ponto do PNG e por isso ele é tão largamente utilizado na internet é que o espaço requerido para imagens nesse formato são pequenos, podendo assim termos figuras de alta definição e com um tamanho pequeno. Além disso, o PNG oferece o recurso de transparência.
O outro formato disponível é o BMP (bitmap ou mapeamento de bits) que é conhecido por ser um formato de imagens mais "puro". No BMP não temos nenhum tipo de compressão e por isso temos uma qualidade excelente. Porém, por não usar nenhuma compressão o seu tamanho é muito grande. Imagens simples e pequenas chegam a ter megabytes de tamanho. O tamanho que uma imagem BMP terá pode ser calculado através da fórmula: número de pontos horizontais x número de pontos verticais x bits de cor / 8. O resultado será dado em bytes. Para obtermos o tamanho em KB basta dividirmos o resultado por 1.024 e para obter o resultado em MB dividimos o resultado por 1.048.576. Em "bits de cor", usamos 24 para imagens com 16 milhões de cores simultâneas, 16 para imagens com 65.536 cores, 8 para imagens com 256 cores e quatro para imagens com 16 cores.
Para criar um Script SQL para que possamos gerar o banco de dados basta exportarmos o arquivo diretamente para um formato de Script SQL que poderá ser posteriormente utilizado diretamente em um gerenciador de banco de dados que fará a criação do banco de dados. Para isso, devemos ir à opção "File", após isso selecionar "Export" e clicar na opção "SQL Create Script", conforme mostra a Figura 27.
Figura 27. Exportando o arquivo SQL para criação do banco de dados.
Após isso, será exibida a tela “Export SQL Script”, conforme mostra a Figura 28.
Figura 28. Tela Export SQL Script exibida na tela.
Nessa tela temos algumas opções como a possibilidade de copiar o script para a área de transferência (opção Copy Script to Clipboard), ou seja, copiamos para a área de transferência e depois colamos em algum editor, ou ainda podemos salvar o script em algum arquivo SQL (que pode ser usado no gerenciador de banco de dados) através do botão "Save Script to File". Temos como exemplo a Figura 29.
Figura 29. Exemplo de um modelo com duas tabelas e um relacionamento.
Utilizando a opção de geração automática do SQL temos o código da Listagem 1 gerado pelo DBDesigner.
Listagem 1. Exemplo de código SQL gerado pelo DBDesigner dada a modelagem realizada anteriormente.
CREATE TABLE CLIENTE (
idCliente INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR NULL,
PRIMARY KEY(idCliente)
);
CREATE TABLE EMPRESA (
idEmpresa INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
CLIENTE_idCliente INTEGER UNSIGNED NOT NULL,
nome VARCHAR NULL,
PRIMARY KEY(idEmpresa),
INDEX EMPRESA_FKIndex1(CLIENTE_idCliente)
);
Criando o Banco de Dados com DBDesigner
Para compatibilizar a modelagem que criamos no DBDesigner com um banco de dados não é difícil, apenas precisamos observar alguns detalhes nas definições dos campos e na exportação do script de criação, visto que os bancos de dados implementam os mesmos padrões SQL.
Após realizada a modelagem no DBDesigner, podemos ou apenas exportar o script para executá-lo na base de dados ou podemos conectar a base de dados instalando o driver ODBC ou fazendo uma conexão direta que o DBDesigner oferece.
Como já sabemos exportar o script de criação veremos como realizar a conexão com o banco de dados MySQL que é um dos bancos de dados mais populares e mais utilizados. A conexão com os outros bancos de dados é muito semelhante.
Primeiramente devemos baixar o MySQL no site oficial do MySQL no endereço http://dev.mysql.com/downloads/mysql/.
Após fazer o download do MySQL podemos executá-lo para começar o processo de instalação conforme mostra a Figura 30.
Figura 30. Configurando a instalação do MySQL.
Feito isso, a tela presente na Figura 31 será exibida para que o usuário possa selecionar se ele deseja instalar, atualizar, remover ou modificar um produto MySQL. Como queremos instalar o MySQL devemos selecionar a opção “Add/Modify Products and Features”, conforme os detalhes apresentados na Figura 31.
Figura 31. Tela de configuração dos produtos MySQL.
Após selecionar a opção para instalar um novo produto MySQL seremos perguntados se aceitamos os termos do contrato, basta selecionar “I accept the license terms” e clicar em “Next”, conforme mostra a Figura 32.
Figura 32. Aceitando os termos e avançando no processo de instalação.
No próximo passo devemos selecionar os produtos que queremos que o MySQL instale, para o nosso caso queremos apenas o banco de dados por isso selecionamos apenas o “MySQL Server 5.6.19” e clicamos em “Next”m conforme mostra a Figura 33.
Figura 33. Selecionando o MySQL Server 5.6.19.
Após isso, a próxima tela (presente na Figura 34) apenas contém algumas informações sobre requisitos adicionais a serem instalados. Apenas clicamos em “Next” para avançarmos para a instalação do MySQL.
Figura 34. Tela de confirmação para o processo de instalação.
Na próxima etapa basta confirmarmos o processo de instalação clicando em “Execute”, conforme mostra a Figura 35.
Figura 35. Executando a instalação do MySQL Server.
A imagem da Figura 36 mostra o processo de instalação do MySQL Server.
Figura 36. Processando a instalação do MySQL Server.
Após a instalação o MySQL Server, clicamos em “Next” para que possamos iniciar o processo de configuração, conforme mostra a Figura 37.
Figura 37. Configurando o MySQL Server.
Feito isso, o MySQL solicitará algumas configurações como a porta. Deixamos tudo como padrão e clicamos em Next, conforme mostra a Figura 38.
Figura 38. Configurando algumas opções do MySQL Server.
Na próxima tela configuramos a senha root do MySQL e repetimos a senha para confirmar. Também podemos configurar outros usuários que possam ter acesso a base de dados através da caixa “MySQL Root Password”, conforme mostra a Figura 39. No nosso caso iremos configurar apenas o root definindo a senha também como root.
Figura 39. Configurando a senha de root e usuários com acesso ao banco de dados.
Na tela da Figura 40 temos os últimos detalhes para ser configurados como: o nome do serviço no Windows, se desejamos que o MySQL seja iniciado ao inicializar o computador e detalhes da conta do usuário.
Figura 40. Configurando os últimos detalhes do MySQL Server.
Por fim, devemos avançar para que o processo de configuração seja iniciado e na próxima tela finalizamos a configuração, conforme mostram as telas das Figuras 41 e 42.
Figura 41. Processando as configurações anteriores.
Figura 42. Finalizando a instalação do MySQL Server.
Agora que o MySQL está em funcionamento podemos criar uma base de dados no MySQL Server. Após criar a base de dados no MySQL poderemos criar as tabelas a partir do DBDesigner. Para criar a base de dados, basta digitar o comando abaixo no console do MySQL Server:
CREATE DATABASE testeBanco;
Criada a base de dados podemos nos conectar nela a partir do DBDesigner indo no menu superior e selecionando “Database” e “Connect to Database” conforme mostra a Figura 43.
Figura 43. Selecionando a opção para realizarmos a conexão com a base de dados.
Na próxima tela devemos selecionar a opção “New Database Connection” para criarmos uma nova conexão com o MySQL Server, conforme mostra a Figura 44.
Figura 44. Criando uma nova conexão com o banco de dados.
Na tela “Database Connection Editor” configuramos os detalhes da configuração do MySQL Server, conforme mostra a Figura 45.
Figura 45. Configurando os detalhes da conexão com MySQL.
Para conectar na base de dados configurada acima basta selecionar a base de dados na tela “Select Database Connection” e clicar em “Connect”, conforme mostra a Figura 46.
Figura 46. Conectando na base de dados configurada anteriormente.
Após modelar a aplicação no DBDesigner podemos solicitar para que o DBDesigner implemente o modelo na base de dados selecionada na tela anterior. Para isso basta ir ao menu “Databases” e clicar em “Database Synchronisation”, conforme mostra a tela da Figura 47.
Figura 47. Sincronizando o modelo com a base de dados.
Vale ressaltar que o DBDesigner é um projeto que não recebeu atualizações ultimamente e por isso não suporta determinadas versões de base de dados. Uma dessas base de dados são as versões posteriores ao MySQL 4, ou seja, MySQL 5 em diante. Isso acontece porque o MySQL fez algumas alterações no seu sistema de login. Por isso se tentarmos conectar no DBDesigner e recebermos a mensagem da Figura 48 é um indicio que a versão do MySQL não é suportada pelo DBDesigner.
Figura 48. Problema ao conectar com a versão MySQL 5 ou superior.
No entanto, ainda assim podemos contornar essa situação através de um procedimento teoricamente simples. Basta restabelecermos a senha para o estilo da versão MySQL 4 para cada usuário que necessita utilizar o banco de dados através do DBDesigner. Portanto, para isso devemos utilizar o comando SET PASSWORD e a função OLD_PASSWORD() conforme o comando abaixo:
mysql> SET PASSWORD FOR 'username'@'localhost' = OLD_PASSWORD('novasenha');
A alternativa é usar UPDATE e FLUSH PRIVILEGES conforme abaixo:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('novasenha')
WHERE Host = 'localhost' AND User = 'username';
mysql> FLUSH PRIVILEGES;
Esse reset na senha é necessário, pois o MySQL utiliza um protocolo de autenticação baseado em uma senha com um algoritmo de hash que é incompatível com os clientes que suportam até a versão 4 do MySQL.
Mais uma alternativa seria utilizar uma conta criada no MySQL 4, com isso o MySQL 5 teria ainda essa conta registrada no modelo antigo e aceitaria a autenticação.
Se mesmo assim nada funcionar podemos pensar em utilizar um driver ODBC para criar a conexão com a base de dados MySQL 5, porém esse será um assunto para as próximas versões dos artigos que tratam sobre o assunto.
Referências
Site oficial MySQL Community, disponível em dev.mysql.com/downloads/.
DBDesigner 4, disponível em www.fabforce.net/dbdesigner4/.