Você está na página 1de 4

MySQL Workbench

Planejamento de bancos
ANÁLISE

de dados com o
MySQL Workbench
Planejar um pequeno banco de dados no papel é simples, mas a estrutura logo vai se
complicando quando mais elementos são adicionados. O MySQL Workbench pode ajudar
a manter as tabelas organizadas. por Falko Benthin

M
uitos aplicativos necessitam ramentas gratuitas normalmente são nais de bancos de dados. Os bancos
de algum tipo de banco oferecidas pelos próprios fabricantes de dados MySQL são muito usados
de dados. Quanto mais do banco de dados. As ferramentas por webdesigners e administradores
complexo o projeto, mais compli- comerciais geralmente suportam de sistemas. Mesmo que você seja
cadas, demoradas, tortuosas e com múltiplos bancos de dados, mas fer- apenas um desenvolvedor MySQL
tendência a erros ficam as estruturas ramentas de vendedores de bancos ocasional, irá perceber que uma
dos bancos de dados corresponden- de dados normalmente destinam-se ferramenta como o MySQL Work-
tes. Os fabricantes de softwares estão a seu próprio produto. O MySQL bench é muito útil e eficiente. Ele
cientes desse problema, o que explica Workbench [1], feito para ser usado usa a licença GPLv2 e se baseia na
a enorme quantidade de ferramentas com o sistema de banco de dados experiência e no feedback da fer-
de visualização para planejamento e MySQL, é uma dessas ferramen- ramenta de modelagem de dados
geração de banco de dados. tas. É uma ferramenta gráfica para DBDesigner 4 [2]. O Workbench
A escolha de ferramentas de visuali- planejar e editar esquemas MySQL. está disponível nas versões padrão e
zação é um tanto restrita no Linux. Os O sistema de gerenciamento de comunitária; a edição padrão difere
desenvolvedores podem optar entre bancos de dados MySQL não é so- da comunitária pelo custo de 79 €
ofertas gratuitas ou comerciais; as fer- mente para desenvolvedores profissio- anuais, capacidade de verificar esque-

Quadro 1: Instalação
Há pacotes binários do MySQL Workbench disponíveis para Ubuntu e Fedora [3]. Com sorte, é possível encontrar o
software em repositórios de outras distribuições ou de terceiros. Por exemplo, Norbert Tretkowski criou um pacote do
Workbench [4] para o Debian.

Se forem necessárias mudanças urgentes, é possível baixar o código-fonte da ferramenta, descompactar o tarball, ir
para o diretório criado por ele e ler o arquivo README antes de qualquer coisa. O arquivo lista as dependências do soft-
ware, além de outras coisas. É possível, então, montar o software por meio do comando:

./autogen.sh –prefix=caminho &&

make -j3 install

em uma janela de comando.

Será preciso substituir caminho pelo nome do diretório onde o software está sendo instalado. Essa instalação demorou
bastante no nosso laboratório, mas foi completada com sucesso, pois todas as dependências já haviam sido resolvi-
das.

50 http://www.linuxmagazine.com.br
MySQL Workbench | ANÁLISE

incluirá seus nomes e sobrenomes,


