Guia de Linguagem

SQL Server


Este guia traz uma compilação das melhores publicações e ensina como resolver os mais diferentes problemas que tornam o dia a dia desse profissional tão desafiador.

Introdução

O SQL Server, desenvolvido e mantido pela Microsoft, é há anos um dos principais SGBDs relacionais do mercado. Distribuído em diferentes edições e com várias ferramentas integradas, esse banco é capaz de atender às demandas desde os mais simples negócios até os mais complexos cenários que lidam com grande volume de dados.

No curso abaixo você aprenderá a instalar e administrar esse SGBD, conhecendo seus principais arquivos e ferramentas:

Já os artigos abaixo tratam dos recursos de cada uma das últimas versões do SQL Server:

E a seguir você encontra artigos que lhe ajudarão na instalação e configuração de instâncias desse banco:

Índices

Índice é um mecanismo utilizado para otimizar o acesso a dados nas tabelas. Normalmente é construído um dicionário de chaves que indicam onde estão localizadas as informações e a ordenação física dos dados de acordo com um critério.

Full-Text Search é uma técnica para a realização de consultas textuais em grandes volumes de dados. Essa funcionalidade é implementada na forma de um índice no PostgreSQL e permite localizar palavras e frases com grande eficiência dentro de campos textuais, superando as limitações do operador LIKE.

Views

A view pode ser definida como uma tabela virtual composta por linhas e colunas de dados vindos de tabelas relacionadas em uma query (um agrupamento de SELECT’s, por exemplo). As linhas e colunas da view são geradas dinamicamente no momento em que é feita uma referência a ela.

Transações

Para garantir que os testes serão realizados de forma eficiente, é necessário haver um gerenciamento sobre as atividades e artefatos relacionados a esse processo. No artigo a seguir você verá uma introdução ao assunto:

Bancos de dados relacionais em geral são transacionais, isto é, eles permitem a execução de uma sequência de operações como um bloco indivisível de forma a garantir a integridade dos dados em um ambiente com acesso concorrente. Nos artigos a seguir você compreenderá melhor o conceito de transação e como empregá-lo no SQL Server:

Triggers

Triggers (gatilhos) são blocos de código que podem ser executados quando houver a ocorrência de algum evento associado a eles, como a inserção, modificação ou exclusão de um registro em uma tabela. Consulte os links a seguir para saber mais sobre os triggers e quando usá-los:

Segurança

A aplicação de conceitos de segurança é recomendada para empresas de todos os segmentos. É necessário proteger os dados de usuários não autorizados ou mal intencionados. Para isso é importante a adoção de uma estratégica de segurança, sobre a qual você aprenderá nos links a seguir:

Dentro do contexto de segurança, a criptografia é um recurso amplamente utilizado para garantir que os dados não possam ser obtidos de forma insegura. No artigo abaixo você aprenderá a implementar essa prática no SQL Server:

Já os links a seguir tratam da prevenção de um tipo de ataque chamado SQL Injection, que consiste de adicionar instruções SQL em consultas feitas ao banco a fim de expor as informações ou alterar sua estrutura.

XML

O SQL Server conta com recursos para lidar com XML diretamente no banco de dados, o que é especialmente útil quando precisamos lidar com dados provenientes da integração entre sistemas ou Notas Fiscais Eletrônicas, por exemplo. Conheça alguns desses recursos nos artigos a seguir:

Auditoria

Auditoria é uma técnica que consiste de armazenar registros sobre as ações realizadas no banco de dados, a fim de que seja possível identificar o que ocorreu no banco em determinado momento e quem foi o responsável.

Backup

Hoje em dia as empresas estão, mais do que nunca, procurando manter seus dados seguros e de maneira que sua recuperação seja a mais rápida possível. Pensando nisso, o administrador de banco de dados deve sempre ter em mente quais são suas opções e melhores práticas utilizadas e disponíveis no mercado no que diz respeito a backups e recuperação, algumas das quais você pode conferir no artigo a seguir:

Particionamento

O particionamento, no contexto de bancos de dados, consiste de dividir as tabelas fisicamente em várias partes menores. Quando isso é feito, queries que acessam apenas uma determinada parte dos dados podem ser executadas de forma mais rápida, pois haverá uma quantidade menor de dados a ser consultada.

Alta disponibilidade

Alta disponibilidade (ou high availability) é uma característica de sistemas capazes de resistir a falhas de software ou hardware e responder adequadamente às requisições que lhe são feitas mesmo em situações críticas, mantendo-se disponível para seus usuários durante o maior tempo possível (idealmente 100%). Veja abaixo alguns artigos explicando um pouco melhor alta disponibilidade.

Otimização de desempenho

Muitas vezes é necessário aplicar mudanças visando otimizar o desempenho das operações de escrita e leitura de dados. Nesses cenários pode-se empregar um conjunto de técnicas para que as operações de acesso ao banco de dados possam ser realizadas mais rapidamente.

Uma das técnicas utilizadas para otimizar o desempenho de aplicações, incluindo bancos de dados, é o paralelismo, que consiste de dividir certas operações entre vários processadores para que elas possam ser executadas mais rapidamente.

Problemas de lentidão e falha também podem estar relacionados ao hardware, portanto é importante saber usar corretamente esses recursos. Para saber mais sobre o assunto, consulte os artigos abaixo:

Monitoramento

Uma das principais atividades desempenhadas por DBAs é o monitoramento frequente das bases de dados, a fim de verificar a saúde do servidor e dos bancos de dados, identificar pontos de falha e corrigi-los. Nesta seção separamos alguns conteúdos sobre o monitoramento do SQL Server:

Ainda nesse contexto, uma das ferramentas mais utilizadas no SQL Server é o Profiler, que permite monitorar conexões e instruções realizadas no banco:

Comparativos entre SGBDs

Comparar SGBDs sempre é um grande desafio, pois cada banco de dados tem suas características que podem ser melhor aproveitadas em determinados contextos. Sendo assim, é importante conhecer as características de cada opção disponível no mercado a fim de optar pela que melhor atende às necessidades do negócio. A sequência de links a seguir demonstra como realizar tarefas comuns nos diferentes bancos, comparando suas sintaxes e estruturas:

Extra

Nesta seção trazemos reunimos diversos artigos que lhe permitirão aprimorar seus conhecimentos sobre administração e uso do SQL Server.

Mais sobre bancos de dados

Além dos vídeos e artigos contidos nesse guia, a DevMedia publica com frequência novos conteúdos sobre bancos de dados, os quais você encontra nos Guias de Consulta abaixo:

Ficou com alguma dúvida?