Você está na página 1de 4

MySQL Workbench

Planejamento de bancos
ANLISE

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 so adicionados. O MySQL Workbench pode ajudar
a manter as tabelas organizadas. por Falko Benthin

M
uitos aplicativos necessitam ramentas gratuitas normalmente so nais de bancos de dados. Os bancos
de algum tipo de banco oferecidas pelos prprios fabricantes de dados MySQL so 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 mltiplos bancos de dados, mas fer- apenas um desenvolvedor MySQL
tendncia 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 esto a seu prprio produto. O MySQL bench muito til e eficiente. Ele
cientes desse problema, o que explica Workbench [1], feito para ser usado usa a licena GPLv2 e se baseia na
a enorme quantidade de ferramentas com o sistema de banco de dados experincia e no feedback da fer-
de visualizao para planejamento e MySQL, uma dessas ferramen- ramenta de modelagem de dados
gerao de banco de dados. tas. uma ferramenta grfica para DBDesigner 4 [2]. O Workbench
A escolha de ferramentas de visuali- planejar e editar esquemas MySQL. est disponvel nas verses padro e
zao um tanto restrita no Linux. Os O sistema de gerenciamento de comunitria; a edio padro difere
desenvolvedores podem optar entre bancos de dados MySQL no so- da comunitria pelo custo de 79
ofertas gratuitas ou comerciais; as fer- mente para desenvolvedores profissio- anuais, capacidade de verificar esque-

Quadro 1: Instalao
H pacotes binrios do MySQL Workbench disponveis para Ubuntu e Fedora [3]. Com sorte, possvel encontrar o
software em repositrios de outras distribuies ou de terceiros. Por exemplo, Norbert Tretkowski criou um pacote do
Workbench [4] para o Debian.

Se forem necessrias mudanas urgentes, possvel baixar o cdigo-fonte da ferramenta, descompactar o tarball, ir
para o diretrio criado por ele e ler o arquivo README antes de qualquer coisa. O arquivo lista as dependncias do soft-
ware, alm de outras coisas. possvel, ento, 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 diretrio onde o software est sendo instalado. Essa instalao demorou
bastante no nosso laboratrio, mas foi completada com sucesso, pois todas as dependncias j haviam sido resolvi-
das.

50 http://www.linuxmagazine.com.br
MySQL Workbench | ANLISE

incluir seus nomes e sobrenomes,


e uma coluna (atributo) com valo-
res inteiros para a chave primria.
Para criar a tabela, clique no cone
no lado direito da janela ou apenas
tecle [T]. Aps posicionar a tabela,
possvel 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 parties.
Cada um desses itens leva a mais
dilogos que permitem definir os tipos
dos dados, condies, chaves prim-
rias ou opes, caso se esteja usando
chaves estrangeiras. O software lista
os atributos abaixo do nome da tabe-
la no espao de trabalho. Para cada
atributo, h um cone colorido que
Figura 1 O MySQL Workbench inicia em um espao 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 primria, por exem-
e incluir documentao. tendido) ou entrar no esquema. O plo. Em nosso laboratrio, levou um
A verso comunitria do MySQL mtodo visual mais simples para a certo tempo para o cone mudar
Workbench inclui uma grande co- maioria dos usurios; por esse moti- aps alteramos as colunas; em caso
leo de recursos. Administrado- vo, ser o foco deste artigo. de dvida, sempre uma boa ideia
res e desenvolvedores de banco de Graas a controles intuitivos, o checar o editor de tabelas.
dados podem us-lo para planejar aprendizado simples. O espao
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 frequncia; direita, o Aps criar a primeira tabela,
sincronizar esquemas com bancos de navegador (muito til no caso de um possvel criar outras e definir as
dados existentes (gerenciamento de grande banco de dados), o catlogo chaves estrangeiras, que mos-
mudanas) e exportar e imprimir (que pode ser usado para acessar tram a relao entre os campos
modelos de diagramas. O MySQL tabelas, views e procedures) e uma de vrias tabelas. Para cri-las,
Workbench uma ferramenta para caixa de informaes. 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
no suporta buscas ou alteraes de res de objetos para os objetos criados ficou um pouco instvel em nos-
dados (para isso, a Oracle oferece o ou abertos. so laboratrio quando tentamos
MySQL Query Browser). Este artigo Vamos supor
usa a verso estvel 5.1 do MySQL que queiramos
Workbench. criar um simples
banco de dados
Primeira vez de contatos para
Aps 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.
possvel criar um novo modelo de Comearemos
banco de dados visualmente, atravs 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


ANLISE | MySQL Workbench

de Routines. O editor de rotinas ir


iniciar na base da janela, onde ser
possvel 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-
svel 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
no armazen-lo) e, se for preciso,
Figura 3 O editor de rotinas aparece na base da janela. selecione as opes necessrias.
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 parmetros da
clicar na caixa correspondente: o permite destacar com o uso de cores conexo ao servidor em Database |
MySQL Workbench ir sugerir vrias tabelas, para agrup-las visual- Manage Connections. Para enviar o
um nome para a chave estrangei- mente. Para usar as camadas, basta esquema recm-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 includos poucos cliques possvel 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 possvel usar diagramas EER para (engenharia reversa) tambm
de dados possveis. criar visualizaes de modo similar bem simples. possvel executar
O Workbench normalmente cria criao de tabelas, mas os proce-
relaes que combinam com os tipos dimentos e funes armazenados
de dados. Por exemplo, um registro precisam ser definidos no esque-
Pessoas poderia apontar para vrios ma fsico, no em um diagrama. O
registros de endereos e de nmeros MySQL Workbench tambm se refe-
de telefones isso chamado de re- re a procedures e funes armazena-
lao um-para-muitos. Se o tipo de dos como rotinas. Este exemplo usa
relao no estiver correto, clique uma pequena procedure que conta
na relao com o boto direito do o nmero de objetos emprestados
mouse e faa ajustes no editor de no momento. Figura 4 Alguns cliques permitem
relaes. Quando uma tabela con- Para isso, iremos do diagrama EER especificar o que o MySQL
tm mltiplas 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 | ANLISE

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 conexo e o es-
quema que ser obtido.
Caso o esquema contenha mais
de 15 tabelas, a visualizao pode
ficar um tanto ruim: as 145 tabelas
importadas de um sistema de in-
formaes de um hospital ficaram
muito embaralhadas, e foi preciso
fazer uma boa limpeza (figura 5).
Graas ao forward engineering e
engenharia reversa, possvel 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 nmero de tabelas pode deixar o diagrama ERR
File | Export | Synchronize with SQL um tanto embaralhado.
Create Script).

Concluses de bancos de dados. O MySQL esses recursos, os desenvolvedores


O MySQL Workbench oferece Workbench 5.2, que est para ser incluram no aplicativo algumas
vrios recursos muito teis para lanado, 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. Porm, o software abusa dos
recursos da mquina e ficou bem
lento em alguns momentos, no
Mais informaes
nosso computador no to 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 vrias vezes, portanto, uma
funo 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 no 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 opinio. Fale conosco em
dos MySQL, o MySQL Workbench
cartas@linuxmagazine.com.br
uma boa opo. Ele possui bons
recursos que facilitaro 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