Extraindo SQL de um diagrama do Visio 2010

Como não é fácil encontrar pessoas com aquela versão específica do Visio 2003 que permitia gerar o código de criação do banco de dados, temos poucas alternativas para modelagem de banco de dados no SQL Server, dentre elas o SQL Server Management Studio (Diagrama de banco de dados), o Visual Studio (Diagrama de banco de dados e Diagrama do Entity Framework) e outras ferramentas de terceiros, como o ErWin.

Para a felicidade dos usuários do Visio 2010, encontrei no blog do Alberto Ferrari, um plug-in para validar e gerar script dos bancos modelados com os diagramas do Visio.

Primeiro será necessário baixar o projeto do plug-in:
http://www.sqlbi.com/Portals/0/Downloads/SqlBi.Visio.ForwardEngineer.zip

Ele é um projeto simples do Visual Studio 2010:

Basta “debugar” o projeto, que será iniciado o Visio 2010 com o plug-in:

Abra um diagrama de banco de dados:

E na aba Forward Engineer, execute a validação (Validate Data Model):

Nenhum erro encontratado, vamos gerar o banco de dados, botão “Forward Engineer”:

Na caixa de dialogo, informe onde será salvo o script SQL e dê OK:

Pronto, agora basta executar o script:

Tive alguns problemas com o Visio com bancos de dados grandes (com mais de 200 tabelas), mas para modelagens simples, o Visio e este plug-in podem dar conta.

SQL Server 2008 como fonte de dados no Visio

No último post relacionado à modelagem com Visio, não entrei em detalhes sobre como eu criei uma fonte de dados a partir do SQL Server 2008. Então dedicarei este post para específicar este processo.

Um detalhe interessante é que para iniciar este processo, tive que é necessário realizar o download do SQL Server 2008 Management Studio Express ( http://www.microsoft.com/downloads/details.aspx?FamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b&displaylang=en ) ou instalar qualquer versão do SQL Server 2008 ( http://www.microsoft.com/downloads/details.aspx?familyid=7522A683-4CB2-454E-B908-E805E9BD4E28&displaylang=en ), pois o driver utilizado nas versões 6.5 até 2005 não são compatíveis com a versão atual, mas isso é sinal de maior compatibilidade com as novas funcionalidades. Continuar lendo

Engenharia Reversa com o Microsoft Office Visio 2007 Professional

Boa madrugada,

Por motivos de insônia e um email me perguntando “o que é possível fazer modelagem do banco com o Visio 2007?”, percebi que não demonstrei em nenhum momento o Microsoft Office Visio 2007 Professional como ferramenta de modelagem, sendo ele a mais comum ferramenta para esta finalidade  encontrada atualmente, porque para conseguir a versão Microsoft Office Visio for Enterprise Architects é necessário ser um MSDN Subscriber Premium.

Para ser possível realizar uma demonstração válida das funcionalidades do Visio (visto que a parte de modelar o banco de dados não mudou), vou realizar praticamente o mesmo procedimento de engenharia reversa de um banco de dados do post passado, mas utilizando o 2007.

Obs.: Se estiver utilizando o Visio 2007, aproveite as funcionalidades de publicar para XPS e PDF, além dos temas de diagramas, que tornam o Visio 2007 mais “agradável” que o 2003.

A primeira diferença no Visio 2007, já é percebida quando se procura o template para criação do MER, que atualmente situa junto aos templates de UML e desenho de interface no menu “Software e Banco de Dados”. Continuar lendo

Modelagem com o Visio – Gerando o MER a partir de um banco de dados

Neste post, vou demonstrar a geração do MER/DER de um banco de dados já existente, ou melhor dizendo, fazer a engenharia reversa de um banco de dados.

Nesta demonstração, estarei utilizando Microsoft Office Visio 2003 e um banco de dados SQL Server 2008. Este processo também pode ser executado perfeitamente utilizando Microsoft Office Visio 2007 e qualquer banco de dados que seja previamente suportado pelo Visio, como Access, Oracle, DB2, ou pelo ODBC do Windows ou OLE DB, como o MySQL e SQL Server 2008. Continuar lendo

Modelagem com o Visio – Step 2

Retomando nossa modelagem, vamos iniciar a geração do banco de dados a partir do Visio. Antes que alguém diga que não conseguiu serguir esta etapa, lembro novamente que estou utilizando a versão “for Enterprise Architects” do Microsoft Office Visio 2003 e o SQL Server 2005

Ok, no post anterior criamos nossa MER (modelo de entidade relacional) com as tabelas Cliente e Contato, conforme abaixo:

090516a

Para gerar nosso banco, primeiramente, Continuar lendo

Modelagem com o Visio – Step 1

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 Continuar lendo