Você está aqui: Principal > Artigos > Windows
  :: Autor: Lazaro Fernandes Lima   :: Site:     www.sindiconet.com.br
  :: Data:  13/09/2007   :: e-mail: webmasterlazaro@gmail.com
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

EXPRESSÕES REGULARES NO MICROSOFT SQL SERVER 2000

Sobre o Autor:
Lazaro Fernandes Lima é WebDeveloper em ASP/ASP.NET/SQL, trabalha com desenvolvimento de portais B2B desde 2006 no www.sindiconet.com.br, um dos maiores portais B2B do Brasil.

EXPRESSÕES REGULARES NO MICROSOFT SQL SERVER 2000
Lazaro Fernandes Lima

TÓPICOS

  • UMA BREVE HISTÓRIA
  • EXPRESSÕES REGULARES NO SQL SERVER 2000
  • ENTENDENDO E REGISTRANDO A DLL
  • MÃO NA MASSA
  • CONCLUSÃO

Olá a todos, meu nome é Lazaro Fernandes Lima.

Neste artigo irei apresentar o uso de expressões regulares em SQL SERVER 2000. O artigo se destina a profissionais que utilizam SQL SERVER 2000 ou estudantes da área, também é recomendado, porém, não necessário, o conhecimento sobre expressões regulares.

Como este é meu primeiro artigo sobre SQL SERVER 2000 e o assunto é muito pouco explorado, vou começar com uma breve história sobre Expressões Regulares (Regular Expressions ou simplesmente RegEx), suas utilidades mais comuns e o porquê de Expressões Regulares no SQL SERVER 2000.

Não irei me estender muito sobre a história do assunto, o que pretendo é transmitir interesse ao amigo leitor e é claro, demonstrar que expressões regulares podem facilitar diversos processos de manutenção além de muitas outras aplicações.

UMA BREVE HISTÓRIA

No “início”, por volta de 1943, dois neurologistas publicaram um estudo do qual teorizavam o funcionamento de nossos neurônios.

Alguns anos se passaram e Stephen Cole Kleene, matemático, descreve algebricamente os modelos desse estudo utilizando símbolos para representar seus grupos regulares (regular sets). E assim surgem as expressões regulares.

Só em 1968, Ken Thompson traz as expressões regulares para os computadores, através do editor QED. Porém em 1986 um pacote pioneiro em linguagem C chamado regex tratava das expressões regulares, qualquer um poderia utilizá-lo em seus programas, de graça. Desde então o uso das expressões regulares se tornou muito comum.

E assim finalizo nossa breve história.

EXPRESSÕES REGULARES NO SQL SERVER 2000

Depois da emocionante história das expressões regulares, vamos tratar delas no banco de dados MICROSOFT SQL SERVER 2000.

Primeiro, abra o Books Online, digite “regular expressions” (sem as aspas duplas). Segundo, feche-o, afinal de contas nada foi encontrado. Exatamente, nada foi encontrado, isto porque o SQL SERVER 2000 não tem suporte as Expressões Regulares no T-SQL.

Então o amigo leitor me pergunta:

- Lazaro, você me fez ler até aqui para me dizer que não posso utilizar expressões regulares no SQL SERVER 2000?

Calma! Não disse que não se poderia utilizar, disse que no T-SQL do SQL SERVER 2000 não existe essa possibilidade. Até existe, mas não considero como correto dizer que existe o uso de expressões regulares no T-SQL, mas que é limitado aos LIKEs que conhecemos.

Segue abaixo duas tabelas retiradas do livro Beginning Regular Expressions 2005, pela Wrox Editora (Recomendo).

Metacaracteres suportados pelo SQL SERVER 2000 utilizando o LIKE.

suported.jpg

Metacaracteres ou funcionalidades não suportadas no LIKE.

notsuported.jpg

Perceba que existem grandes lacunas pelo T-SQL do SQL SERVER 2000 quanto a este assunto!

Para isso podemos utilizar uma DLL criada em uma linguagem como a C++, do qual nos fornece toda a funcionalidade necessária para que possamos trabalhar com expressões regulares.

Para que possamos utilizar essa DLL precisamos registrá-la como uma Extended Stored Procedure (Extended Stored Procedure permite a integração de programas desenvolvidos em C/C++ e o SQL SERVER. As xps, depois de instaladas podem ser chamadas normalmente utilizando a mesma sintaxe das Stored Procedures em T-SQL, para maiores informações consulte o Books Online).

ENTENDENDO E REGISTRANDO A DLL

A DLL foi desenvolvida em C++, todo o projeto está documentado e pode ser baixado através do codeproject livremente. Segue link do projeto, http://www.codeproject.com/managedcpp/xpregex.asp

A DLL está disponível na pasta Release do projeto.

Agora que temos o projeto e a DLL em mãos possuímos todo o conhecimento necessário para utilizá-la. Vamos agora registrar nossa DLL como uma Extended Stored Procedure do SQL SERVER 2000.

1 - Coloque a DLL xpRegex.dll no diretório (Microsoft SQL Server\MSSQL\Binn).
2 - Execute o comando abaixo no Query Analyser para registrar a DLL no servidor.

USE master
GO
EXEC sp_addextendedproc 'xp_regex_format', 'xpRegex.dll'

Explicando o código.
sp_addextendedproc – Insere uma Extend Stored Procedure ao servidor. Dois parâmetros são utilizados, [Nome] e [DLL].
Somente usada no MASTER, pois as Extended Stored Procedures somente podem ser criadas e utilizadas apartir deste banco de dados.

3 - Execute o comando abaixo no Query Analyser com o seu banco de dados para que possamos adicionar a função que irá utilizar a nossa Extended Stored Procedure.

CREATE FUNCTION [dbo].[fn_regex_format]
(
      @input VARCHAR(8000),        -- the input text
      @pattern VARCHAR(8000),      -- a regular expression
      @result VARCHAR(8000)        -- how to format the output
)
RETURNS VARCHAR(8000) AS 
BEGIN
      DECLARE @captureText VARCHAR(8000)
      EXEC master.dbo.xp_regex_format @input, @pattern, @result, @captureText OUT
      RETURN @captureText
END
GO

Acredito que maiores explicações não são necessárias sobre a criação desta função.

Agora que registramos nossa DLL execute o seguinte teste para verificar se esta tudo funcionando perfeitamente.

CREATE TABLE #CEP(CEP   VARCHAR(9))
INSERT #CEP VALUES ('12345-678')
INSERT #CEP VALUES ('1234S678')
INSERT #CEP VALUES ('12343-678')
INSERT #CEP VALUES ('12345678')
INSERT #CEP VALUES ('12345X678')
SELECT dbo.fn_regex_format(CEP,'(\d{5}-\d{3})|(\d{8})','1')
FROM #CEP

O retorno deve ser igual à imagem abaixo.

first_test.jpg

Sendo que, todo valor de retorno igual nulo (NULL) é inválido, ou seja, a expressão regular acusou formato inválido de CEP para dois registros de forma correta e consistente.

Explicando a expressão regular.

\d{5}     = defino que a busca deve retornar toda string que contenha cinco(5) dígitos numéricos.
-         = simplesmente defino que terá um traço(-) naquela posição.
|         = este é o operador OR(OU) da expressão regular.
()        = define que aquele conteúdo será usado posteriormente através de marcadores pré-definidos. No caso, acabei não usando esse valor para não complicar (iria retornar a string dentro dos parênteses, explicarei mais adiante), utilizei somente o valor “1” fixo para o retorno, do qual, somente retorna algo se o valor passar na verificação da nossa expressão regular (no caso, o parâmetro que defini foi retornado somente quando o CEP passou na verificação, por isso o retorno no grid foi “1” para os válidos).

Não irei me estender muito à explicação das sintaxes adiante, irei somente enfatizar pontos importantes e que são extremamente necessários ao entendimento do que iremos fazer.

MÃO NA MASSA

Para que possamos nos identificar ainda mais com as expressões regulares, iremos utilizá-las para validar uma base de CEPs, algo que pode dar certa dor de cabeça para novos desenvolvedores, mas que será transmitida aqui de foram simples.

Iremos considerar que durante anos foram inseridos CEPs em nossos formulários de forma ineficiente, o que permitiu CEPs com as seguintes características:

- Em branco
- Números repetidos
- Ceps incompletos
- Ceps em formatos distintos (00.334=444)

O correto seria literalmente desconsiderar estes Ceps, porém no nosso problema precisamos ter o máximo de Ceps possíveis para uso posterior, e devemos considerar a “criatividade” nos cadastros de ceps no nosso site.

Resumindo... Temos 20mil Ceps cadastrados e desejamos ter uma relação de válidos x inválidos.

Iremos criar uma tabela temporária que irá armazenar o código do nosso registro que contém o CEP (código do usuário, por exemplo), CEP original, CEP já validado e situação. O campo situação irá somente classificar os válidos e inválidos.

1 – Insira os dados na tabela temporária #CEPS_VALIDOS utilizando a expressão regular para validar o CEP.
2 – Classifique os inválidos como os registros com valor NULL no CEP e valores repetidos (utilizando WHERE convencional).

Pronto.

Até parece mágica, mas isto é possível com o uso de expressões regulares no SQL SERVER 2000.

Abaixo o script de inserção com a expressão regular, veja que existem algumas particularidades nesta expressão regular.

INSERT #CEPS
SELECT    usuario_codigo,
          usuario_cep,
dbo.fn_regex_format(usuario_cep,'(\d{2})\.?(\d{3})[?;:|.+_= -]?(\d{3})|(\d{8})','$1$2$3$4'),
     null
FROM usuarios
order by 3

Nossa expressão regular está extremamente simples (\d{2}).?(\d{3})[?;:|.+_= -]?(\d{3})|(\d{8}), considerei que pode ou não ter um ponto(.), pode ou não ter cada um destes caracteres (;:|.+_= -), todos na suas devidas posições.

A única diferença são os parênteses( () ) que são parâmetros de retorno e os valores de saída ($1$2$3$4) que representam a ordem de apresentação dos parâmetros de retorno, sendo que, a ordem se inicia em $1, ela é definida automaticamente por cada parâmetro de retorno.

Obs: O quarto parâmetro e a verificação “|(\d{8}})” na verdade não são necessários, estão somente para ter semelhança ao primeiro exemplo.

Para que possamos entender como estes parâmetros funcionam acompanhe o exemplo abaixo:

CREATE TABLE #CEPS (CEP   VARCHAR(12))
INSERT #CEPS VALUES ('12.333=444')
INSERT #CEPS VALUES ('12333=444')
INSERT #CEPS VALUES ('12P333=444')
INSERT #CEPS VALUES ('1233355=44')
INSERT #CEPS VALUES ('12533424')
INSERT #CEPS VALUES ('12.333444')
INSERT #CEPS VALUES ('12.3433444')
INSERT #CEPS VALUES ('12333444')
INSERT #CEPS VALUES ('12S333444')
INSERT #CEPS VALUES ('12333S444')
INSERT #CEPS VALUES ('12333-444')
CREATE TABLE #CEPS_VALIDOS (CEP VARCHAR(12))
INSERT #CEPS_VALIDOS
SELECT dbo.fn_regex_format(CEP,'(\d{2})\.?(\d{3})[?;:|.+_= -]?(\d{3})|(\d{8})','$1$2$3$4')
FROM #CEPS

SELECT * FROM #CEPS_VALIDOS

-- ou
DELETE #CEPS_VALIDOS
INSERT #CEPS_VALIDOS
SELECT dbo.fn_regex_format(CEP,'(\d{2})\.?(\d{3})[?;:|.+_= -]?(\d{3})|(\d{8})','($1)$2=$3*$4')
FROM #CEPS
SELECT * FROM #CEPS_VALIDOS

Percebam que, com o uso dos parâmetros posso “moldar” a saída que desejar. Isto nos permite grande flexibilidade e facilidade no controle sobre os dados válidos.

CEPS_Tratados.gif

Ou

CEPS_Tratados2.gif

Bom, apartir de agora podemos fazer outras verificações sem a necessidade de expressão regular, como um simples WHERE para comparar se o CEP é 11111111 ou 22222222 e assim por diante.

CONCLUSÃO

Com o uso de expressões regulares podemos validar dados se forma mais simples, eficiente e segura.

Espero que tenham gostado, este assunto ainda é muito pouco explorado e raramente existe um artigo em português sobre o assunto.

Um ponto importante a ressaltar é que o uso de uma Extended Stored Procedure não é tão rápido quanto se pode imaginar, a própria expressão regular, quando mal desenvolvida, pode também garantir segundos ou até minutos a mais de execução.

As expressões regulares que utilizei são somente exemplos, sendo que existem mais regras a considerar nestas mesmas expressões regulares que poderia estar utilizando, preferi não estender a expressão regular para não confundir aqueles que estão iniciando seu aprendizado em expressões regulares e além é claro, de não ser necessário ao entendimento do artigo.

Como já mencionei anteriormente, um bom livro para aprender expressões regulares é Beginning Regular Expressions 2005, pela Wrox Editora, sites como www.aurelio.net e http://www.codeproject.com/dotnet/regextutorial.asp.

Um bom programa para criar suas próprias expressões regulares é o Expresso 3.0.

Qualquer dúvida sobre o assunto envie um email para webmasterlazaro@gmail.com, sugestões para novos artigos sobre este assunto são muito bem vindas.

Até mais.



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