Вы находитесь на странице: 1из 4

50

http://www.linuxmagazine.com.br
A
N

L
I
S
E
MySQL Workbench
Planejamento de bancos
de dados com o
MySQL Workbench
M
uitos aplicativos necessitam
de algum tipo de banco
de dados. Quanto mais
complexo o projeto, mais compli-
cadas, demoradas, tortuosas e com
tendncia a erros fcam as estruturas
dos bancos de dados corresponden-
tes. Os fabricantes de softwares esto
cientes desse problema, o que explica
a enorme quantidade de ferramentas
de visualizao para planejamento e
gerao de banco de dados.
A escolha de ferramentas de visuali-
zao um tanto restrita no Linux. Os
desenvolvedores podem optar entre
ofertas gratuitas ou comerciais; as fer-
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
ramentas gratuitas normalmente so
oferecidas pelos prprios fabricantes
do banco de dados. As ferramentas
comerciais geralmente suportam
mltiplos bancos de dados, mas fer-
ramentas de vendedores de bancos
de dados normalmente destinam-se
a seu prprio produto. O MySQL
Workbench [1], feito para ser usado
com o sistema de banco de dados
MySQL, uma dessas ferramen-
tas. uma ferramenta grfca para
planejar e editar esquemas MySQL.
O sistema de gerenciamento de
bancos de dados MySQL no so-
mente para desenvolvedores profssio-
nais de bancos de dados. Os bancos
de dados MySQL so muito usados
por webdesigners e administradores
de sistemas. Mesmo que voc seja
apenas um desenvolvedor MySQL
ocasional, ir perceber que uma
ferramenta como o MySQL Work-
bench muito til e efciente. Ele
usa a licena GPLv2 e se baseia na
experincia e no feedback da fer-
ramenta de modelagem de dados
DBDesigner 4 [2]. O Workbench
est disponvel nas verses padro e
comunitria; a edio padro difere
da comunitria pelo custo de 79
anuais, capacidade de verifcar 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.
51
| ANLISE MySQL Workbench
Linux Magazine #67 | Junho de 2010
mas e modelos de bancos de dados
e incluir documentao.
A verso comunitria do MySQL
Workbench inclui uma grande co-
leo de recursos. Administrado-
res e desenvolvedores de banco de
dados podem us-lo para planejar
tabelas, views, ndices, stored proce-
dures e triggers; parsear esquemas
de bancos de dados existentes para
visualiz-los (engenharia reversa);
sincronizar esquemas com bancos de
dados existentes (gerenciamento de
mudanas) e exportar e imprimir
modelos de diagramas. O MySQL
Workbench uma ferramenta para
estruturar um banco de dados; ele
no suporta buscas ou alteraes de
dados (para isso, a Oracle oferece o
MySQL Query Browser). Este artigo
usa a verso estvel 5.1 do MySQL
Workbench.
Primeira vez
Aps instalar o MySQL Workbench
(veja o quadro 1), inicie a ferramenta
digitando mysql-workbench na linha de
comando (fgura 1). Com isso, ser
possvel criar um novo modelo de
banco de dados visualmente, atravs
de diagramas EER (Extended Entity
Relation Entidade-Relacional Es-
tendido) ou entrar no esquema. O
mtodo visual mais simples para a
maioria dos usurios; por esse moti-
vo, ser o foco deste artigo.
Graas a controles intuitivos, o
aprendizado simples. O espao
de trabalho possui reas bem deli-
mitadas: esquerda, h a caixa de
ferramentas com os passos usados
com maior frequncia; direita, o
navegador (muito til no caso de um
grande banco de dados), o catlogo
(que pode ser usado para acessar
tabelas, views e procedures) e uma
caixa de informaes. Na base da
janela do aplicativo fcam os edito-
res de objetos para os objetos criados
ou abertos.
Vamos supor
que queiramos
criar um simples
banco de dados
de contatos para
manter um con-
trole do que
emprestamos a
nossos amigos.
Comearemos
criando a tabe-
la Amigos, que
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 defnir 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 defnir 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
permite identifcar com facilidade
seu tipo. O cone da chave aponta
para uma chave primria, por exem-
plo. Em nosso laboratrio, levou um
certo tempo para o cone mudar
aps alteramos as colunas; em caso
de dvida, sempre uma boa ideia
checar o editor de tabelas.
Chaves estrangeiras e
camadas
Aps criar a primeira t abela,
possvel criar outras e definir as
chaves estrangeiras, que mos-
tram a relao entre os campos
de vrias t abelas. Para cri-las,
use a caixa de ferrament as ou
o editor de t abelas. O programa
ficou um pouco instvel em nos-
so laboratrio quando tent amos
Figura 1 O MySQL Workbench inicia em um espao organizado.
Figura 2 As camadas ajudam a controlar grandes projetos.
52
http://www.linuxmagazine.com.br
ANLISE | MySQL Workbench
criar chaves estrangeiras com a
caixa de ferramentas; recomen-
damos o uso do editor. Agora, v
para a aba Foreign Keys e crie uma
chave estrangeira apontando para
a primeira tabela. Para isso, basta
clicar na caixa correspondente: o
MySQL Workbench ir sugerir
um nome para a chave estrangei-
ra e apresentar uma lista para
selecionar as tabelas existentes no
banco de dados. O software exibir
as candidatas na rea ao lado do
nome da chave estrangeira e tabelas
referenciadas. Ao fazer isso, ele
apenas sugere campos com tipos
de dados possveis.
O Workbench normalmente cria
relaes que combinam com os tipos
de dados. Por exemplo, um registro
Pessoas poderia apontar para vrios
registros de endereos e de nmeros
de telefones isso chamado de re-
lao um-para-muitos. Se o tipo de
relao no estiver correto, clique
na relao com o boto direito do
mouse e faa ajustes no editor de
relaes. Quando uma tabela con-
tm mltiplas chaves estrangeiras,
o programa ir real-las em cores
diferentes quando o mouse passar
por cima delas.
Para controlar as reas relacio-
nadas em grandes bancos de dados,
o MySQL Workbench introduz o
conceito de camadas. Uma camada
permite destacar com o uso de cores
vrias tabelas, para agrup-las visual-
mente. Para usar as camadas, basta
ir barra de ferramentas ou digitar L
e passar o mouse por cima de todos
os objetos que devem ser includos
na camada (fgura 2).
Rotinas
possvel usar diagramas EER para
criar visualizaes de modo similar
criao de tabelas, mas os proce-
dimentos e funes armazenados
precisam ser defnidos no esque-
ma fsico, no em um diagrama. O
MySQL Workbench tambm se refe-
re a procedures e funes armazena-
dos como rotinas. Este exemplo usa
uma pequena procedure que conta
o nmero de objetos emprestados
no momento.
Para isso, iremos do diagrama EER
para o modelo MySQL. Chegando
l, clique em Add Routine, abaixo
de Routines. O editor de rotinas ir
iniciar na base da janela, onde ser
possvel escrever a procedure (fgura
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,
selecione as opes necessrias.
Em um segundo passo, o software
perguntar quais objetos devem ser
exportados (fgura 4) antes de fnal-
mente gerar o script.
Para transferir o modelo diretamente
para o servidor do banco de dados,
preciso inserir os parmetros da
conexo ao servidor em Database |
Manage Connections. Para enviar o
esquema recm-criado diretamente
para o servidor, selecione Forward
Engineering sob Database. Com
poucos cliques possvel enviar o
banco de dados para o local desejado.
O processo para utilizar mode-
los de bancos de dados j existentes
(engenharia reversa) tambm
bem simples. possvel executar
Figura 3 O editor de rotinas aparece na base da janela.
Figura 4 Alguns cliques permitem
especicar o que o MySQL
Workbench deve incluir no
script.
Figura 5 Importar um grande nmero de tabelas pode deixar o diagrama ERR
um tanto embaralhado.
53
| ANLISE MySQL Workbench
Linux Magazine #67 | Junho de 2010
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/3530
Mais informaes
[1] MySQL Workbench: http://www.mysql.com/products/workbench/
[2] DBDesigner 4: http://www.fabforce.net/dbdesigner4/
[3] Download do MySQL-Workbench:
http://dev.mysql.com/downloads/select.php?id=8
[4] MySQL Workbench para Debian Lenny:
http://tretkowski. de/blog/categories/3-Debian
[5] Database Visual Architect:
http://www.visual-paradigm.com/pro duct/dbva/
[6] Sybase PowerDesigner:
http://www.sybase.com/products/mode ling-
development/powerdesigner
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
fcar um tanto ruim: as 145 tabelas
importadas de um sistema de in-
formaes de um hospital fcaram
muito embaralhadas, e foi preciso
fazer uma boa limpeza (fgura 5).
Graas ao forward engineering e
engenharia reversa, possvel usar
o MySQL Workbench para modif-
car esquemas existentes e sincroni-
zar os bancos de dados resultantes
(Database | Synchronize Model, ou
File | Export | Synchronize with SQL
Create Script).
Concluses
O MySQL Workbench oferece
vrios recursos muito teis para
planejar bancos de dados de larga
escala. Porm, o software abusa dos
recursos da mquina e fcou bem
lento em alguns momentos, no
nosso computador no to potente
(Pentium 4 2.5GHz com 1 GB de
RAM). Infelizmente, o programa
travou vrias vezes, portanto, uma
funo para salvar o trabalho auto-
maticamente em intervalos regu-
lares seria uma boa ideia.
O MySQL Workbench no foi fei-
to para planejar bancos de dados em
outros sistemas de gerenciamento de
bancos de dados. Caso voc trabalhe
com outro sistema, considere uma
ferramenta diferente, como o Data-
base Virtual Architect [5], o Sybase
PowerDesigner [6] ou o velhinho
DBDesigner 4 [2]. Dito isto, caso
voc deseje uma ferramenta gratuita
para ajudar a projetar bancos de da-
dos MySQL, o MySQL Workbench
uma boa opo. Ele possui bons
recursos que facilitaro a vida dos
desenvolvedores e administradores
de bancos de dados. O MySQL
Workbench 5.2, que est para ser
lanado, suporta buscas no servidor
e tarefas administrativas. Para obter
esses recursos, os desenvolvedores
incluram no aplicativo algumas
partes do MySQL Query Browser e
do MySQL Administrator. n

Вам также может понравиться