Você está aqui: Principal > Artigos > Windows
  :: Autor: Rodrigo Crespi   :: Site:     www.crespi.pro.br/
  :: Data:  31/05/2006   :: e-mail: rodrigo@crespi.pro.br
LIVROS
Administração e Negóci...
Aplicativos
AutoCAD
Banco de Dados
Carreira e Trabalho
Criação de Sites e Web...
Cultura e Interesse Ge...
Exames de Certificação
Excel
Finanças e Investiment...
Gráficos e CorelDraw
Hardware e Montagem
Office 2007
Programação
Redes
Segurança
Windows e Linux
Word
VÍDEO-AULAS
Access
Administração e Negócios
Banco de Dados
CAD
Concursos Públicos
Excel
Hardware e Montagem
Internet
PowerPoint
Programação
Programas Gráficos
Redes e TCP/IP
Vídeo e Áudio
Webdesign
Windows
Word
E-BOOKS
Access
Administração e Negócios
Área Gráfica
Banco de Dados
BrOffice
CAD
Certificações Microsoft
Concursos Públicos
Excel
Formação Pessoal e Profissional
Internet
Linux
Literatura e Outros
PowerPoint
Programação
Redes e TCP/IP
Vìdeo
Webdesign
Windows
Word
Cursores

Introdução

As operações com conjuntos de linhas é uma das características que define um banco de dados relacional. Um conjunto pode ser vazio ou poderá conter uma única linha, mas ainda assim será um conjunto. Isso é útil e necessário para operações relacionais e algumas vezes inconvenientes para os aplicativos.

Apesar da expansão do SQL fornecida pelo T-SQL para tornar muito mais programável, ainda existem operações de alto cost, difíceis ou simplesmente impossíveis de se realizar em conjuntos.

Os cursores ajudam a lidar com algumas destas situações, pois é um objeto que aponta para uma determinada linha dentro de um conjunto. Podendo assim executar operações como: atualizar, excluir ou mover dados.

Entendendo os Cursores

O SQL Server suporta dois tipos de cursores: os cursores T-SQL e os cursores API (Application Programming Interface). Neste artigo falarei dos cursores do tipo T-SQL, isso porque para utilizarmos um cursor API teremos que ter a documentação apropriada de cada API que será utilizada, ou seja, os cursores do tipo API são específicos de cada API.

Os cursores T-SQL são criados usando o comando DECLARE CURSOR. Quando estamos utilizando um cursor a partir de uma aplicação conectada a um servidor Microsoft SQL Server, cada operação no cursor requer uma viagem de ida e volta através da rede.

O conjunto de linhas para o qual um cursor aponta é definido pelo comando SELECT. Existem algumas restrições SELECT ao se criar um cursor T-SQL:

  • Não poderá retornar vários conjuntos de linhas.
  • Não poderá conter a cláusula INTO para criar uma nova tabela.
  • Não poderá conter a cláusulas COMPUTE ou COMPUTE BY, contudo poderá conter funções agregadas, tais como AVG.

Vamos analisar algumas características dos cursores e para não confundir muito dividirei em três grupos de cursores pelas suas características:

    • Capacidade de refletir alterações em dados subjacentes.
    • Capacidade de rolar pelo conjunto de linhas.
    • Capacidade de atualizar o conjunto de linhas.

Refletindo alterações

Se criarmos um cursor com a instrução abaixo:

SELECT * FROM rg_cidade WHERE nmcidade LIKE '%i%'

O banco de dados irá retornar algo similar à imagem abaixo.

Imagine se alguém alterar a linha do registro ‘Farroupilha’ o que acontecerá com o conjunto de dados apontados pelo cursor?

Existem dois tipos de reflexos que podem ser determinados separadamente quando você criar o seu cursor:

  • Alterações nas quais as linhas estejam incluídas no conjunto
  • Alterações nos valores das linhas subjacentes.

Rolagem

Outra característica é se você poderá utilizar o cursor para rolar para frente e para trás ou somente para frente. Aqui encontraremos o velho dilema velocidade X flexibilidade. Os cursores que vão apenas para frente são significativamente mais rápidos, mas menos flexíveis.

Atualização

Por último, é se as linhas podem ser atualizadas pelo cursor. Mais uma vez, os cursores de somente leitura geralmente são mais eficientes, porem menos flexíveis.

Tipo de cursor

O T-SQL suporta quatro tipos de cursor diferentes:

  • Static
  • Keyset
  • Dynamic
  • Firehose

Cada tipo de cursor armazena os dados de maneira diferente e cada um suporta diferentes tipos de combinações de características descritas anteriormente. Veja a descrição de cada tipo de cursor abaixo:

Static: os cursores static fazem uma cópia dos dados especificados pela instrução SELECT e a armazena no banco de dados tempdb. Este tipo de cursor não permite alterações nos valores de associação ou dados, como qualquer atualização refletiria apenas uma cópia, este tipo é sempre somente leitura. Static podem, contudo ser declarados como forward-only (apenas para frente) ou scrollable (roláveis).

Keyset: um cursor keyset copia para o tempdb apenas as colunas necessárias para identificar exclusivamente cada linha. Para declarar um cursor deste tipo, cada tabela envolvida na instrução SELECT de definição deverá ter um índice exclusivo que defina o conjunto de chaves a ser copiado.

Os cursores keyset podem ser updatable (atualizáveis) ou read-only (somente-leitura) e também scrollable (roláveis) ou forward-only (apenas para frente).

Um cursor keyset é fixado quando você declara o cursor. Se uma linha que satisfaça as condições selecionadas for adicionada enquanto o cursor estiver aberto ela não será adicionada ao conjunto de dados.

Embora a associação na definição do cursor seja fixada quando você abre o cursor, as alterações aos valores de dados nas tabelas subjacentes geralmente são refletidas. Por exemplo, as alterações para o valor nmcidade da linha “Farroupilha” seriam retornadas pelo cursor. As alterações para os valores definidos por chaves, contudo refletirão no cursor apenas se forem feitas pelo cursor. Para continuar o exemplo anterior, se o valor fosse alterado pelo cursor, este retornaria, então, o valor alterado. Porém, se a alteração fosse feita por outro usuário, este cursor continuará retornando o valor anterior.

Dynamic: um cursor dynamic comporta-se como se uma instrução SELECT fosse lançada novamente sempre que uma linha fosse referenciada. Os cursores Dynamic refletem as alterações de valor tanto da associação quanto dos dados subjacentes, quer essas alterações tenham sido feitas pelo cursor ou por qualquer outro usuário.

Firehose: Esse tipo de cursor é declarado usando FAST_FORWARD, mas é mais conhecido como um cursor firehose. Existem duas restrições importantes quanto ao seu uso.

  • Se a instrução SELECT que define o cursor faz referencia a colunas do tipo text, ntext ou image e contiver a cláusula TOP, o SQL Server converterá o cursor firehose em um cursor keyset.
  • Se a instrução SELECT combinar tabelas que contenham triggers o cursor será convertido para static.

Criando cursores

Para criar um cursor utilizamos a instrução DECLARE CURSOR. A sintaxe da instrução DECLARE CURSOR copiada do Books Online é:

Veja abaixo a explicação para cada linha da instrução acima:

  1. É usado para definir o escopo do cursor assim como funciona em tabelas temporárias (@local ou @@global).
  2. Indica a rolagem a ser definida para o cursor e aceita as palavras-chaves: FORWARD_ONLY e SCROLL.
  3. Usado para definir o tipo do cursor a ser criado: STATIC, KEYSET, DYNAMIC e FAST_FORWARD.
  4. Indica o tipo de bloqueio, se as linhas poderão ser atualizadas pelo cursor e, se assim for, se outros usuários também poderão atualizá-los.
  5. Este parâmetro instrui o SQL Server para enviar uma mensagem de aviso para o cliente se um cursor for convertido do tipo especificado em outro tipo.
  6. Específica às linhas a serem incluídas no conjunto do cursor.
  7. Este parâmetro é opcional, por padrão os cursores são atualizáveis a não ser que o parâmetro de bloqueio seja READ_ONLY. Neste parâmetro podem-se especificar as linhas que permitem a atualização. Se forem omitidas todas as colunas na instrução serão atualizáveis.

Variáveis de cursor

O T-SQL permite declarar variáveis do tipo CURSOR. A sintaxe DECLARE padrão não cria o cursor, para isso use o SET a variável explicitamente. Este tipo de sintaxe é útil quando desejamos criar variáveis que possam ser atribuídas a diferentes cursores, o que poderá fazer se criar um procedimento genérico que opere em vários conjuntos de resultados.

Abrir um cursor

A declaração de um cursor cria um objeto cursor, mas não cria o conjunto de linhas que serão manipuladas pelo cursor. O conjunto do cursor não será criado até que se abra o cursor.

OPEN [GLOBAL] cursor_ou_variável

Feche um cursor

Após ter terminado de usar um cursor, devemos fechá-lo. A instrução CLOSE libera os recursos usados para manter o conjunto do cursor e também liberta quaisquer bloqueios que tenham sido colocados nas linhas se tiver usado parâmetros como: SCROLLOCKS.

CLOSE [GLOBAL] cursor_ou_variável

Desalocar um cursor

Na seqüência de criação de um cursor o DEALLOCATE é o último comando. Sua sintaxe é parecida com os comandos anteriores:

DEALLOCATE [GLOBAL] cursor_ou_variável

Este comando remove o identificador do cursor e não o cursor ou variável. O cursor não será removido até que os identificadores sejam desalocados ou fiquem fora do escopo.

Manipulando linhas com um cursor

O T-SQL suporta três comandos diferentes para trabalhar com cursores: FETCH, UPDATE e DELETE.

O comando FETCH recupera uma linha especifica do conjunto do cursor. Em sua forma mais simples, o comando FETCH possuí a seguinte sintaxe:

FETCH cursor_ou_variável

Um comando FETCH simples

Abaixo veremos um cursor criado para retornar o primeiro registro da tabela de cidades.

Podemos também utilizar o FETCH para armazenar o resultado em uma variável utilizando o FETCH cursor INTO variável. Veja o exemplo abaixo:

Além disso, podemos utilizar o FETCH para com uma combinação de palavras chaves, por exemplo:

  • FETCH FIRST – retorna a primeira linha da variável.
  • FETCH NEXT – retorna a linha seguinte.
  • FETCH  PRIOR – retorna a linha anterior.
  • FETCH RELATIVE n – retorna a linha n.
  • FETCH ABSOLUNT n – pode especificar linhas antes da linha atual.

FETCH NEXT com um cursor firehose

Atualizando linhas com um cursor

Desde que o cursor seja atualizável, alterar os valores subjacentes em um conjunto do cursor é bastante simples. Vejamos o exemplo abaixo:

Observe que este script irá retornar duas consultas, uma com o valor inicial do cursor e outro é o SELECT depois do UPDATE.

Monitoramento dos cursores

O T-SQL fornece duas variáveis globais e uma função para auxiliar a compreender o que está acontecendo com os cursores, @@CURSOR_ROWS que retorna o número de linhas no cursor aberto por último pela conexão, abaixo veremos uma tabela com os valores que podem ser retornados pela @@CURSOR_ROWS.


-m

O cursor ainda não foi completamente preenchido.

-1

O cursor é dinâmico e o número de linhas pode variar.

0

Ou nenhum cursor foi aberto ou o mais recente não foi fechado e liberado ou o cursor contem 0 linhas.

N

O número de linhas no cursor.

@@FETCH_STATUS retorna informações sobre o último comando FETCH que foi lançado, a tabela baixo mostra os valores de retorno para @@FETCH_STATUS.


0

O FETCH foi realizado com sucesso.

-1

O FETCH falhou.

-2

O registro trazido foi perdido.

CURSOR_STATUS é uma função T-SQL que possuí a seguinte sintaxe:

CURSOR_STATUS (tipo, cursor_ou_variável)

O tipo pode ser: local, global ou variable. Os resultados da função seguem na tabela abaixo:


1

Se a função for chamada para um cursor dynamic, o conjunto do cursor possuirá zero, uma ou mais linhas. Se a função for chamada para outro tipo de cursor, ela possuirá ao menos uma linha.

0

Conjunto de cursores está vazio.

-1

O cursor está fechado.

-2

É retornado apenas para as variáveis de cursor. Ou o cursor atribuído à variável especificada está fechado ou nenhum cursor foi atribuído à variável ainda.

-3

O cursor ou variável de cursor especificada não existe.

Conclusão

No dia-a-dia os cursores facilitam o desenvolvimento e facilitam o trabalho em conjunto de dados, ou seja, dados que não poderiam ser manipulados somente utilizando cláusulas básicas do SQL.

Entretanto, os cursores são uma “faca de dois gumes”. Tudo o que ele provém de facilidade, pode também converter-se em cost. Um exemplo clássico é uma consulta com um cursor em relação a um comando SELECT. O SELECT tem menos cost e o resultado final será o mesmo.

Partindo desta premissa recomendo utilizar cursores quando realmente sejam imprescindíveis.

Web site: www.crespi.pro.br

email: rodrigo@crespi.pro.br



LIVROS CAMPEÕES DE VENDA NO SITE

Cursos Online com Certificado e Suporte à Dúvidas

CURSOS ONLINE COM CERTIFICADO - INDICADOS POR JÚLIO BATTISTI
EM PARCERIA COM BRAVA CURSOS
INFORMÁTICA
  • Curso de Digitação
  • Formatando e Instalando Computador
  • Excel para Iniciantes
  • Curso Compre no Ebay
  • Informática Educativa
  • Curso de Linux
  • Segurança na Internet
  • Montagem e Manutenção de Computadores
  • Curso Remoção de Vírus
  • Curso Ubuntu
  • Instalação Linux - Ubuntu
  • AdministraÇÃo
  • Gestão de Projetos e Empreendedorismo
  • Benefícios da Previdência
  • Curso HP 12C
  • Matemática Financeira
  • Curso Análise Salarial
  • Processo de Elaboração de Questionário
  • Excelência no Atendimento ao Cliente
  • Logística do Transporte
  • Licitações e Contratos Administrativos
  • Profissionalizante
  • Adestramento Canino
  • Como fazer pesquisa Científica e Monografia
  • Curso de Corte e Costura
  • Supervisor de Telemarketing
  • Balconista de Padaria
  • Curso Educação Infantil
  • Recepcionista e Secretaria
  • Velas Artesanais
  • Relações Interpessoais
  • Curso de Arbitragem
  • Bullying e Cyberbullying
  • Capacitação de Tutores em EAD
  • EstÉtica
  • Curso de Massoterapia
  • Curso de Depilação
  • Drenagem Linfática
  • Curso de Maquiagem
  • Limpeza Turbinada de Pele
  • Alisamento e Relaxamento Capilar
  • Curso de Etiqueta
  • SPA de Vinhoterapia na Estética Facial
  • Curso de Shantala
  • Introdução à Colorimetria Capilar
  • Pessoal
  • Curso de Caligrafia
  • Memorização
  • Chefia e Liderança
  • Curso Falar em Público
  • Curso Bases Neurológicas
  • Leitura Dinâmica
  • Planejamento de Projeto Pessoal
  • Reforma Ortográfica
  • Como Passar em Concursos Públicos
  • Direção Defensiva
  • Administração do Tempo
  • Curso de Redação
  • Curso de Meditação
  • Como Passar no Vestibular
  • Atualização Gramatical
  • NegÓCIOS
  • Relações Humanas e Ética Profissional
  • Marketing e Vendas Diretas
  • Persuasão em Vendas
  • Entretenimento
  • Curso de Mágica
  •  
    SaÚde
  • Primeiros Socorros
  • Curso de Fitoterapia
  • Curso de Aromaterapia
  • Medicina Alternativa
  • Plantas Medicinais
  • Técnicas básicas de Enfermagem
  • O Trabalho do Agente Comunitário de Saúde
  • Ergonomia - Postura Correta em Frente ao Computador
  • Ética Profissional - Ênfase em Radiologia
  • Adolescência: Visão Saúde do Assunto
  • Meio Ambiente
  • Curso Gestão Ambiental
  • Jardinagem e Paisagismo
  • Curso de Reciclagem
  • Curso de Bonsai
  • MÚsica
  • Curso de Violão
  •  
    NutriÇÃo
  • Higiene e Manipulação de Alimentos
  • Congelamento de Alimentos
  • Culinária Básica
  • Culinária Intermediária
  • RelaÇÕes Humanas
  • Curso Gestão de Pessoas
  • Departamento Pessoal
  • Desenvolvimento Pessoal Empresarial
  • Curso de Telemarketing
  • Curso Dinâmica em Grupo
  • Rescisão Contrato de Trabalho
  • Folha de Pagamento na Prática
  • Atendimento ao Cliente
  • Adm. da Empregada Doméstica
  • Curso de Homolognet
  • Recursos Humanos - Férias
  • Recursos Humanos - 13° Salário
  • Registro de Empregados
  • Web Master
  • Curso de HTML
  • Curso de WordPress
  • Curso de HTML5
  • Designer GrÁfico
  • Curso de Corel Draw
  • Efeitos Especiais com InDesign CS5
  • Efeitos Tipográficos com InDesign CS5
  • CURSO EM FORMATO DE VÍDEO-AULA
    EXEMPLOS PRÁTICOS PASSO A PASSO COM SOM E IMAGEM
    Clique no curso para informações detalhadas
    Curso Duração Informações
    ACCESS
    Vídeo Aula: Access 2007 - Consultas - Curso Completo e Prático 4:30h Clique aqui
    Vídeo Aula: Access 2007 - Curso Básico e Prático 5:30h Clique aqui
    Vídeo Aula: Access 2007 - Curso Intermediário - Passo a Passo 5:00h Clique aqui
    Vídeo Aula: Access 2007 Avançado Macros e Programação VBA 11:30h Clique aqui
    Vídeo Aula: Access 2010 - Básico + Intermediário 3:00h Clique aqui
    Vídeo Aula: Aprenda Access 2007 - Curso Prático 1:30h Clique aqui
    Vídeo Aula: Formulários e Macros no Access 2007 - Curso Prático 6:00h Clique aqui
    Vídeo-Aula - Access 2007 - Curso Básico 2:01h Clique aqui
    Vídeo-aula - Access 2007 - Tudo Sobre Consultas 2:30h Clique aqui
    Vídeo-Aula - Curso Avançado de Access 2003 2:48h Clique aqui
    Vídeo-Aula - Curso Básico de Access 2003 2:49h Clique aqui
    EXCEL
    Vídeo-aula - Curso de Macros e Programação VBA no Excel - Básico e In... 13:02h Clique aqui
    Vídeo-Aula: Excel 2007 - Curso Avançado 6:00h Clique aqui
    Vídeo-Aula: Excel 2007 Avançado - Passo a Passo 7:30h Clique aqui
    Vídeo Aula: Aprenda Excel 2007 - Avançado 1:30h Clique aqui
    Vídeo Aula: Excel 2010 - Básico e Intermediário 7:36h Clique aqui
    Vídeo aula: Excel 2010 - Dashboards - Curso Completo 2:49h Clique aqui
    Vídeo Aula: Funções de Pesquisa no Excel 2007 2:00h Clique aqui
    Vídeo Aula: Macros e Programação VBA no Excel 2007 - Básico + Intermed... 11:00h Clique aqui
    Vídeo Aula: Macros e Programação VBA no Excel 2007 Curso Avançado 4:00h Clique aqui
    Vídeo Aula: Tabelas Dinâmicas no Excel 2007 - Curso Completo 2:30h Clique aqui
    Vídeo Aula: Tudo Sobre Funções de Texto no Excel 2007 2:00h Clique aqui
    Vídeo-Aula - Criando um Cadastro de Clientes com o VBA no Excel 2003 2:14h Clique aqui
    Vídeo-aula - Criando uma Agenda no Excel 0:40h Clique aqui
    Vídeo-aula - Curso de Macros e Programação VBA no Excel - Avançado 11:27h Clique aqui
    Vídeo-aula - Excel 2003 - Curso Básico 3:03h Clique aqui
    Vídeo-Aula - Excel 2007 - Dashboards - Curso Completo 1:30h Clique aqui
    Vídeo-Aula - Tabelas Dinâmicas Avançadas no Excel 2003 2:00h Clique aqui
    Vídeo-aula - Tudo Sobre Funções Matriciais no Excel 2:30h Clique aqui
    Vídeo-Aula - Tudo Sobre Gráficos no Excel 9:00h Clique aqui
    Vídeo-aula interativa: Tudo Sobre Tabelas Dinâmicas no Excel 2003 2:30h Clique aqui
    Vídeo-Aula: Excel 2003 Avançado em 120 Lições 14:00h Clique aqui
    Vídeo-aula: Excel 2007/2010 Básico + Intermediário em 26 Lições 3:00h Clique aqui
    WORD
    Vídeo Aula: Aprenda Word 2007 - Curso Prático 1:30h Clique aqui
    Vídeo-Aula - Curso Básico de Word 2003 2:14h Clique aqui
    Vídeo-aula - Word 2003 Avançado 1:34h Clique aqui
    Vídeo-aula - Word 2003 Básico 2:14h Clique aqui
    Vídeo-Aula - Word 2007 - Curso Básico 2:23h Clique aqui
    POWERPOINT
    Vídeo Aula: Aprenda PowerPoint 2007 - Curso Prático 1:30h Clique aqui
    Vídeo-Aula - Curso Básico de PowerPoint 2003 2:22h Clique aqui
    WINDOWS
    Vídeo Aula: Aprenda Windows 7 - Curso Prático 1:30h Clique aqui
    Vídeo-Aula - Curso Básico de Windows XP 2:36h Clique aqui
    Vídeo-Aula - Windows 7 - Formatação, Instalação e Configuração 3:40h Clique aqui
    Vídeo-Aula - Windows Server 2003 e Active Directory - Instalação e Adm... 27:00h Clique aqui
    Vídeo-Aula - Windows XP - Formatação e Instalação 3:47h Clique aqui
    Vídeo-Aula - Windows XP Básico + Intermediário + Dicas Práticas 8:00h Clique aqui
    Vídeo-Aula: GPOs no Windows Server 2003 - Curso Completo 4:00h Clique aqui
    Vídeo-Aula: Windows 7 - Curso Prático 5:00h Clique aqui
    Vídeo-Aula: Windows Server 2003 - DNS DHCP WINS e TCP/IP 5:00h Clique aqui
    Windows Server 2003 - Terminal Services e Active Directory 2:30h Clique aqui
    REDES E TCP/IP
    Aprenda Redes para Casas e Escritórios 1:30h Clique aqui
    PROGRAMAÇÃO
    Vídeo-Aula: Programação Delphi - Básico + Intermediário 30:00h Clique aqui
    Vídeo Aula: Criando um Sistema de Controle de Estoque Completo com Del... 11:19h Clique aqui
    Vídeo Aula: Programação Orientada à Objetos com Java 9:00h Clique aqui
    Vídeo-Aula - CALCULADORA HP 12C - Curso Prático em 80 Lições 02:30h Clique aqui
    Vídeo-Aula - CALCULADORAS HP 50G - 49G/G+ - 48 GII 1:30h Clique aqui
    Vídeo-Aula - Curso Completo de Lógica de Programação 22:15h Clique aqui
    Vídeo-Aula - Curso Completo de PHP + HTML + CSS 27:35h Clique aqui
    Vídeo-Aula - Lógica de Programação com VB.NET 14:00h Clique aqui
    Vídeo-Aula - Programação C - Curso Básico e Intermediário 12:00h Clique aqui
    Vídeo-Aula - Programação Web com ASP.NET 3.5 e VB.NET - Básico 19:00h Clique aqui
    Vídeo-Aula - VB.NET 2010- Curso Avançado 37:00h Clique aqui
    Vídeo-Aula - VB.NET 2010- Curso Básico e Prático 22:00h Clique aqui
    Vídeo-Aula: Curso de Java e Lógica de Programação com Java 8:00h Clique aqui
    Vídeo-aula: Programação PHP - Passo a Passo em 151 Lições 2:00h Clique aqui
    Vídeo-aula: Programação Visual C Sharp 2010 - Passo a Passo 37:00h Clique aqui
    Vídeo-Aula: Programação Web com ASP.NET 4.0 e C# - Curso Avançado 22:00h Clique aqui
    Vídeo-Aula: Programação Web com ASP.NET 4.0 e C# - Curso Básico 20:00h Clique aqui
    Vídeo-aula: Visual C# 2010- Curso Avançado e Prático 32:00h Clique aqui
    CONCURSOS PÚBLICOS
    130 Questões de Matemática para Concursos Públicos - Resolvidas e Come... 6:00h Clique aqui
    Vídeo Aula: Física 1 - Ensino Médio 1:30h Clique aqui
    Vídeo Aula: Física 2 - Ensino Médio 1:30h Clique aqui
    Vídeo Aula: Português e Gramática - Teoria + Prática 30:18h Clique aqui
    Vídeo Aula: Progressão Aritmética - PA mais Progressão Geométrica - PG... 4:00h Clique aqui
    Vídeo-aula - Análise Combinatória - Teoria e Prática 6:00h Clique aqui
    Vídeo-aula - Conjuntos - Teoria e Prática 5:00h Clique aqui
    Vídeo-aula - Excel Para Concursos Públicos - Simulados e Provas Coment... 2:00h Clique aqui
    Vídeo-aula - Matemática Financeira - Teoria e Prática 9:10h Clique aqui
    Vídeo-Aula - Raciocínio Lógico - Curso Completo e Prático 12:00h Clique aqui
    Vídeo-aula - Série Concursos: Inglês ESAF - Simulados e Provas Comenta... 2:00h Clique aqui
    Vídeo-Aula: Concordância Nominal e Concordância Verbal 0h Clique aqui
    Vídeo-Aula: Matemática do 1º Ano do Segundo Grau - Curso Completo 27:00h Clique aqui
    Vídeo-Aula: Matemática do 1º Grau - Curso Completo 30:00h Clique aqui
    Vídeo-Aula: Trigonometria - Teoria e Prática - Completo 6:00h Clique aqui
    BANCO DE DADOS
    Vídeo-Aula - Dominando o ORACLE - Curso Prático 12:00h Clique aqui
    Vídeo-Aula - Linguagem SQL e Banco de Dados - Teoria e Prática 08:00h Clique aqui
    Vídeo-Aula - MySQL - Curso Completo e Prático 12:00h Clique aqui
    Vídeo-aula - SQL Server 2005 - Reporting Services 2:30h Clique aqui
    Vídeo-Aula: Dominando o SQL Server 2005 - Curso Completo 5:00h Clique aqui
    Vídeo-Aula: Firebird e Linguagem SQL - Curso Completo 12:00h Clique aqui
    WEBDESIGN
    Criando um Site Completo e Profissional com Fireworks, Flash, Dreamwe... 5:00h Clique aqui
    Criando um Site ou Blog Dinâmico, Completo e Profissional, facilmente,... 6h Clique aqui
    Vídeo-Aula - Criação de Sites - Curso Básico 3:00h Clique aqui
    Vídeo-Aula - Criando uma Loja Virtual com PHP e MySQL - Curso Completo... 19:00h Clique aqui
    Vídeo-Aula - Flash MX - Curso Básico 2:26h Clique aqui
    Vídeo-Aula - HTML - Curso Prático 2:40h Clique aqui
    Vídeo-Aula: Como Criar um Portal Profissional e Dinâmico, com o WordPr... 7:40h Clique aqui
    Vídeo-Aula: Criando uma Loja Virtual Completa com o Magento 5:33h Clique aqui
    INTERNET
    Vídeo-Aula - Curso de Microinformática Prática 4:35h Clique aqui
    Vídeo-aula - Curso Prático de Internet 0:40h Clique aqui
    Vídeo-aula - Curso Prático de Outlook Express 0:55h Clique aqui
    Vídeo-Aula: Tudo Sobre Rede Sociais - Facebook, Twitter, Orkut e MSN ... 3:00h Clique aqui
    CAD
    Vídeo-Aula - Curso de Autocad 2D 4:00h Clique aqui
    Vídeo-Aula - Curso de Autocad 3D 3:45h Clique aqui
    VÍDEO E ÁUDIO
    DVD: Conversão de Formatos Digitais: Áudio e Vídeo 1:26h Clique aqui
    Sony Vegas 8 PRO - Edição de Vídeo e Multimídia para Web 5:00h Clique aqui
    Vídeo-Aula - Curso de Teoria Musical 1:00h Clique aqui
    PROGRAMAS GRÁFICOS
    Vídeo-Aula - Adobe Illustrator CS4 - Curso Completo 3:00h Clique aqui
    Vídeo-Aula - Adobe InDesignr CS4 - Curso Completo 3:00h Clique aqui
    Vídeo-Aula - Corel Draw X4 - Curso Completo 5:00h Clique aqui
    Vídeo-Aula - Criando Efeitos Digitais com o Photoshop CS4 e com o Illu... 5:00h Clique aqui
    Vídeo-Aula - Curso de CorelDraw X4 - Módulo I 3:00h Clique aqui
    Vídeo-Aula - Curso Profissional Photoshop 4:20h Clique aqui
    ADMINISTRAÇÃO E NEGÓCIOS
    DVD - Curso de Oratória - Falando em Público sem Medo 2:36h Clique aqui
    VÍDEO AULAS DE HARDWARE E MONTAGEM DE PCS
    DVD: Hardware - Curso Básico 0:58h Clique aqui
    Vídeo Aula: Aprenda Hardware e Montagem de Microcomputadores 1:30h Clique aqui