e uma coluna (atributo) com valo-
res inteiros para a chave primária.
Para criar a tabela, clique no ícone
no lado direito da janela ou apenas
tecle [T]. Após posicionar a tabela,
é possível usar as abas do editor de
tabelas para definir seu nome, os
nomes das colunas e dos tipos, qual-
quer chave estrangeira, os gatilhos e
as partições.
Cada um desses itens leva a mais
diálogos que permitem definir os tipos
dos dados, condições, chaves primá-
rias ou opções, caso se esteja usando
chaves estrangeiras. O software lista
os atributos abaixo do nome da tabe-
la no espaço de trabalho. Para cada
atributo, há um ícone colorido que
Figura 1 O MySQL Workbench inicia em um espaço organizado. permite identificar com facilidade
seu tipo. O ícone da chave aponta
mas e modelos de bancos de dados Relation – Entidade-Relacional Es- para uma chave primária, por exem-
e incluir documentação. tendido) ou entrar no esquema. O plo. Em nosso laboratório, levou um
A versão comunitária do MySQL método visual é mais simples para a certo tempo para o ícone mudar
Workbench inclui uma grande co- maioria dos usuários; por esse moti- após alteramos as colunas; em caso
leção de recursos. Administrado- vo, será o foco deste artigo. de dúvida, é sempre uma boa ideia
res e desenvolvedores de banco de Graças a controles intuitivos, o checar o editor de tabelas.
dados podem usá-lo para planejar aprendizado é simples. O espaço
tabelas, views, índices, stored proce- de trabalho possui áreas bem deli- Chaves estrangeiras e
dures e triggers; parsear esquemas
de bancos de dados existentes para
mitadas: à esquerda, há a caixa de
ferramentas com os passos usados
camadas
visualizá-los (“engenharia reversa”); com maior frequência; à direita, o Após criar a primeira tabela, é
sincronizar esquemas com bancos de navegador (muito útil no caso de um possível criar outras e definir as
dados existentes (“gerenciamento de grande banco de dados), o catálogo chaves estrangeiras, que mos-
mudanças”) e exportar e imprimir (que pode ser usado para acessar tram a relação entre os campos
modelos de diagramas. O MySQL tabelas, views e procedures) e uma de várias tabelas. Para criá-las,
Workbench é uma ferramenta para caixa de informações. Na base da use a caixa de ferramentas ou
estruturar um banco de dados; ele janela do aplicativo ficam os edito- o editor de tabelas. O programa
não suporta buscas ou alterações de res de objetos para os objetos criados ficou um pouco instável em nos-
dados (para isso, a Oracle oferece o ou abertos. so laboratório quando tentamos
MySQL Query Browser). Este artigo Vamos supor
usa a versão estável 5.1 do MySQL que queiramos
Workbench. criar um simples
banco de dados
Primeira vez de contatos para
Após instalar o MySQL Workbench manter um con-
(veja o quadro 1), inicie a ferramenta trole do que
digitando mysql-workbench na linha de emprestamos a
comando (figura 1). Com isso, será nossos amigos.
possível criar um novo modelo de Começaremos
banco de dados visualmente, através criando a tabe-
de diagramas EER (Extended Entity la Amigos, que Figura 2 As camadas ajudam a controlar grandes projetos.

Linux Magazine #67 | Junho de 2010 51


ANÁLISE  | MySQL Workbench

de Routines. O editor de rotinas irá


iniciar na base da janela, onde será
possível escrever a procedure (figura
3). O diagrama EER mostra apenas
grupos de rotinas. Crie um grupo e
arraste e solte as rotinas desejadas
para o Routine Group Editor (Editor
de Grupos de Rotina).

Engenharia reversa
Caso haja um modelo de banco de
dados pronto para ser usado, é pos-
sível enviá-lo diretamente para seu
banco de dados ou usar um arquivo.
Para isso, selecione File | Export |
Forward Engineer Create SQL Script
([Shift]+[Ctrl]+[G]), digite o nome
do arquivo (sem o nome do arquivo,
o aplicativo irá exibir o script mas
não armazená-lo) e, se for preciso,
Figura 3 O editor de rotinas aparece na base da janela. selecione as opções necessárias.
Em um segundo passo, o software
criar chaves estrangeiras com a diferentes quando o mouse passar perguntará quais objetos devem ser
caixa de ferramentas; recomen- por cima delas. exportados (figura 4) antes de final-
damos o uso do editor. Agora, vá Para controlar as áreas relacio- mente gerar o script.
para a aba Foreign Keys e crie uma nadas em grandes bancos de dados, Para transferir o modelo diretamente
chave estrangeira apontando para o MySQL Workbench introduz o para o servidor do banco de dados,
a primeira tabela. Para isso, basta conceito de camadas. Uma camada é preciso inserir os parâmetros da
clicar na caixa correspondente: o permite destacar com o uso de cores conexão ao servidor em Database |
MySQL Workbench irá sugerir várias tabelas, para agrupá-las visual- Manage Connections. Para enviar o
um nome para a chave estrangei- mente. Para usar as camadas, basta esquema recém-criado diretamente
ra e apresentará uma lista para ir à barra de ferramentas ou digitar L para o servidor, selecione Forward
selecionar as tabelas existentes no e passar o mouse por cima de todos Engineering sob Database. Com
banco de dados. O software exibirá os objetos que devem ser incluídos poucos cliques é possível enviar o
as candidatas na área ao lado do na camada (figura 2). banco de dados para o local desejado.
nome da chave estrangeira e tabelas O processo para utilizar mode-
referenciadas. Ao fazer isso, ele Rotinas los de bancos de dados já existentes
apenas sugere campos com tipos É possível usar diagramas EER para (“engenharia reversa”) também é
de dados possíveis. criar visualizações de modo similar bem simples. É possível executar
O Workbench normalmente cria à criação de tabelas, mas os proce-
relações que combinam com os tipos dimentos e funções armazenados
de dados. Por exemplo, um registro precisam ser definidos no esque-
Pessoas poderia apontar para vários ma físico, não em um diagrama. O
registros de endereços e de números MySQL Workbench também se refe-
de telefones – isso é chamado de re- re a procedures e funções armazena-
lação um-para-muitos. Se o tipo de dos como rotinas. Este exemplo usa
relação não estiver correto, clique uma pequena procedure que conta
na relação com o botão direito do o número de objetos emprestados
mouse e faça ajustes no editor de no momento. Figura 4 Alguns cliques permitem
relações. Quando uma tabela con- Para isso, iremos do diagrama EER especificar o que o MySQL
tém múltiplas chaves estrangeiras, para o modelo MySQL. Chegando Workbench deve incluir no
o programa irá realçá-las em cores lá, clique em Add Routine, abaixo script.

52 http://www.linuxmagazine.com.br
MySQL Workbench | ANÁLISE

um script SQL para importar o


modelo ou pegá-lo em um servidor
de banco de dados ativo. Existe um
assistente no menu Databases para
auxiliar neste processo. O programa
solicita os dados de conexão e o es-
quema que será obtido.
Caso o esquema contenha mais
de 15 tabelas, a visualização pode
ficar um tanto ruim: as 145 tabelas
importadas de um sistema de in-
formações de um hospital ficaram
muito embaralhadas, e foi preciso
fazer uma boa limpeza (figura 5).
Graças ao forward engineering e
à engenharia reversa, é possível usar
o MySQL Workbench para modifi-
car esquemas existentes e sincroni-
zar os bancos de dados resultantes
(Database | Synchronize Model, ou Figura 5 Importar um grande número de tabelas pode deixar o diagrama ERR
File | Export | Synchronize with SQL um tanto embaralhado.
Create Script).

Conclusões de bancos de dados. O MySQL esses recursos, os desenvolvedores


O MySQL Workbench oferece Workbench 5.2, que está para ser incluíram no aplicativo algumas
vários recursos muito úteis para lançado, suporta buscas no servidor partes do MySQL Query Browser e
planejar bancos de dados de larga e tarefas administrativas. Para obter do MySQL Administrator. n
escala. Porém, o software abusa dos
recursos da máquina e ficou bem
lento em alguns momentos, no
Mais informações
nosso computador não tão potente
(Pentium 4 2.5GHz com 1 GB de [1] MySQL Workbench: http://www.mysql.com/products/workbench/
RAM). Infelizmente, o programa
[2] DBDesigner 4: http://www.fabforce.net/dbdesigner4/
travou várias vezes, portanto, uma
função para salvar o trabalho auto- [3] Download do MySQL-Workbench:
maticamente em intervalos regu- http://dev.mysql.com/downloads/select.php?id=8
lares seria uma boa ideia. [4] MySQL Workbench para Debian “Lenny”:
O MySQL Workbench não foi fei- http://tretkowski. de/blog/categories/3-Debian
to para planejar bancos de dados em
outros sistemas de gerenciamento de [5] Database Visual Architect:
bancos de dados. Caso você trabalhe http://www.visual-paradigm.com/pro duct/dbva/
com outro sistema, considere uma [6] Sybase PowerDesigner:
ferramenta diferente, como o Data- http://www.sybase.com/products/mode ling-
base Virtual Architect [5], o Sybase development/powerdesigner
PowerDesigner [6] ou o velhinho
DBDesigner 4 [2]. Dito isto, caso
você deseje uma ferramenta gratuita Gostou do artigo?
para ajudar a projetar bancos de da-
Queremos ouvir sua opinião. Fale conosco em
dos MySQL, o MySQL Workbench
cartas@linuxmagazine.com.br
é uma boa opção. Ele possui bons
recursos que facilitarão a vida dos Este artigo no nosso site:
desenvolvedores e administradores http://lnm.com.br/article/3530

Linux Magazine #67 | Junho de 2010 53

Você também pode gostar