Palavra:   

Revista PHP / Banco de Dados

Flávia Jobstraibizer

Analista de sistemas, DBA Mysql, PostgreSQL, Oracle, SQLServer e Firebird. Desenvolvedora de sistemas, e administradora de servidores FreeBSD. Conheça o site www.flaviajobs.com.br

Modelando um banco de dados mysql, através do DB Designer em Windows - parte II

Para quem ainda não leu a primeira parte deste artigo, que trata da modelagem de bancos mysql, através do DB Designer, clique aqui


Vamos continuar aprendendo a utilizar funcionalmente, o DB Designer, em Windows.

Sabemos como configurar um servidor de bases de dados, e criar uma conexão com o banco. Agora vamos aprender a criar as tabelas e relacioná-las, sincronizando depois com o seu servidor.

Você não precisa estar conectado 100% do tempo no seu servidor online, através do Db Designer. Você pode desenvolver localmente suas tabelas, e posteriormente sincronizá-las (vamos aprender isso daqui a pouco), visto que você já adicionou o servidor e o banco. Mas caso não houvesse adicionado nada ainda, poderia facilmente fazer, seguindo os passos do primeiro artigo.

Bem, vamos continuar.
No canto inferior direito da tela de trabalho do Db Designer, clique no ícone de nova tabela, como mostrado abaixo.


Vamos preencher a tela à seguir, com os dados de nossa tabela.
No meu caso, vou criar três tabelas. Uma chama "menu", outra chamada "submenu" e outra chamada "categorias" para um sistema de gerenciamento de menus, que estou desenvolvendo.

Veja abaixo, como ficou a minha primeira tabela preenchida.

Confirme, após terminar de prenencher os campos que você deseja.
Continue, fazendo tantas tabelas quantas deseja criar.
Sua tela deverá ficar parecida com a minha:


Criando índices únicos.

Se você necessita criar índices ou campos UNIQUE, clique duas vezes na tabela onde deseja adicionar o campo indice ou único e faça como na imagem abaixo:

Mentenha o nome que o DB Designer dá, somente para que você não se perca.
Feito isso, arraste o campo do local onde está, para o canto inferior lateral direito, onde está escrito "columns", como na imagem abaixo.

E no campo circulado, você pode selecionar que tipo de campo será este. Unico, ou index.

Relacionamentos:

No meu caso, vou relacionar as tabelas, pois preciso apresentar submenus para cada menu, e cada menu e submenu, terá categorias. então vamos relacioná-los.
Lembrando que nas versões anteriores à 5, o relacionamento aparece visualmente no Db Designer, mas não no seu front end phpmyadmin, por exemplo. Mas com o relacionamento visual, você vai saber pra onde cada coisa vai. :)

Você também pode criar relacionamentos, com chaves estrangeiras, se você utilizar bancos no formato InnoDB. Para mudar o formato da tabela, clique duas vezes nela, e no canto superior direito, mude a opção, como mostro na imagem abaixo:

Antes de relacionar nossas tabelas, um pouco sobre as ferramentas de relacionamento que ele nos proporciona:


1 e 2 - Non-Identyfing-Relation
Quando você cria um relacionamento não identificado, o que quer dizer que o(s) campo(s) que faz a relação entre as duas tabelas não fará parte da chave primária da tabela relacionada.
3 - n:m
Relacionamento de muitos para muitos. Este relacionamento funciona para criar uma entidade de relacionamento entre 2 tabelas, esta entidade é o que chamamos de tabela de relacionamento. Vamos supor que muitos registros da tabela A precisam se relacionar com muitos registros da tabela B, para isto cria-se uma tabela C contendo as chaves de ambas as tabelas. Se você utilizar este relacionamento, poderé perceber, no modelo visual, que será criada uma terceira tabela com 2 relacionamentos identificados de 1:n (um para muitos).
4 e 5 - 1:1
Relacionamento não identificado de um para um. Este relacionamento vincula um registro único da tabela A a um único registro na tabela B.
6 - 1:n
Relacionamento não identificado de um para muitos. Este relacionamento quer dizer que, para cada registro único na tabela A existirão muitos na tabela B.

Agora vamos relacionar as nossas tabelas.
Como mostro na imagem abaixo, relacionei o campo "idmenu" da minha tabela "menu", com o campo "idmenu" da minha tabela "submenu". Para isso, utilizei a ferramenta 4 (1:1) de relacionamento, indicando que vou ter apenas um único registro da tabela "submenu" igual ao mesmo campo da tabela "menu".
Feitos os relacionamentos, vamos subir tudo isso pro modo online!

Sincronizando

No final da barra lateral de menus, há um botão chamado "Sync", como mostrado na imagem abaixo, clique nele.


Se você estiver não estiver conectado ao banco, você irá ver uma tela para escolher a conexão que deseja utilizar. Basta escolher. Se você estiver conectado, a tela a ser mostrada, será como esta:

No meu caso, estou conectada à uma base chamada "lojabeta_menus" e o software está indicando que já tenho online, 3 tabelas, tendo também 3 tabelas no modelo que desejo sincronizar. Se você ainda não tiver feito nenhuma sincronização e não tiver tabelas no banco, o software modificará esta mensagem, lhe informaando isso.
Não modificaremos nada, então clique em "Execute".
Se você não fez nada de errado na montagem das tabelas, tem permissão para gravar no banco (vide parte I deste artigo), você irá obter uma mesagem como esta:


Isso significa que tudo foi sincronizado, e que as tabelas já estão online e funcionais. Não se preocupe se precisar alterar dados, a cada sincronização, todas as suas ações serão gravadas o banco, como por exemplo, mudança de nomes de tabelas, adição de campos, etc, etc.
Guarde os modelos que criar, lembrando que o DB Designer salva os modelos em arquivos com a extensão .xml.

Acredito que com posse dests informações, você terá chances de projetar bases gigantescas, com maior aproveitamento do seu tempo!
Em um próximo artigo, vou ensinar a utilizar outros modeladores. Se você gosta de gerenciar bancos de dados de forma produtiva, não deixe de ler.



Opções de Interação

Comentários

Bom!
Por: Fabiano, 29/05/2007   11:10:52
Parabéns! Uma boa noção para os q iniciam.