Surrogate Keys

Uma primary key pode ser composta de um campo alfanumérico extenso ou um conjunto de colunas formando uma chave conposta, isso causa uma diminuição da performance nas consultas onde essas chaves são utilizadas para comparação, pois a comparação de campos alfanuméricos tem um custo maior que a comparação entre números inteiros, ou no caso de uma chave composta, a comparação de diversas colunas com vários valores passados como parâmetros.

Nestes casos, utiliza-se um tipo de coluna chamada surrogate key. Este tipo de coluna substitui a primary key normalmente por um campo numérico e auto-incrementado, reduzindo-se assim a complexidade de códigos de consulta e aumentandoa performance no acesso aos dados.

Esta coluna nao irá armazenar uma informação, serve apenas de identificador e dificilmente será utilizada pelo usuário final do banco de dados.

Para saber mais vale o tempo consultando o site http://en.wikipedia.org/wiki/Surrogate_key

Treinamento de SQL Server

Recentemente ministrei um treinamento de T-SQL avançado para fábrica de software da Grendene.

Os tópicos aprensentados no trienamento foram:

  • Projeto de banco de dados
  • Banco de dados
  • Estrutura de arquivos
  • Data e Log
  • Filegroups
  • Tabelas de sistema, stored procedures de sistema
  • Tipos de dados
  • Conversões de tipos
  • Tabelas
  • Tabelas temporárias
  • Integridade (domínio, entidade e referencial)
  • Custo da integridade
  • Comandos DML
  • Views
  • Stored Procedures
  • Transações e tratamentos
  • Tramento de erros
  • Triggers
  • UDF (User Defined Function)
  • Índices
  • Afundo nos índices (Clustered, nonclustered, criação e manutenção)
  • Ferramentas de otimização de queries
  • Durante o treinamento eu entrevistei os participantes (informalmente) e sempre obtive o mesmo feedback de que estavam aprendendo algo novo, isso me gratificou muito. Ao final do treinamento a minha avaliação foi muito positiva, acredito que todos que participaram com asiduidade tiveram um bom aproveitamento. Claro, levando em consideração que o professor é excelente! :)

    MCITP – Database Administrator

    Segunda-feira passada (6/7/2009) fiz o exame 70-447, upgrade do MCDBA para SQL Server 2005.

    Este exame é dividido em duas partes uma de questões de multipla escolha (padrão) e outra com cases. Na minha prova cairam 30 questões na primeira parte onde eu resolvi em pouco mais de 40 minutos e 7 casos na segunda parte da prova, nesta segunda parte cada case tinha me média 7 questões.

    Eu considerei um exame difícil porque a segunda parte da prova exige muito de interpretação do idioma inglês, atenção e agilidade, afinal o tempo é contato por case, 20 minutos cada case para ler, compreender e responder as questões.

    Também encontrei muitas questões que bastava apenas interpretação e segurança na hora de resolver, questões com enunciado indicando algo como: “resolva com o minimo de custo”, ou “resolva com o minimo de tempo”; e nessas questões eu respondi pelo enunciado e não pela solução porque nem sempre a melhor solução é a mais barata, ou a mais rápida e na vida real, no dia-a-dia é assim mesmo, temos que tomar ações conforme a disponibilidade de recursos.

    Final de semana passado já encomendei no Amazon o Tranning Kit para a prova 70-432 (MCTS SQL SERVER 2008) agora é só esperar chegar e começar o ciclo para atualizar esta certificação.

     

    Vídeo: 12 maneiras de economizar com SQL Server 2008

    Vale a pena assistir.

    O Microsoft® SQL Server® 2008 é uma plataforma de dados corporativos de alto valor que fornece funcionalidades críticas a uma fração do custo de soluções concorrentes. O SQL Server possibilita as empresas montar novas soluções dinâmicas e estender sistemas existentes a fim de ajudá-las a tirar proveito imediato de novas oportunidades de negócios, ao mesmo tempo em que reduzem custos e maximizam eficiências na organização.

    http://blogs.technet.com/sqlserverbrasil/archive/2009/07/01/v-deo-12-maneiras-de-economizar-com-sql-server-2008.aspx