Antes que me perguntem “por que ele não usa o ERwin, o Visual Studio ou SQL Server Management Studio para fazer o MER do banco de dados?”, primeiro, como o Visio permite realizar toda a documentação de diagramas e telas de um projeto de Software, assim mantemos a documentação em um único formato, sem sair do ambiente de analise diretamente para o desenvolvimento com o Visual Studio e SSMS ou utilizar um software especialista que dificulte os envolvidos no projeto (cliente, analistas, desenvolvedores…) o acesso ao documento do Modelo/Diagrama de Entidade/Objeto Relacional.
No uso do “Microsoft Office Visio 2003 for Enterprise Architects” para modelar banco de dados, primeiramente escolha na categoria “Database” o templete “Database Model Diagram”, este modelo esta presente em todas as versões do Visio 2003/2007, desta forma, pessoas envolvidas no projeto que desejam dar “palpites” no banco de dados ou desenvolvedores que ficaram órfãos de um DBA/Analista no meio do projeto, podem ainda ter certa autonomia em alterar o banco, sem haver a necessidade de comprar a versão “for Enterprise Architects” para todos.
Criado o modelo você terá um dashboard, onde na barra de ferramentas “Shapes” você possui basicamente suas as entidades, visões e conectores. Caso ela tenha desaparecido, o acesso a mesma é o menu “View\Shapes Window”.
Para testar as funcionalidades da ferramenta, arrastem uma entidade para tela. Clicando com o botão direito sobre esta entidade, você terá a opção “Database Properties…”.
Nas propriedades desta entidades, teremos o nome físico, nome conceitual, namespace entre outras funcionalidades que discutiremos nos próximos artigos. Por enquanto daremos o nome para nossa entidade de “Cliente”.
Antes de definirmos as colunas de nossa entidade, no menu “Database\Options\Drivers…” escolha o banco de dados que você deseja trabalhar, no meu caso, o SQL Server.
Agora voltamos a nossa entidade, na janela “Database Properties”, temos a categoria “Columns”, onde podemos criar a estrutura de nossa entidade, definindo nome da coluna, tipo de dado, chave primária, anulável e uma descrição friendly (útil para questões de documentação de dicionário de dados). Vamos utilizar como modelo a seguinte estrutura:
Criemos também uma entidade “Contato”, com a seguinte estrutura:
Para criarmos um relacionamento entre Cliente e Contato, arraste um shape de relacionamento ou clique na barra de ferramentas “Connector Tool” e ligue Cliente (Referencia/Pai) com Contato, se tudo correu bem, você terá esta estrutura em “Database Properties”, onde o Visio criou automaticamente a coluna idCliente e referenciou esta a coluna idCliente da entidade Cliente.
Caso tenha dado errado, clique no relacionamento e tecle “Delete” e na janela “Delete Object” clique em “Yes” ou o relacionamento se perpetuará no diagrama, feito isso tente novamente criar o relacionamento, sempre da entidade “pai” para a entidade “filha”.
No próximo post, veremos como ficou nosso diagrama quando publicarmos para um banco de dados.
cara blz a ligação das tabelas pela relationship eu sei fazer numa boa, mas e se eu quizer colocar + um nó no relacionamento(para organizar melhor o diagrama) como eu faço????
Quando você trabalha como mais de uma chave estrangeira entre duas tabelas, você precisará criar as colunas que deseja relacionar, exemplo, temos um cliente ligado com dois contatos: “Cliente(idContato1, idContato2)”, ao definir os relacionamentos entre as tabelas, você utilizará o Connector Tool para dizer que a coluna idContato1 da tabela Cliente esta ligada a idContato da tabela Contato e da mesma forma a idContato2.
Qualquer dúvida, pode me procurar por email!
po cara brigado pelo apoio, mas não foi exatamente isso que quis dizer…
o que eu preciso saber é saber se tem como eu incluir um novo nó no “Connector Tool” e no “relationship” para organizar melhor o diagrama, quando eu falo em “nó” é um daqueles pontos verdes que permite vc alterar o posicionamento da linha para cima, baixo, direita e esquerda sem desconcetar ambas as tabelas, se não me engano o nome desse nó no visio é “move midpoint” não tenho certeza, bom na verdade nem tenho certeza se eu consegui explicar minha duvida
ai simmm