| Helio Carrilho's profileHelio Carrilho Modesto J...PhotosBlogLists | Help |
|
October 27 Referência Cruzada (Pivoteamento) em Consultas T-SQLOlá caros amigos… Hoje vamos falar sobre como criamos referência cruzada (inversão de linhas em colunas), no SQL Server. A principio em versões anteriores ao 2005 usamos somente uma combinação de Sum e Case, mais a partir do 2005 foi incomporado um novo comando chamado de Pivot. O conceito de Pivot consiste em inverter campos em colunas, vamos montar um exemplo bem simples para que fique mais claro.
--crio o database de teste Em versões mais antigas (Sql Server 2000 abaixo), usamos o conjunto de sum e case, pois eles não nos dão suporte ao pivot, consiste em fixar o valor da coluna através do case e somar os valores, que se agrupam de acordo com o group by do select, exemplificando ficaria assim:
--Exemplo de inversao de linhas em colunas usando a combinação SUM e CASE
Veja o resultado da consulta na figura abaixo Já no Sql Server 2005 e superiores, possuímos o comando Pivot, que simplifica muito esse código, alem de deixa-lo mais otimizado, veja o exemplo abaixo: --A mesma consulta só que utilizando o pivot que acompanha o SQL Server 2005 e versões superiores Select AnoDeVenda Na figura acima podemos perceber que a consulta retornou os mesmos dados das anteriores, mais sem a necessidade de ultilizarmos o “group by” na consulta. Bom o Pivot é um comando muito util para usarmos nesses casos em que necessitamos transformar linhas em colunas. Qualquer duvida sobre este assunto podem entrar em contato através do email helio_consultor@hotmail.com ou postar sua mensagem no forum de SQL Server do Pantanet.
O Script pode ser baixado aqui Até a próxima. October 26 Lançamento do Windows 7 em Campo Grande- MSNesta sexta-feira (23/10/2009) ocorreu em Campo Grande o lançamento Oficial do Windows 7 em Campo Grande – MS, organizado pela BitSis comandada pelo nosso caro amigo Antonio Dornellas, contou com a participação dos carismaticos MVP’s Alvaro Rezende e Nelson Kolarik, a dupla realmente deram um show nas apresentações (que podem ser baixadas no blog do Alvaro Rezende - “Windows Server 2008 R2” e “Windows 7”). O Evento foi um sucesso contando com a participação de aproximadamente 300 pessoas, e transmitido ao vivo pela internet pelo pessoal da “Equipe A”,alcançando uma media de 60 internautas online,no qual os mesmos fizeram perguntas via Twitter ao Alvaro em tempo real, e nós do Pantanet estavamos presentes, eu, Gustavo Malheiros e Odenir Junior falamos sobre a comunidade e os programas Microsoft, incentivando aos presentes a contribuirem com a comunidade para que tenhamos cada vez mais uma comunidade forte. As fotos do evento estão abaixo:
Fica nossos sinceros agradecimentos ao Alvaro e ao Kola pelas informações que repassaram para a galera aqui do MS, e ja estamos esperando a próxima. June 08 Novos recursos do SQL Server 2008 (Intellisense e Debugger)Olá caros amigos… Voltando a serie de SQL Server, vamos falar hoje de dois novos recursos do SQL Server 2008, que particularmente esperava ansiosamente, O Intellisense e o Debugger. O Intellisense nada mais é aquele menu popup que se abre para sugestão de código, quem usa o Visual Studio já esta bem acostumado com esse recurso, algumas pessoas podem achar desnecessário este recurso, mais para quem usa o SQL Server para programar seus procedimentos armazenados e seus gatilhos sabem a falta que isso faz, principalmente em procedimentos armazenados grandes onde precisamos recuperar variáveis que criamos a todo instante. Lembrando que a visualização dos objetos do banco restringe-se as suas permissões, se você não tiver permissão de leitura em um determinado banco não enxergará. Para efetuarmos nosso teste basta abrir o SQL Server Management Studio 2008, iniciando uma conexão com o Mecanismo de Banco de Dados. Após abrir o SQL Server Management Studio 2008, escolha o banco e clique com o botão direito e vá em Nova Consulta (New Query), comece a digitar sua consulta, você perceberá o IntelliSense em ação. Uma observação interessante a ressaltar é em relação a criação de objetos em tempo de execução, exemplificando se eu criar uma tabela temporária e a mesma não aparecer na lista Intellisense (Geralmente aparece). O que fazer? Calma não se desesperem, para resolver este problema é muito simples, para maior rapidez o SQL Server cria um cache desses objetos que aparecem no Intellisense, então basta irmos no menu Edit>IntelliSense>Refresh Local Cache ou pressionar Crtl+Shift+R. E pronto o SQL Server refaz o cache do IntelliSense e o Objeto começa a aparecer na lista suspensa. Outro recurso muito legal do SQL Server 2008 é o Debugger, que já é outro recurso conhecido de quem trabalha no Visual Studio. Existe agora um menu Debug no qual podemos Incluir \ Excluir Breakpoints, Avançar passos ou explorar-los, os menus de atalhos são idênticos ao do Visual Studio facilitando assim a usabilidade para quem já desenvolve. Exemplo de um Breakpoint Um T-SQL simples no qual nos demonstramos outra novidade do SQL Server a inicialização de variáveis direto na declaração, mas o foco da imagem a seguir é o Botão Debug que é o iniciador da depuração de nossas consultas. Após o clique do Botão Debug notamos uma Seta Amarela do lado do nosso código e uma pausa na primeira linha, notando também logo abaixo existe uma aba chamada “Locals”, a mesma mostra os valores de nossas variáveis, nesta aba podemos alterar os valores de nossas variáveis em runtime, mais um recurso que possuíamos no Visual Studio que foi incorporado no SQL Server 2008. Nota-se que os valores vão sendo acrescidos em suas respectivas variáveis em runtime, conforme o código vai sendo debugado as variáveis vão recebendo seus valores. Bom pessoal por hoje é só, sei que o post é simples mais como são novidades que muitos de nós esperávamos achei interessante postar. E continua aberto o e-mail para envio de sugestões para posts helio_consultor@hotmail.com . Até o próximo post. June 02 Gerando um script de tabela com dadosOlá amigos… Estamos iniciando a postagem no meu spaces falando de SQL Server, e não somente isso falando de uma situação que muitos desenvolvedores já passaram, quem nunca precisou fazer uma cópia de uma tabela com dados de um banco para outro, seja para fazer testes ou até mesmo dar manutenção em uma aplicação existente. Esta tarefa ao contrario do que muitos pensam é muito fácil, não precisamos recorrer a nenhum procedimento armazenado que achamos pela internet ou criarmos uma consulta customizada para o caso. Basta termos o Management Studio do SQL Server 2008 instalado na máquina, o mesmo pode ser instalado a partir das ferramentas do CD de instalação do SQL Server ou baixado do site da Microsoft. Iniciamos o procedimento acessando o Mecanismo de Banco de Dados do servidor em questão. Na aba Object Explorer (se ela não estiver ativa pressione F8), clicar com o botão direito do mouse em cima de umas das Databases do servidor, no menu suspenso vá em Tasks (Tarefas) e no submenu Generate Scripts (Gerar Scripts). Logo se abrirá uma janela de Boas-Vindas como esta abaixo: Esta janela é apenas de caráter informativo, caso não quiser que esta janela apareça em procedimento futuros marque a opção “ Do not show the starting page again”. Clique em Next (Próximo). Aparecerá as Bases de Dados disponíveis na Instancia do Banco de dados selecionado, escolha a base onde contem a tabela que você quer gerar os scripts, (no nosso artigo estou usando a base de exemplo do SQL Server 2008 “Adventure Works”). Após selecionado o banco aparecerá uma tela para que se configure as opções de script, neste ponto é crucial que prestemos muita atenção pois aqui definimos varias opções que se gerará dentro do script, inclusive a inclusão dos dados nele. Dentro de Table/Views Options existe a opção Script Data, esta opção tem que ser marcada como “True” para que seja inserido os inserts de dados no script. Uma outra opção que podemos marcar é a compatibilidade com versões anteriores. Após terminarmos de escolher as opções de nosso Script, vamos escolher os objetos que estarão dentro do nosso script (no nosso caso, como queremos demostrar um script que contem a criação da tabela e dos dados, selecionamos “Tables”) Aparecerá uma nova tela na qual nós podemos escolher quais tabelas que desejamos criar os scripts ( no nosso caso escolhi a tabela Department), um fato importante que devemos observar é que as tabelas listadas pertencem a Base que escolhemos anteriormente.
Na tela de Output Option, escolheremos como queremos que seja gerado o script, seja em um arquivo, para memoria do Windows, ou em uma Nova Janela de Consulta ( No nosso caso escolhemos uma Nova Janela de Consulta para demonstração do script final) Aparecerá uma janela de progresso e se o procedimento estiver correto deverá ficar idêntica a esta abaixo: Automaticamente aparecerá uma nova janela dentro do management igual ao da figura abaixo com o nosso script. Fácil néh, uma dicazinha ai pra quem tem a versão do SQL Server 2005 você pode acessar a instância do seu banco com o Management do SQL Server 2008 e fazer o mesmo procedimento não esquecendo de marcar a opção de compatibilidade. Bom vou ficando por aqui, se alguém quer ver algum assunto de SQL Server publicado aqui podem me mandar temas pelo e-mail helio_consultor@hotmail.com que na medida do possível eu vou tentar criar os artigos para postar aqui. Até mais… September 10 Boas praticas para navegação na Internet Atualmente a principal falha de segurança na internet é a curiosidade do próprio internauta. Quem nunca recebeu um email, que pede para você clicar num link? E em quanto você já clicou? Mesmo com os pacotes de correções do seu sistema operacional, ele ainda possui algumas falhas que podem ser exploradas por quem entende de tecnologia, então você pode se perguntar como fazer para ficar seguro, isto é bem mais simples que você imagina, mas primeiro vamos conhecer alguns métodos que essas pessoas utilizam para tirar proveito dos internautas.
Vulnerabilidades
Vulnerabilidades são falhas no computador originadas de uma configuração mal executada ou provocada por algum software, isto pode ocasionar algumas deficiências na segurança do computador facilitando assim sua exploração. As ameaças (Malwares, Vírus, Trojans, etc.), exploram essas falhas para danificar seus softwares, arquivos ou até mesmo seu hardware.
Spyware
O spyware como o próprio nome já diz é um software espião, que pode vir por meio de websites, mensagens de email, mensagens instantâneas e conexões diretas onde há troca de arquivos, e até mesmo na hora de instalar um programa de origem desconhecida, sem o usuário estar sabendo ao aceitar os termos de licença daquele produto. O intuito desse tipo de programa é se instalar na maquina do usuário, e sem que o usuário perceba, repassar informações deste usuário para um programa cliente instalado em outra maquina remota.
Spam
O spam é uma versão moderna daquelas cartas de propagandas que recebíamos antigamente, só que ao invés das cartas recebemos emails. Na sua grande maioria consistem em anúncios não solicitados, mensagens indesejadas e para vários usuários ao mesmo tempo. O spam ameaça a segurança, pois pode ser usado para transmitir, vírus, cavalos de tróia, worms, spywares e ataques de phishing direcionados.
Phishing
O phishing é uma pratica que vem acontecendo com bastante freqüência ultimamente, consiste em um golpe online de falsificação, e seus criadores geralmente são falsários e ladrões especializados em tecnologia. Eles usam na maioria das vezes spam e websites maliciosos e mensagens instantâneas para enganar os usuários, e convencê-los a informar informações confidenciais, como senhas de bancos e cartões de credito. Esta ameaça é preocupante, pois os criadores do phishing se fazem passar por empresas legitimas, tem um linguajar muito convincente e os sites são muito parecidos com os originais, pois eles usam as mesmas imagens do site original.
Malware
Malware é todo tipo de código malicioso que inclui vírus, worms e cavalos de tróia. Os programas deste tipo geralmente utilizam-se de emails, mensagens instantâneas, websites e downloads. Estes programas exploram a vulnerabilidade do sistema, podendo danificar softwares, arquivos e alem o seu próprio hardware do seu computador. O Malware geralmente é imperceptível, pois a função dele é ficar oculto sem que o usuário perceba onde ele está.
Bots
O bot é muito parecido com o worm, pois se propaga automaticamente, mais com uma diferença ele pode ser controlado remotamente. Tendo esse controle ele pode usar seu computador para fazer ataques a outros computadores, desferir alguns ataques de negação de serviços, enviarem phishing e spams. Quando um controlador de bot consegue propagar esse bot em varias maquinas, ele passa a ter um Botnet, conseguindo ter uma amplitude maior em seus ataques.
Como se Proteger
O melhor método para proteção é procurar algum software antivírus, firewall pessoal e anti-spyware, não clicar em links, ou abrir arquivos de emails, a não ser que você tenha realmente certeza da origem do email, não clicar em links de mensagens instantâneas se não tiver certeza da procedência, atualizar sempre seu sistema operacional e softwares de segurança, não digitar dados pessoais em blogs ou sites de rede de relacionamento, desabilitar pop-ups Windows cookies, active-x e Java scripts no navegador (usar somente quando necessário), desative a visualização de e-mails em HTML, desative as opções de execução automática de arquivos anexados, use senhas com letras, números e símbolos, nunca use como senha dados pessoais ou palavras de dicionários.
A segurança no seu computador só depende de você, hoje em dia o maior roubo de informações se concretiza, por que o usuário deixou uma brecha na segurança, utilizando os métodos descritos acima você terá uma navegação confiável.
Helio Carrilho Modesto Junior - System DeveloperEntusiasta Microsoft |
|
|||
|
|