Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 New Features: As funções de ranqueamento -->
 
Avaliação: Não avaliado | Publicado em: 27/11/2006
SQL Server 2005 New Features: As funções de ranqueamento
Gustavo Maia Aguiar é administrador de Empresas pela Universidade de Brasília (UnB) e pós-graduado em bancos de dados pela Universidade Católica de Brasília (UCB), atua na área de tecnologia de informação desde 2001, exercendo funções de desenvolvedor, analista, administrador de banco de dados (DBA) e administrador de dados (AD). É profissional certificado (MOS, MCDBA, MCAD, MCTS (SQL 2005), MCITP (DB Dev), MCITP (DB Admin), MCT e Itil Certified Professional) e suas áreas de interesse incluem .NET, XML, SQL Server, banco de dados em geral e Business Intelligence. É membro ativo dos fóruns MSDN e TechNet além de moderador da comunidade SQL Server Brasil (Orkut).


Funções de Ranqueamento no SQL Server 2005

Algumas vezes, por melhor que nosso banco de dados esteja modelado, é impossível realizar determinadas consultas utilizando instruções SELECT padrão. Entre diversas dessas situações, está a necessidade de utilizar referências posicionais (nº da linha) para atender determinado filtro, a construção de rotinas de paginação a partir de consultas ao banco de dados e até a elaboração de colunas de ranque avançadas. Nas versões anteriores do SQL Server, havia limitações para fazer isso. Apresentar, por exemplo, o número de uma determinada linha, ou ainda retornar o terceiro registro de uma tabela (sem Identity) era algo um pouco trabalhoso e quase sempre envolvia recursos onerosos (subqueries, cursores e tabelas temporárias).

Alguns bancos de dados possuem mecanismos adicionais (extensão do padrão SQL ANSI) para lidar com essa situação. O MySQL possui a função LIMIT, o ORACLE possui as funções ROWNUM e RANK, o DB2 possui algumas outras como FETCH FIRST e ROW_NUMBER(), etc. Felizmente na versão 2005, o SQL Server fez diversos melhoramentos no Transact SQL e disponibilizou algumas funções para trabalhar referências posicionais e ranqueamento.

Pré-requisitos

Além de possuir o SQL Server 2005 instalado, é necessário que esteja instalado o banco de dados Adventure Works. Esse banco de dados é o banco de dados de exemplo do SQL Server 2005 e servirá para a explicação dos conceitos e testes das consultas que serão elaboradas. Se você não o possui, baixe-o do site da Microsoft ou instale-o a partir do CD de instalação do SQL Server. Na seção “Links relacionados”, logo ao término do artigo, estão disponíveis alguns links para baixar o banco de dados ou reinstalá-lo a partir do CD do SQL Server 2005.

É desejável um conhecimento mínimo sobre o banco de dados Adventure Works. Confesso que só a visualização do MER físico já pode ser uma experiência um pouco difícil para iniciantes. Nessas horas tenho uma certa saudade do bom e velho Northwind, mas como esse é o banco de exemplos do SQL Server 2005, ele será utilizado. Afinal conhecê-lo é importante da mesma forma que foi o Northwind. Ambos os bancos de dados são baseados em um sistema de pedidos. A diferença é que o AdventureWorks, além de muito mais robusto, tem o foco em bicicletas (maiores detalhes consulte o Books Online). Utilizaremos apenas um subconjunto desse banco. Para maiores detalhes sobre o diagrama, consulte a seção “Links relacionados” para obter o link que permite o download do diagrama ou construa-o pelo SQL Management Studio.

Páginas: « Anterior 1 2 3 4 5 6 7 8 Próximo »  Próximo: ROW_NUMBER »