Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 06 de Outubro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
106 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  SQL Server: Colocando a casa em ordem - I
Publicado por ActiveDelphi : Segunda, Dezembro 26, 2005 - 02:44 GMT-3 (9140 leituras)
Comentários comentar   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Antonio de Alexandre Olá comunidade Activedelphi.
Chegamos ao momento do ano em que nossos clientes têm a necessidade de arrumar em dias o que não foi possí­vel arrumar durante o ano todo e os dias se apresentam com mais tarefas, mais pressões e prazos cada vez menores. Em muitos casos a auditoria exige os mais diversos e imprevisíveis relatórios e com mais pressa do que nunca...

    Diante de um cenário como este a tarefa mais comum é colocar a casa em ordem, ou seja, limpar a base de dados deixando as tabelas mais enxutas, unificando dados para geração de relatórios anuais, etc.
    O objetivo deste artigo é poder oferecer algumas dicas de como fazer o SQL Server trabalhar para você e poupá-lo para realizar outras tarefas.

Cenário 1:
    O cliente necessita importar dados de uma tabela para outra, pois identificou que foi feita uma normalização errada durante o projeto e agora quer deixar o modelo de dados mais coerente com as regras de negócios da empresa.
 

    Para resolver, uma linha de comando atende a esta solicitação:

INSERT INTO TABCLI (CODCLI, NOME, EMAIL) SELECT CODCLI, NOME, E_MAIL FROM TABCLI_ESPECIAL

    No exemplo acima todo o conteúdo que existe na tabela TABCLI_ESPECIAL será migrado para a tabela TABCLI.
    Para poder se beneficiar desta facilidade, vale algumas considerações importantes:

    i) Necessitando de uma cláusula Where, esta deve ficar somente no segundo Select;
    ii) este tipo de transação só é funcional quando envolver tabs da mesma base de dados ou de bases em servidores de Banco de Dados que tenham comunicação estabelecida;
    iii) as colunas devem estar na mesma ordem em ambos os Selects;
    iv) antes de executar esta transação é fundamental observar se as colunas de ambas as tabelas são do mesmo tipo e, caso não sejam, realizar a conversão do tipo de dados do campo da segunda tabela.

    Outro recurso muito valioso oferecido pelo SQL Server é o Data Transformation Services (DTS).
    Este é um poderoso recurso do SQL Server que serve como agente facilitador para migração de dados entre tabelas de mesma base e entre bases distintas.
    Trata-se de uma ferramenta visual e de utilização intuitiva, que favorece até mesmo os menos experientes, pois o processo de migração é feito através de uma seqüência de telas, que serão apresentadas adiante.
    Hoje o DTS é largamente utilizado em relação ao BCP que faz o mesmo trabalho, mas em ambiente caracter (tela do DOS) .
    O DTS executa tanto importação como exportação de dados e aceita queries definidas pelo desenvolvedor. Ele cria queries dinamicamente de acordo com os passos realizados para efetivar a migração dos dados.
    Um detalhe muitíssimo importante e que passa despercebido por grande parte dos desenvolvedores é que este software faz a migração de dados não somente de SQL Server para SQL Server, mas para outras fontes de dados, como arquivos Txt, Acess, Oracle, Excel, entre outras.
    Esta facilidade pode poupar horas de trabalho ao migrar dados para diferentes bases e fará toda a diferença para que seja possível cumprir os prazos que estão super justos.
    O acesso a esta ferramenta é feito através do Enterprise Manager, ao clicar sobre um dos Servidores Registrados e selecionar no menu a opção Tools.
Após clicar em Tools surgirá a opção Data Transformation Services; agora basta selecionar “Import Data” ou “Export Data” e surgirá a tela a seguir:
 

    Clicando em Next será apresentada a tela abaixo, onde é possível selecionar a fonte de dados de origem.
    É importante destacar que é nesta tela que outras fontes como Oracle, Excel, Arquivo Txt, entre outras, podem ser selecionadas. No exemplo será realizada a migração de SQL Server para SQL Server.
 

    Selecionada a Origem das informações, cabe ao desenvolvedor conectar ao Servidor.
    Para conectar é comum ser selecionada a opção “Use SQL Server Authentication”. Neste momento os campos Username e Password são habilitados para que o desenvolvedor entre com o Usuário e Senha do Servidor de Banco de Dados.
    Concluída a conexão com sucesso, o combo Database é preenchido após o botão Refresh ser clicado.
    Selecionada a Base de Dados, o botão Next pressionado conduzirá o desenvolvedor para a tela que determina o destino dos dados em questão.
 

    A título de ilustração, o exemplo será baseado na Base de Dados Northwind.
    Esta base vem na instalação do SQL Server e seu objetivo é servir de exemplo.


    O próximo passo consiste em determinar com mais detalhes o que deverá ser migrado.
    As opções são:
    - copiar tabelas e views;
    - migrar dados especificados por uma query criada pelo desenvolvedor;
    - transferir dados e objetos do Banco de Dados entre as Bases de Dados.
   
    Neste artigo será abordada a cópia dos dados de uma tabela levando em conta que as tabelas envolvidas sejam do mesmo Banco de Dados, mas este processo poderá ocorrer perfeitamente entre Banco de Dados distintos.
 

    Para visualizar o nome completo da tabela, basta redimensionar a coluna clicando e arrastando o mouse.
    Para selecionar a tabela, que pode ser mais de uma, basta clicar na tabela e “ticar” o checkbox conforme destacado na figura acima.


    Isso feito, a coluna Destination disponibiliza na mesma linha do objeto selecionado um combobox com as tabelas disponíveis no Banco de Dados.
    Cabe ao desenvolvedor selecionar a tabela e clicar em Next.
    Neste exemplo serão migrados dados da tabela Suppliers para a tabela Super.
    Na coluna Transform é apresentado um botão com o símbolo de reticências; ao clicar neste botão será apresentada a tela a seguir:
 

    Esta tela é indicada no caso de ser criada uma nova tabela e, para esse caso, a tabela de destino seria uma cópia fiel da tabela de origem.
    Com esta tela é possível fazer ajustes na tabela que será criada e proporcionar a customização de acordo com a sua necessidade.
    O botão Edit SQL permite customizar o comando SQL, criado pelo software, para a inclusão de mais um critério na cláusula Where, por exemplo.
    Ao clicar em OK, o processo para a migração dos dados entrará em seu estágio final.
 

    Neste momento, o SQL disponibiliza as possibilidades de executar a migração dos dados imediatamente, agendar uma data e horário para a execução, preparar os dados para uma replicação ou simplesmente salvar o script que será submetido ao banco.
    Feita a escolha, o SQL mostrará uma tela com as escolhas feitas pelo desenvolvedor para realizar a migração e aguarda um ok para concluir o processo.
 

    Clicando em Finish o SQL Server assume o comando e inicia a migração propriamente dita.

Conclusão

    Com este artigo é possível perceber a grande facilidade para migrar dados e ganhar um tempo muito precioso na hora em que tempo é o que menos se tem para atender uma solicitação e, o que é mais importante: automatizar processos que possam vir a se tornar necessariamente repetitivos.
    Como se pode constatar facilidade é algo que o SQL Server traz como vantagem para oferecer ao desenvolvedor ou DBA em situações que exigem respostas rápidas e precisas.

    E para pensar enquanto programa...
    Antes de ser mestre dos outros, você deve ser mestre de si próprio.
    José Ortega y Gasset (filósofo espanhol - 1883-1975
)
 



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados