update 1: english readers can view here the translated version of this post.

Neste post apresentarei o processo para criação da base de dados MySQL utilizada no projeto VoiceHotel, utilizando o MySQL Workbench Community Edition, focando nas funcionalidades oferecidas por esta ferramenta. O projeto VoiceHotel foi vencedor do primeiro lugar no desafio da Sun para Estudantes em 2008, etapa MySQL e Glassfish.

O que é MySQL Workbench?

mysqlWorkbenchSplashEm linhas gerais podemos dizer que o MySQL Workbench é uma ferramenta que possibilita um DBA ou desenvolvedores em geral, criarem e gerenciarem de forma visual todos os tipos de bases de dados MySQL, desde uma base utilizada em uma simples aplicação web, até bases mais complexas, como as existentes em sistemas de data warehouses ou OLTP.

Destaques da ferramenta

  • Criação/Edição visual da base de dados. Acelera o desenvolvimento, diminuindo a chance de erros em tarefas comuns. Oferece validação de schemas para o modelo criado, auxiliando na utilização das melhores práticas de modelagem de dados e evitando erros na construção de diagramas ER ou criação da base fisicamente.
  • Forward Engineering e Engenharia Reversa. Possibilita a criação de um modelo completo a partir de um script SQL ou de uma base de dados existente, incluindo o diagrama ER com as tabelas pré-dispostas no mesmo. Oferece também a construção do banco de dados fisicamente através da modelagem visual.
  • Rastreamento e gerenciamento de mudanças. MySQL Workbench inclui as funcionalidades de Sincronização de Schemas e utilitários de comparação. Por exemplo, um DBA pode comparar duas bases ativas ou comparar uma modelagem feita no MySQL Workbench e uma base existente, visualizando as diferenças, com a possibilidade de sincronização entre um modelo e uma base ou vice versa.
  • Documentação. O MySQL Workbench inclui o DBDoc que auxilia no processo de documentação dos modelos e objetos existentes. Esta documentação pode apresentar-se em texto puro ou no formato Html.

O MySQL Workbench está disponível em duas versões:

  • MySQL Workbench Community Edition — Sob a licença open source GPL.
  • MySQL Workbench Standard Edition — Disponível através de um contrato anual. Inclui alguns módulos e plugins adicionais. Clique aqui para mais detalhes.

Modelando o Banco de Dados

Devido a baixa complexidade apresentada pela base de dados empregada na aplicação, apresentarei aqui as três formas possíveis para a criação da base de dados utilizando o MySQL Workbench Community Edition. Abaixo uma imagem com o modelo ER finalizado. O script completo para criação do banco de dados pode ser encontrado neste link.

Modelo ER Finalizado

Engenharia Reversa de Script SQLreverseengineer1

Com certeza a forma mais rápida de criar a base de dados, mas obviamente será necessário possuir de antemão o arquivo com as instruções SQL para criação da estrutura do banco de dados MySQL.

Crie um novo modelo de dados (File > New), e inicie a importação das instruções SQL acessando o menu File > Import > Reverse Engineer MySQL Create Script.reverseengineer2

Na nova janela, informe o arquivo com as instruções a serem utilizadas para criação do modelo. Ao clicar em continuar (Next) a ferramenta executará algumas validações no script sql e em seguida iniciará a criação da estrutura do modelo. Por último, na última etapa deste wizard é oferecida a opção de criar automaticamente um diagrama ER com as tabelas já dispostas no mesmo.
reverseengineer3
De posse do modelo de dados recém criado, agora você poderá trabalhar livremente, adicionando novas tabelas, visões, documentando as estruturas existentes, editar a estrutura do modelo, bem como o diagrama ER.

Diagrama ER

A criação do modelo de dados através do diagrama ER é uma ótima opção para os casos onde não possuímos uma estrutura prévia para importação e assim iniciar um novo modelo já com alguma estrutura pré-estabelecida, sendo necessário a criação do modelo desde o início.ER Diagram - New

Para adicionar um novo diagrama ER no modelo de dados acesse o menu Model, opção Add Diagram. Ou se preferir utilize o atalho CTRL + T. Para uma visão detalhada das opções disponíveis no editor de diagrama ER clique na imagem ao lado.

