Oi! Seja bem-vindo!

Hoje te mostrarei como importar e exportar diagramas de banco de dados feitos no SQL Server, para que você enriqueça visualmente suas apresentações e reuniões sobre SQL Server!

O que é um diagrama de banco de dados?

Um diagrama de banco de dados é uma representação visual das tabelas e dos relacionamentos que existem entre elas. Diagramas são excelentes para você ilustrar ideias em uma reunião, por exemplo: É muito mais fácil explicar seu projeto de banco de dados usando uma imagem como essa:

exemplo de diagrama a ser exportado

Do que um script como esse:


use master
if db_id('curso') is not null 
	drop database curso
go
create database curso
go
use curso
go
create table colaboradores (
	id smallint identity(1,1) primary key clustered,
	id_gestor smallint null foreign key references colaboradores(id),
	nm varchar(100) not null,
	vl_salario decimal(8,2) not null,
	dt_contratacao date null default getdate()
)

create table clientes (
	id smallint not null identity(1,1) primary key,
	nm varchar(100) not null unique,
	ic_sexo char(1) not null check (ic_sexo in ('M', 'F')), 
	dt_nascimento date null
)

create table produtos (
	id smallint identity(1,1) primary key,
	nm varchar(100) unique,
	vl decimal(10,2),
	ic_ativo bit not null,
)

create table vendas (
	id int not null identity(1,1) primary key,
	dt datetime not null,
	id_produto smallint not null foreign key references produtos(id),
	id_vendedor smallint foreign key references colaboradores(id),
	id_cliente smallint constraint fk_vendas_clientes foreign key references clientes(id),
	qt int not null check (qt > 0),
	vl_unitario decimal (10,2) not null
)

Ademais, como diz a velha frase popular, uma imagem vale mais do que mil palavras, não é? Veja no caso abaixo, precisa explicar alguma coisa??

cabo desconectado da rede

Como Importar e Exportar Diagramas no SQL Server

Quando um diagrama possui poucas tabelas é fácil organizar o visual antes de uma apresentação. Porém, quando forem muitas tabelas (como normalmente acontece), você não vai querer perder um trabalho gigantesco que teve para organizar… logo, fazer backup dos diagramas torna-se fundamental.

Naturalmente, se você fizer um backup completo do banco de dados, o diagrama é salvo junto. Porém, na maioria das vezes provavelmente você não vai querer misturar o controle do diagrama (que no final das contas é algo secundário) com o controle dos dados do seu banco (que é algo imprescindível para a sua empresa).

Então nesse vídeo meu foto é demonstrar como você pode exportar e importar os diagramas independentemente dos dados. Para isso montei o exemplo abaixo:



------------------------------------------------------------------
-- Exportar e Importar diagramas do SQL Server
------------------------------------------------------------------
--------------------------------------------------
-- Dados para teste
--------------------------------------------------
-- Banco de testes
use master
if db_id('curso') is not null 
	drop database curso
go
create database curso
go
use curso
go
create table colaboradores (
	id smallint identity(1,1) primary key clustered,
	id_gestor smallint null foreign key references colaboradores(id),
	nm varchar(100) not null,
	vl_salario decimal(8,2) not null,
	dt_contratacao date null default getdate()
)

create table clientes (
	id smallint not null identity(1,1) primary key,
	nm varchar(100) not null unique,
	ic_sexo char(1) not null check (ic_sexo in ('M', 'F')), 
	dt_nascimento date null
)

create table produtos (
	id smallint identity(1,1) primary key,
	nm varchar(100) unique,
	vl decimal(10,2),
	ic_ativo bit not null,
)

create table vendas (
	id int not null identity(1,1) primary key,
	dt datetime not null,
	id_produto smallint not null foreign key references produtos(id),
	id_vendedor smallint foreign key references colaboradores(id),
	id_cliente smallint constraint fk_vendas_clientes foreign key references clientes(id),
	qt int not null check (qt > 0),
	vl_unitario decimal (10,2) not null
)


--------------------------------------------------
-- Exportando e Importando um Diagrama
--------------------------------------------------
-- Exportar:
!!bcp curso.dbo.sysdiagrams out c:\tmp\diagrama.txt -c -T -S .

-- Importar:
!!bcp curso.dbo.sysdiagrams in c:\tmp\diagrama.txt -c -T -S .


--------------------------------------------------
-- Excluindo dados de teste
--------------------------------------------------
use master
drop database curso

 

CONCLUSÃO

Existem inúmeras ferramentas incrivelmente melhores que o SQL para gerenciar diagramas, no entanto, na falta de alguma melhor o SQL quebra o nosso galho!

Alias, esse é exatamente o motivo pelo qual estou fazendo esse artigo, a maioria das empresas não possuem alguma ferramenta de controle e documentação de diagramas e banco de dados, então pensei em apresentar essa para você, pois tenho certeza que vai te ajudar a ser mais eloquente e impressionante nas reuniões de trabalho!

Espero que tenha gostado do artigo, nos vemos no próximo!

Abraço do seu amigo Josué 🙂

 

2 respostas

  1. Boa tarde, Josué!
    Grato por suas dicas, não o conhecia ou talvez não tenha lembrado de algumas pesquisas que já fiz na web.
    Vamos lá! Voltei a programar depois de oito anos parado na área. Tive vários prejuízos na área de desenvolvimento, enfim, faz parte. Estou voltando a montar uma estrutura que é muito interessante como forma de pegar o pique. Gostaria de saber se você tem conhecimento das empresas que atuam em Portugal ou Alemanha com Visual Studio Dot.Net, C# ? Baixei o Visual 2022 e estou colocando algumas aplicações para rodar, mas quero focar no MAUI e deixar o Windows Form quieto.
    Tenho alguns projetos interessantes, mas não tenho diagramas…..

    1. Valeu Jonas, seja bem-vindo ao site. No momento não possuo as indicações que pediste, mas que bom que está montando uma estrutura e pegando o pique. A área de TI as vezes tem mais riscos para quem empreende, mas os retornos também são compatíveis. Abraço, Josué

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *