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, vamos a menu “Database\Generate…”

090516b

E teremos a seguinte tela, onde escolhemos o caminho para o arquivo onde será gravado nosso script e/ou onde será gerado nosso banco de dados (e se o visio guardará uma imagem do banco de dado em nosso documento, esta opção será útil caso deseje utilizar o Visio com a ferramenta principal para modelar com o banco de dados, além de facilitar a configuração das ferramentas Update Database e Refresh Model Wizard para futuros usos neste mesmo banco de dados), para este exercício, vamos utilizar todos as opção disponíveis em nosso programa. Como no DDL Script é gerado um código SQL totalmente compatível com o SQL Server, podemos alterar a extensão do nosso text file para ‘.sql’, sem interferir em nada no resultado deste exercício. Caso você esteja trabalhando com o SQL Server 2008, por enquanto somente gere o arquivo texto.

090516c

Agora nos deparamos com a seguinte tela, onde configuraremos qual banco de dados o Visio utilizará para gerar o ‘modelo’ e qual a ‘fonte de dados’ onde o banco de dados será gerado ou no caso da opção ‘Database already exists’, poderá ser escolhida uma ‘fonte de dados’ que já foi utilizada no seu Visio.

090516d

Para usuário do Windows Vista ou Seven, o botão “New…” pode apresentar a seguinte tela de erro, ela não trará problemas, caso não seja utilizada uma fonte de dados do sistema para gerar o banco, antes que aparece outros problemas, abra o Visio como administrador da máquina ou para ter que realizar este processo toda vez, feche o Visio, vá no caminho “C:\Arquivos de Programas\Microsoft Office\Visio11”, clique com o botão direito do mouse sobre VISIO.EXE, menu Propriedades, aba Compatibilidade, painel Privilegio para todos os usuário, clique em “Executar este programa como um administrador”, pronto, esta caixa de diálogo “ODBC System DSN Warning” nunca mais aparecerá no seu Visio.

090516error

Retornando a nossa tela do botão “New…”, vamos escolher nossa fonte de dados, recomendo utilizar um “User Data Source” se você estiver trabalhando em um equipamento compartilhado, assim evita que pessoas indevidas acessem sua fonte de dados caso você utilize alguma configuração ou autenticação específica.

090516f

Na próxima tela nada em especial, alem da lista de fontes de dados ODBC disponíveis, selecione “SQL Server” (para SQL Server 97/2000/2005) ou “SQL Server Native Client 10.0” (para SQL Server 2008, para esta versão o Visio ainda possui uma certa incompatibilidade) e finalize.

Quando aparecer a seguinte tela, dê um nome para sua fonte de dados e informe o caminho para sua instância do SQL Server (ex.: NomeDoServidor\SQLEXPRESS).

090516g

Prosseguindo, escolha o tipo de autenticação que sua instância do SQL Server utiliza e as settings de login, não esqueça que isso ficará guardado no seu ODBC, o que torna possível utilizar por outra aplicação (Excel, Access…) ou utilizar novamente com outro arquivo do Visio, se for necessário.

090516h

Na próxima tela, você pode digitar o nome ou selecione o banco de dados padrão de sua conexão, nesta tela existem algumas configurações sobre o comportamento do seu banco de dados, assim como a tela depois desta, você não tem conhecimento do que destas configurações, recomendo não se aventurar ainda.

090516i

Finalizado este processo, dê um nome a seu novo banco de dados, prossiga, na próxima tela você terá a relação das entidades a serem geradas e na tela depois desta, o resultado da validação dos objetos do seu MER.

Assim chegamos a esta tela, onde podemos customizar os arquivos de armazenamento do nosso banco, tanto o arquivo de dados como arquivo de transações, não é necessário configurar se não quiser, pois o SQL Server já se baseará sobre o banco de dados ‘model’.

090516k

Fechando esta tela, o Visio te perguntará se você quer ver ou não o arquivo gerado. Assim temos tanto o script de geração do banco de dados, quanto o banco de dados na nossa fonte de dados.

SET QUOTED_IDENTIFIER ON

use master

go

create database "SqlFromHell"

go

use "SqlFromHell"

go

create table "Contato" (
"idContato" int identity not null,
"telefone" char(10) not null,
"principal" bit not null,
"obs" varchar(max) not null,
"idCliente" int null)

go

alter table "Contato"
add constraint "Contato_PK" primary key ("idContato")

go

create table "Cliente" (
"idCliente" int identity not null,
"nome" varchar(150) not null,
"nascimento" datetime not null,
"obs" varchar(max) null)

go

alter table "Cliente"
add constraint "Cliente_PK" primary key ("idCliente")

go

alter table "Contato"
add constraint "Cliente_Contato_FK1" foreign key (
"idCliente")
references "Cliente" (
"idCliente") on update no action on delete no action

go

Com nosso script gerado pelo Visio, encerramos este segundo passo.

Anúncios

8 pensamentos sobre “Modelagem com o Visio – Step 2

  1. Pingback: Modelagem com o Visio – Gerando o MER a partir de um banco de dados « SQL from Hell !!!

  2. Fiquei com uma dúvida: quando necessitamos fazer um relacionamento N:N. Não vi nenhuma opção no objeto “Relação” no Visio. Só tem a opção de 1:N ou N:1. Algum macete conhecido?

    • Adriano, não existe macete, pois o “Database Model Diagram” trabalha com “tabelas” e não “entidades”, mas existem outros modelos para diagramas de banco de dados no Visio (ex. ER Source Model) que suprem necessidades distintas de documentação e que incluem relacionamentos NxN e outras formas de abstração, mas sem a possibilidade de gerar o script para criação do banco de dados.

      Se você estudar o Database Model Diagram, verá que ele pode ser um projeto de documentação de banco de dados com outros diagramas associados/anexos, como o ER Source Model.

  3. cara estou com um serio problema no meu visio não esta aparecendo a opção “generate” e tenho que gerar uma penca de tabela, mais de 30!!!!!!!

    realmente não queria fazer isso na mão!!!!

    como eu resolvo este problema?

  4. po kr o visio que estou usando é o 2003, te outra forma de exportar as tabelas sem ser dessa forma que vc esplicou???

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s