Na medida em que novos objetos forem incluídos no diagrama, você poderá editar todas as suas propriedades relacionadas através de um duplo clique no objeto desejado para abrir o editor de propriedades do objeto.

Quando o objeto inspecionado for uma tabela, além das diversas opções para edição de colunas, chaves primárias, chaves estrangeiras, tiggers, etc, contamos erdiagram3editordatacom um editor de dados, onde você poderá gerar comandos de inserção de forma visual, apenas preenchendo os valores para as colunas.

Ainda se tratando de tabelas, os relacionamentos entre as entidades existentes no modelo, podem ser feitos totalmente de forma visual, fazendo uso das opções de relacionamentos, localizados na barra de ferramentas que está disponível no lado esquerdo da interface para edição do diagrama ER.

Edição Esquemática (avançada)schemata1

A edição esquemática possibilita ao desenvolvedor um acesso rápido às informações e propriedades do objeto (tabelas, visões, rotinas e grupos de rotinas), mas sem o apoio visual do diagrama ER. Torna-se muito útil no momento em que temos uma estrutura já estabelecida no modelo de dados e precisamos dar manutenção em algum dos objetos existentes de forma rápida, fácil e intuitiva, contando com o apoio dos utilitários para validar as alterações prevenindo desta forma possíveis inconsistências na base.

Publicando o Modelo de Dados

Após a criação do modelo de dados, você poderá exportar todo o conteúdo do modelo para um script contendo todo os comandos SQL necessários para criação da base de dados fisicamente. Na versão Standard do MySQL Workbench, é possível a criação da base de dados física utilizando o próprio MySQL Workbench, sem sair do ambiente.

Para a versão Community podemos lançar mão da seguinte linha de comando, fazendo uso dos utilitários disponíveis na instalação do MySQL:

mysql -u usuário -p < script_exportado.sql

onde usuário é o usuário do banco de dados e -p solicitará a senha para este usuário.

Conclusão

Nessa artigo, apresentei as funcionalidades básicas do MySQL Workbench e existem claramente muitos outros conceitos que podem ainda ser explorados como a criação de procedimentos armazenados (Functions, Triggers e Procedures), criação de Views e trabalhar com criação de índices.

O MySQL Workbench é uma ótima opção para todos usuários MySQL. Desde desenvolvedores até usuários mais experientes, DBAs, etc. Com a opção da licença comercial, isto fica ainda mais evidente pois há um incremento considerável no número de módulos e plugins, oferecendo diversas funcionalidades que encontram-se desabilitadas na versão Community Edition. Contudo, a versão Community Edition está a frente de muitas ferramentas comerciais e não comerciais disponíveis no mercado, oferecendo todos os recursos necessários para modelagem de dados.

About these ads

Join the conversation! 7 Comments

  1. […] o MySQL Workbench em Português Tomás Muller escreveu um excelente post em português sobre o uso do MySQL Workbench na modelagem de uma aplicação. Para quem prefere […]

  2. Bacana esse artigo, gostei. Irei estudar mais sobre essa ferramenta para incorpora-la ao meu dia-adia.

  3. Primeiramente parabens pelo topico. Tenho uma dúvida. Como faço o alter table pela ferramenta? Eu provavelmente estou fazendo errado, pq quando altero e "sincronizo" os registros já inseridos nas tabelas vão pro espaço. Obrigado.

  4. realmente excelente, post. Mas, a ferramenta fica a desejar em varios aspectos, principalmente na conexao direta com o bd, que nao eh possivel manter. Toda vez precisa conectar para atualizar uma informacao. Meio chato isso. Acho o layout ainda desorganizado. Mas, em comparacao com outras ferramentas free o workbench está na frente. Porem nao troco o mysql maestro por ela. flw!

  5. como faço instalar o workbench em meu pc? o que é necessário?

  6. @Michell,
    1. acesse: http://www.mysql.com/downloads/workbench/
    2. faça o download de acordo com o seu sistema operacional
    3. instale!

  7. Tente uma ferramenta gratuita – Valentina Studio. Produto surpreendente! IMO é o melhor gerente mysql, para todas as plataformas. http://www.valentina-db.com/en/valentina-studio-overview

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Category

mysql, mysql workbench, tools

Tags

, ,