Inforuso 2010

Bem pessoal esse ano fui convidado por Marcio Sete da Challenge para palestrar na INFORUSO 2010 sobre o tema: "Usando o SQL Server e as Ferramentas de B.I da Microsoft no dia a dia".  A palestra ocorreu no dia 05/10/2010. Gostei muito dessa experiência e pretendo repetir mais vezes. Na verdade a meta para 2011 é conseguir pelo menos uma palestra por mês.

SQL 2008 Armazenando Todas as Informações - 6º Parte – Tipos de dados: Dados Espaciais

    Os profissionais da informação e consumidores lidam atualmente com enormes quantidades de informações de diferentes tipos, desde tabelas tradicionais de dados de negócios em planilhas e bancos de dados, a dados baseados em mídia online como vídeos, fotografias e música. A recente tendência a criar soluções mash up, em que as informações e os conteúdos de múltiplas fontes são combinados para criar aplicações online versáteis, revela como os usuários de computador usam soluções altamente integradas para entender a imensa quantia de informações disponíveis.
      Ao mesmo tempo, os avanços na tecnologia têm levado à proliferação de serviços e dispositivos geográficos, incluindo soluções de mapeamento online como o Microsoft® Virtual Earth™, e soluções GPS (global positioning system – sistema de posicionamento global) que não são caras. A tecnologia que antes era exclusiva dos especialistas em GIS (geographic information system – sistema de informações geográficas) está agora amplamente disponível para todos.
           Esses dois fatores trazem novas expectativas e oportunidades para as aplicações de software. 
       O SQL Server 2008 oferece suporte para dados geográficos através da inclusão de novos tipos de dados espaciais, que você pode usar para armazenar e manipular informações baseadas em localização. O suporte a dados espaciais do SQL Server 2008 pode ajudar o usuário a tomar decisões mais bem fundamentadas por meio da análise de dados relacionados à localização em cenários como:
  • Informações baseadas em localização e focadas no cliente
  • Gerenciamento e desenvolvimento baseados no cliente
  • Impacto, análise e planejamento de dados ambientais 
  • Análise financeira e econômica em comunidades
  • Análise de desenvolvimento e planejamento baseados no governo
  • Segmentação e análise de mercado
  • Design e análise de estudo e pesquisa científica
  • Desenvolvimento e análise de bens imobiliários
       Este artigo fornece uma excelente introdução ao suporte abrangente para dados espaciais do SQL Server 2008, e descreve o alto desempenho de seus recursos espaciais e sua extensibilidade de aplicações com reconhecimento de local.

Tipos de Dados Espaciais do SQL Server 2008

      O SQL Server 2008 fornece o tipo de dado geography para dados espaciais geodéticos e o tipo de dado geometry para dados espaciais planos. Ambos são implementados como tipos de dados CLR (Common Language Runtime) do Microsoft .NET Framework e podem ser usados para armazenar diferentes tipos de elementos geográficos como pontos, linhas e polígonos. Os dois tipos de dados fornecem propriedades e métodos que podem ser usados para realizar operações espaciais, como calcular distâncias entre locais e encontrar componentes geográficos que se cruzam (por exemplo, um rio que corta uma cidade). 

O Tipo de Dado geography

       O tipo de dado de geography fornece uma estrutura de armazenamento para dados espaciais definida por coordenadas de latitude e longitude. Usos comuns desse tipo de dado incluem a definição de estradas, prédios ou componentes geográficos como dados vetoriais, que podem ser sobrepostos em um mapa que leva em conta a curvatura da Terra, ou o cálculo de trajetórias e distâncias circulares notáveis para o transporte aéreo, casos em que a distorção inerente em um modelo plano causaria níveis inaceitáveis de imprecisão.

O Tipo de Dado geometry

     O tipo de dado geometry fornece uma estrutura de armazenamento para dados espaciais definida por coordenadas em uma superfície plana arbitrária. Esse tipo de dado é comumente usado em sistemas de mapeamento regional, como o sistema de superfície plana de estado definido pelo governo dos Estados Unidos, ou para mapas e plantas baixas interiores, em que a curvatura da Terra não precisa ser considerada.
    O tipo de dado geometry fornece propriedades e métodos que são alinhados ao Simple Features Specification for SQL do OGC (Open Geospatial Consortium - Consórcio Geoespacial Livre) e permitem realizar operações com dados geométricos que produzem um comportamento de padrão industrial.

Métodos dos Tipos de Dados Espaciais

       Ambos os tipos de dados espaciais no SQL Server 2008 fornecem um conjunto abrangente de métodos de instância e estáticos que você pode usar para fazer consultas e operações com dados espaciais. O exemplo de código a seguir cria duas tabelas para uma aplicação de mapeamento de cidade; uma contém valores geométricos para os distritos da cidade e a outra contém valores geométricos para as ruas da cidade. Uma consulta então recupera as ruas e os distritos que elas cruzam.

CREATE TABLE Districts 
    ( DistrictId int IDENTITY (1,1),
DistrictName nvarchar(20),
     DistrictGeo geometry);
GO

CREATE TABLE Streets 
    ( StreetId int IDENTITY (1,1),
StreetName nvarchar(20),
     StreetGeo geometry);
GO

INSERT INTO Districts (DistrictName, DistrictGeo)
VALUES ('Downtown',
geometry::STGeomFromText
('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0));

INSERT INTO Districts (DistrictName, DistrictGeo)
VALUES ('Green Park',
geometry::STGeomFromText
('POLYGON ((300 0, 150 0, 150 150, 300 150, 300 0))', 0));

INSERT INTO Districts (DistrictName, DistrictGeo)
VALUES ('Harborside',
geometry::STGeomFromText
('POLYGON ((150 0, 300 0, 300 300, 150 300, 150 0))', 0));

INSERT INTO Streets (StreetName, StreetGeo)
VALUES ('First Avenue',
geometry::STGeomFromText
('LINESTRING (100 100, 20 180, 180 180)', 0))
GO

INSERT INTO Streets (StreetName, StreetGeo)
VALUES ('Mercator Street', 
geometry::STGeomFromText
('LINESTRING (300 300, 300 150, 50 50)', 0))
GO

SELECT StreetName, DistrictName
FROM Districts d, Streets s
WHERE s.StreetGeo.STIntersects(DistrictGeo) = 1
ORDER BY StreetName

Os resultados dessa consulta são mostrados na tabela a seguir.


Recursos dos Dados Espaciais de Alto Desempenho

      Os tipos de dados espaciais do SQL Server 2008 são implementados como tipos do sistema CLR. O SQL Server 2008 aumenta o tamanho máximo para tipos de dados CLR no banco de dados, de 8000 bytes, limite imposto pelo SQL Server 2005, para dois gigabytes (2 GB), o que permite armazenar elementos de dados espaciais extremamente complexos, como polígonos, que são definidos por um grande número de pontos.
     Armazenando dados espaciais em tabelas relacionais, o SQL Server 2008 possibilita a combinação de dados espaciais com qualquer outro tipo de dados de negócios; isso elimina a necessidade de manter um armazenamento separado de dados espaciais dedicados, e permite consultas de alto desempenho que não precisam combinar dados de múltiplas fontes externas.
    O desempenho das consultas em dados espaciais é ainda melhor com a inclusão do suporte a índice espacial no SQL Server 2008. Você pode indexar dados espaciais com um índice de grade adaptável de múltiplos níveis, que se integra ao mecanismo de banco de dados do SQL Server. Índices espaciais consistem em uma hierarquia baseada em grade em que cada nível do índice subdivide o setor de grade definido no nível acima. Um modelo conceitual de um índice espacial é mostrado na Figura abaixo.


     O otimizador de consulta do SQL Server toma decisões baseadas em custos sobre quais índices usar para determinada consulta, e como os índices espaciais são parte integrante do mecanismo de banco de dados, o SQL Server pode decidir, baseado em custos, se usará ou não um determinado índice espacial, assim como com qualquer outro índice.

Extensibilidade de Aplicações com Reconhecimento de Local

    Os tipos de dados geography e geometry têm suporte nas várias edições do SQL Server 2008 que escalam de aplicações de estação de trabalho de usuário único para armazenamentos de dados de nível empresarial, e permitem construir soluções geoespaciais de qualquer escala. Esse amplo suporte traz recursos de dados espaciais para todos os tipos de aplicações, sem a necessidade de soluções geoespaciais caras de propriedade particular.

Importando Dados Espaciais

     Os tipos de dados geography e geometry incluem métodos para importar e exportar dados nos formatos WKT (Well Known Text) e WKB (Well Known Binary), para dados geográficos definidos pelo OGC, bem como o formato GML (Geographic Markup Language) comumente usado, o que facilita a importação de dados geográficos de fontes que têm suporte para esses padrões. Dados geográficos estão disponíveis em uma série de fontes governamentais e comerciais, e podem ser exportados de modo relativamente fácil de muitas aplicações GIS e sistemas GPS existentes. A Microsoft mantém relações estreitas com vários fornecedores de GIS terceirizados e provedores de soluções de dados geoespaciais, o que ajuda a assegurar uma forte compatibilidade entre o SQL Server 2008 e uma ampla variedade de ferramentas e utilitários comprovados pela indústria para importar, exportar e manipular dados espaciais.

Usando Dados Espaciais

    Como já foi demonstrado neste white paper, os tipos de dados geography e de geometry fornecem métodos que você pode usar para realizar operações espaciais com seus dados. Como esses tipos de dados são implementados como tipos de dados CLR do .NET, você pode criar facilmente aplicações clientes que consomem dados espaciais do SQL Server por meio de tecnologias de programação de dados da Microsoft, e usam código gerenciado no lado do cliente para chamar métodos em instâncias dos tipos espaciais. Isso permite construir aplicações potentes para trabalhar com seus dados espaciais e integrá-los a outras aplicações e serviços de reconhecimento de local como o Virtual Earth.
     Por exemplo, a Figura 4 mostra uma aplicação em que os dados espaciais do SQL Server 2008 são integrados ao Virtual Earth. A aplicação mostra os blocos de censo em uma região de CEP com o número de restaurantes computados. O número de restaurantes em cada bloco, relativo ao tamanho do bloco, produz um valor de densidade, que aparece na exibição como uma região sombreada de branco (densidade baixa) a vermelho (densidade mais alta).

    À medida que a integração de informações geoespaciais a aplicações se torna mais predominante, os desenvolvedores de aplicações precisam, cada vez mais, de sistemas de banco de dados que possam armazenar e manipular dados espaciais. Com a introdução dos tipos de dados geography e geometry, o SQL Server 2008 fornece uma solução de armazenamento de dados abrangente, extensível e de alto desempenho para dados espaciais, e permite a organizações de qualquer escala integrar recursos geoespaciais às suas aplicações e serviços. É isso ai pessoal ate a próxima.










    SQL 2008 Armazenando Todas as Informações - 5º Parte – Tipos de dados: Full Text

    Criação de catálogo de texto e pesquisa

    Full Text Index ajuda para realizar consultas complexas em dados de caracteres. Essas consultas podem incluir a palavra ou frase a pesquisa. Podemos criar um índice de texto completo em uma tabela ou exibição indexada em um banco de dados. Apenas um índice de texto completo é permitido por tabela ou exibição indexada.


    Para criar um índice, siga os passos:


    1. Criar um catálogo de texto completo
    2. Criar um índice de texto completo
    3. Preencher o índice
    1) Crie um catálogo de texto completo




    Full - O texto pode também ser criado, criando um índice de texto completo na Wizard.

    2) Crie um índice de texto completo















    3) Preencher o Índice






        Como o índice é criado e preenchido, você pode escrever a consulta e utilização na busca registros nessa tabela, que fornece melhor performance. Por exemplo: 
    Nós vamos encontrar os registros dos empregados que tem "Marketing" em seu Cargo.

        FREETEXT () predicado é usado para pesquisar colunas que contêm tipos de dados baseados em caracteres. Ele não irá coincidir com a palavra exata, mas o significado das palavras na condição de pesquisa. Quando freetext é usado, o mecanismo de consulta de texto completo internamente executa as seguintes ações no freetext_string, atribui um peso de cada termo e, em seguida verificar os jogos.

    • Separa a string em palavras individuais com base em limites de palavra (word-breaking). 
    • Gera formas flexionadas das palavras (Stemming). 
    • Identifica uma lista de expansões ou substituições para os termos baseados em jogos no dicionário de sinônimos.


       CONTAINS() é semelhante ao freetext mas com a diferença que é preciso uma palavra-chave para combinar com os registros, e se quiser combinar outras palavras, bem como na pesquisa, em seguida, precisamos fornecer a "and" ou "or" em busca então ele irá lançar um erro.

    USE AdventureWorks2008
    GO

    SELECT BusinessEntityID, JobTitle
    FROM HumanResources.Employee
    WHERE freetext(*, 'Assistente de Marketing ");

    SELECT BusinessEntityID,JobTitle
    FROM HumanResources.Employee
    WHERE CONTAINS(JobTitle, 'Marketing ou assistente');

    SELECT BusinessEntityID,JobTitle
    FROM HumanResources.Employee
    WHERE CONTAINS(JobTitle, "Marketing e assistente ');
    GO


    Conclusão

        Indexação de texto completo é uma grande característica que resolve um problema de banco de dados, a pesquisa de colunas de dados textual para palavras e frases específicas nas bases de dados SQL Server. Full Text Index pode ser usado para pesquisar palavras, frases e múltiplas formas de palavra ou frase usando FREETEXT() e CANTAINS() com "and" ou "or" operadores.


    Business Intelligence: qual a melhor definição para o tema?

        O que representa o BI (Business Intelligence)?  A questão pode parecer bastante óbvia, já que trata-se de uma tecnologia que não é nova no mercado. Contudo, basta olhar um pouco mais a fundo para as aplicações e as ferramentas de desenvolvimento para entender que existem diversos pontos nebulosos em relação ao entendimento do termo e que a própria indústria diverge em relação ao que significa esse tipo de solução.
        Entre as definições mais aceitas está aquela que aponta o BI como um guarda-chuva que se refere a uma variedade de aplicações usadas para analisar e organizar uma série de dados. Em outras palavras, esses sistemas pegam vastas quantidades de dados e as transformam em um modelo visual - a partir de gráficos e tabelas – que permitem uma análise sofisticada das tendências de negócio.
        Com o intuito de avaliar se os especialistas concordam com essa definição, a CIO/EUA perguntou a alguns profissionais do setor: qual a melhor definição para o BI? A seguir, acompanhe as respostas: 

    Mery Adrian, analista e consultor em TI, que já passou por empresas como Forrester Research, Giga, Sybase e Information Builders

        "Business Intelligence é a aplicação de técnicas analíticas para informações sobre condições de negócio no sentido de melhorá-las - de uma maneira automatizada, mas com a interpretação e respostas humanas. A imprecisão de muitos dos termos, no entanto, permite que os fornecedores e analistas redefinam a categoria, o que fazem com freqüência".

    Steve Anthony, CIO da consultoria de negócios Charles River Associates

        "Um sistema de negócios que inclua uma estrutura de busca efetiva e acessível, acurada, em tempo real, com métricas de negócio e relatórios que permitam aos líderes das áreas de negócio se manterem informados para tomar decisões. Isso é fácil de dizer, mas difícil de fazer corretamente e envolve mudanças na forma como a organização conduz uma busca efetiva, bem como a necessidade por uma boa base de dados para tomar ações, com o objetivo de otimizar a performance corporativa". 

    Tom Davenport, professor de gestão e TI e coautor do livro Analytics at Work: Smarter Decisions, Better Results

        "Eu vejo o BI como todas as coisas que as empresas fazem para melhorar a gestão e a organização dos dados. Para mim, inclui relatórios e análises, embora exista muito mais a olhar. De qualquer forma, eu penso que o termo BI está sendo rapidamente suplantado por business analytics". 

    William Swislow, CIO and vice-presidente sênior de produtos do site de venda de veículos Cars.com

        "Business intelligence é a informação acessível que resulta das principais atividades da companhia e pode ser usada para agregar, relatar e analisar os principais caminhos para o negócio". 

    Ray Wang, consultor na área de estratégia corporativa do Altimeter Group e autor de um blog sobre a próxima geração de BI

        "A habilidade para que a pessoa certa receba a informação adequada e no momento correto para tomar a melhor decisão".

    Talvez, no final das contas, business intelligence seja todas as coisas já faladas e nenhuma delas. BI é como cada organização se define em relação à necessidade de tornar os processos de negócio mais eficientes; a forma como os usuários precisam acessar as informações corporativas para fazer seu trabalho melhor; e, por fim, as ferramentas tecnológicas que asseguram que tudo isso vai acontecer da forma mais adequada possível.

    Gartner: cloud computing é principal prioridade de CIOs brasileiros

        No Brasil, o principal item na lista de prioridades tecnológicas do CIO é o cloud computing (computação em nuvem). Enquanto que, no resto do mundo, esse tema aparece em segundo lugar no ranking de preocupações dos gestores de TI – atrás apenas de virtualização. A constatação faz parte de um estudo global do Gartner e para o qual foram ouvidos 1.586 decisores da área de tecnologia da informação de 41 países.
       A preocupação dos executivos brasileiros com cloud computing pode ser justificada pelo cenário econômico aquecido no País, na visão da vice-presidente do programa executivo do Gartner, Ione Coco. “Hoje o mundo inteiro está de olho no Brasil e existe uma pressão para que o CIO local traga respostas que acompanhem o crescimento esperado das empresas”, analisa Ione, que acrescenta: “E o cloud [computing] garante a flexibilidade para responder mais rapidamente às demandas do negócio.”
        A especialista pondera, no entanto, que o conceito de cloud computing ainda não está maduro. Como resultado, as empresas terão de esperar algum tempo para colher os benefícios prometidos por esse modelo, em especial, quanto à possibilidade de adequar, de forma rápida, as aplicações contratadas às demandas do negócio.
        Ainda em relação ao estudo, no Brasil, o BI (Business Intelligence) aparece em segundo lugar no ranking de prioridades dos CIOs. “No resto do mundo, esse tema está em quinta posição”, destaca a vice-presidente Gartner. A resposta à demanda específica no País, segundo ela, também tem relação com o crescimento esperado das empresas locais, o que vai demanda dados analíticos para a tomada de decisões que impactem no aumento da receita.
        Prioridades tecnológicas do CIO no Brasil

    1.    Cloud computing
    2.    Business Intelligence
    3.    Virtualização
    4.    Web 2.0
    5.    Gestão de TI
    6.    Mobilidade
    7.    Soluções orientadas a serviço
    8.    Networking
    9.    Business Process Management
    10.  Aplicações corporativas

    Fonte: Gartner

    SQL Server 2008 R2

         A Microsoft anunciou no dia (21/4) o lançamento mundial do SQL Server 2008 R2, evolução do SQL Server 2008 que sai da versão beta após a empresa ter treinado cerca de 5 mil profissionais e 150 parceiros do canal nas novas tecnologias. De acordo com o gerente de marketing e da plataforma de aplicações da Microsoft Brasil, João Nunes Júnior, a nova versão faz parte da estratégia da companhia de oferecer serviços agregados à solução de bancos de dados, com foco no usuário.
        Ele destaca, como novidades, tecnologias como a Master Data Services, capaz de alinhar registros existentes nos diversos sistemas de uma empresa, como os presentes no ERP e no CRM e Stream Insight, para captura e análise de informação em tempo real. Mas o executivo avalia que o que tem mais potencial de chamar a atenção das empresas são as novas funcionalidades para Business Intelligence.
        Júnior conta que o SQL Server 2008 R2 passa a estar mais integrado ao Excel e ao SharePoint como ferramentas de BI. Presentes no Excel e no SharePoint, os novos recursos permitirão que os próprios usuários busquem informações e criem relatórios. “A ideia é que a informação não seja mais restrita apenas ao alto escalão e chegue em funcionários que também precisam de informações rápidas para a tomada de decisões”, afirma.
         Na linha de eficiência em TI, a empresa lança também o conceito de Data Tier application, integrado ao Visual Studio 2010. Com esse recurso, os desenvolvedores podem definir em qual servidor determinada aplicação de dados vai rodar, quais são os requisitos mínimos do sistema, entre outras informações. “A ferramenta facilita a interação entre times de desenvolvimento e infraestrutura, garantindo que todos os requisitos sejam cumpridos”, explica. Júnior enfatiza ainda a compatibilidade das ferramentas com os novos equipamentos e ambientes nas organizações. “O SQL Server 2008 R2 está alinhado também aos lançamentos já anunciados de serviços na nuvem”.

    8 dicas para usar melhor o BI que já existe na empresa

    Otimizando recursos que estão em casa é possível conseguir uma solução de Business Inteligence (BI) que cabe no orçamento. Executivos que seguiram este caminho dão oito dicas para extrair mais vantagens das ferramentas existentes.

    1 - Consolide suas ferramentas
    “Em geral, as pessoas têm mais ferramentas do que precisam, o que pode desviar o foco”, diz o vice-presidente de soluções de tecnologia da seguradora Allstate Insurance, Anthony Abbattista. As organizações acabam tendo “grupos diferentes de pessoas fazendo análises semelhantes com ferramentas diferentes”, o que gera uma confusão desnecessária. Abbattista recomenda que as estruturas se consolidem. “Empregue o número mínimo de ferramentas necessárias para executar o trabalho”.

    2- Deixe o comando a cargo do negócio
    A retração econômica ressaltou a importância das companhias aplicarem a tecnologia de BI para resolver os problemas certos. As organizações de TI ainda caem na armadilha de colocar a tecnologia em primeiro plano em vez de criar modelos capazes de responder às necessidades evolutivas do negócio, afirma Nick Millman, diretor sênior de serviços de gestão de informação da consultoria Accenture. Trabalhe junto ao negócio antes de desenvolver novos modelo de informação.

    Para começar, tenha uma visão clara de como a informação vai gerar valor para a organização, aconselha Millman. “Pense nas intervenções no negócio que você espera obter das ferramentas de BI. Entenda de onde virá o benefício para o negócio e, então, configure as ferramentas e os processos”. Na Allstate, há duas áreas de interesse: gerenciar índices de sinistro/despesa e mensurar a eficácia do call center. “Selecionamos especialistas nas ferramentas e nos métodos e os colocamos junto com o pessoal de negócio para descobrir alvos de alto valor”, diz Abbattista.

    Segundo ele, nas empresas maiores existe a tentação de se fazer coisas demais com BI. Concentrar-se em um número menor de ferramentas ajuda a resolver este problema. Além disso, os gestores precisam priorizar o que for mais importante. “Os últimos tempos trouxeram para o centro do palco a ideia de mensurar bem um número menor de coisas”, observa Abbattista.

    3 - Novos mercados pedem novos modelos de dados 
    De acordo com o analista da consultoria Gartner, Bill Hostmann, muitas organizações estão passando por uma grande mudança de estratégia: de ofertas de produtos de alto valor a ofertas de produtos de baixo custo. Entretanto, as companhias que não podem competir no mercado de baixo custo precisam descobrir um meio de galgar a cadeia de valor – e, para chegar lá, estão usando ferramentas de BI.

    Foi o que fez a Creativity. A companhia combateu a tendência à “commoditização” em seus mercados principais recorrendo ao pacote de BI IBM Cognos 8 para identificar e desenvolver produtos de alto valor que não poderiam ser facilmente “commoditizados” por seus concorrentes da arena de baixo custo. O ponto de partida foi adquirir dados transacionais de varejistas nos segmentos de brinquedos, moda e acessórios e acrescentá-los ao data warehouse existente para analisar tendências atuais de compra. Neste processo, também foi usado o software de previsão SmartForecast, da Smart Software.

    Toda essa análise resultou em produtos mais “orientados para o design e a moda”, tais  como uma linha de bonecas de papel baseada no popular programa de televisão Project Runway. Tudo indica que a estratégia está dando certo. Os produtos voltados para moda e outros exclusivos da Creativity passaram a ser a parte dominante do negócio – acima de 50% – e contribuíram para uma proporção ainda maior de suas margens, revela Mulholland.

    4 - Centralize o BI
    Para ajudar a identificar as áreas de interesse certas, Mulholland, da Creativity, montou um centro de análise de excelência, um grupo formado por representantes de diferentes partes do negócio, desde vendas a operações. “Você está empenhado em elevar o QI de cada membro da companhia em termos de conhecer as principais métricas do negócio e mensurá-las com precisão, no tempo certo e em todas as áreas do negócio”, afirma.

    A Creativity desenvolveu conjuntos de ferramentas e modelos de lucratividade comuns aos grupos de vendas e finanças. Relatórios são encaminhados aos desktops e visualizados em aplicativos dashboard. A partir daí, os usuários podem entrar e fazer análises mais abrangentes.

    A IBM está promovendo centros deste tipo junto aos seus clientes Cognos para criar um conjunto padronizado de modelos na organização por meio do uso das ferramentas de business intelligence existentes. Um conjunto comum de dashboards de BI desenvolvido para um departamento, por exemplo, pode ser estendido a outros. Assim, novos grupos não têm que reinventar a roda e estão prontos para operar mais rapidamente.

    As ferramentas de BI também estão sendo subutilizadas. As partes interessadas na área de negócio talvez vejam BI mais como uma ferramenta de relatório e análise voltada a TI do que uma ferramenta de negócio. Ou as ferramentas são valorizadas apenas por TI e um ou dois outros grupos, como finanças.

    5 - Acrescente dados ao data warehouse
    Quando se trata de data warehouse, a recessão econômica atual é uma ótima oportunidade para a organização rever o que está perseguindo e colocar mais dados de operações de negócio no funil a fim de obter economias adicionais. Mas é necessário ser muito seletivo quanto ao que será acrescentado, orientam os especialistas.

    Milley sugere adicionar dados de call centers, web logs ou outras fontes. A pergunta que as companhias precisam fazer nestes tempos é: “O que será que eu tenho que eu posso colocar no data warehouse a um custo relativamente baixo?”

    6 - Utilize melhor os dados que possui 
    Em alguns casos, “fazer mais com menos” é só uma questão de pegar os dados que os usuários já têm e apresentá-los de uma maneira mais útil. O Órgão de Serviços de Business Intelligence do Departamento da Receita do Estado norte-americano de Wisconsin descobriu um modo de apresentar uma visão plurianual dos dados de impostos em uma única tela, explica a diretora Janna Baganz. “Isso gerou economia de tempo.”

    O grupo também combinou dados dos sistemas de auditoria e processamento de renda do Estado, retirando das mãos dos usuários a análise de relatórios de exceção. Agora, quando determinadas regras de negócio excluem uma declaração de imposto de renda do sistema de processamento, a equipe não tem mais que passar 20 minutos executando um relatório manual em outro sistema e, depois, analisá-lo para resolver o problema.

    7 - Mantenha seus modelos enxutos
    Certifique-se de que você tem um modelo de dados claro e consistente antes de trazer novos dados para o seu data warehouse ou importá-los de alguma outra parte do negócio. Os novos dados têm de estar em conformidade com o modelo adotado. Muitas vezes, diz Millman, informações de fontes ou seções diferentes do negócio são acrescentadas ao data warehouse sem suficiente atenção ao modo como os dados existentes são modelados. Resultado: fica difícil extrair sentido de relatórios ou informações de negócio que permeiam mais de uma seção.

    Dados financeiros e de serviço ao cliente, por exemplo, poderiam ser modelados de maneiras totalmente diferentes. A Accenture, observa Millman, gasta muito tempo ajudando seus clientes a rearquitetar o modo de armazenar dados.

    8 - Ajude os usuários a entender os dados, não apenas as ferramentas
    Não adianta aumentar o número de usuários com acesso a ferramentas de BI se eles não souberem empregá-las. Mas esse não é o maior problema quando se trata de educar o usuário. “A tendência tem sido um front end mais simples e mais intuitivo”, diz Millman. E, sem dúvida, os dashboards ajudaram nisso.

    B.I nas Nuvens - 2º Parte - 23% das empresas usarão BI na nuvem segundo pesquisa

          Hoje, apenas 7% das companhias que utilizam ferramentas de business intelligence (BI) e softwares analíticos contam com essas soluções em algum modelo de computação em nuvem ou software como serviço (SaaS). Mas nos próximos três anos, esse número pode chegar a 23%, de acordo com pesquisa conduzida pela CIO/EUA.
            Várias razões dificultam a adoção do BI na nuvem, apesar de seu potencial. Um deles é a complexidade dos ambientes legados de algumas organizações, como avalia o diretor de serviços técnicos da empresa de saúde Care New England Health System (Rhode Islannd/EUA), Heather Hartman. "O número de sistemas isolados que possuímos dificulta muito essa migração", analisa.
          Por outro lado, à medida em que o mercado apresenta mais casos de sucesso na adoção de cloud computing, a situação tende a se reverter. O vice-presidente de sistemas de informação da companhia de seguros Pure Insurance (Florida/EUA), Jason Lichtenthal, diz que ainda aguarda o mercado ficar mais maduro para migrar seus sistemas de BI para a nuvem.
             A pesquisa levantou ainda que 57% dos líderes de TI pretendem aumentar os gastos com BI em 2011.

    B.I nas Nuvens - 1º Parte - Mercado de BI sob demanda precisa evoluir e ganhar confiança

        Quando um fornecedor de tecnologia falha, seus rivais geralmente comemoram a notícia. Isso acontece em quase todos os mercados, menos no segmento de Business Intelligence (BI) sob demanda, após o encerramento da empresa LucidEra, em junho, nos Estados Unidos.
        A companhia era vista como promissora e recebeu quase 21 milhões de dólares em investimentos de capitalistas importantes, mas seu encerramento mostrou que o mercado de BI sob demanda necessita de grandes aperfeiçoamentos. Sem contar que, com a falência de uma empresa nessa altura, o modelo perde confiabilidade.
         A IBM, por exemplo, está apenas começando pesquisas para lançar uma versão web para o Cognos, seu software de BI. “O modelo de dados é diferente de companhia para companhia, motivo pelo qual a empresa não pode simplesmente colocar o software em um ambiente ocupado por diferentes empresas”, afirma o gerente geral de BI da IBM, Rob Ashe.
    Segundo o executivo, a IBM gosta dos benefícios da nuvem, principalmente de sua elasticidade e escalabilidade. “No entanto, você precisa lidar com realidades como segurança e movimentação de dados”, afirma.
         A Sybase, empresa que tem o BI como um dos seus principais negócios, ainda não vê uma demanda forte por parte de seus clientes para a venda de um serviço de BI sob demanda, de acordo com o chefe de tecnologia da corporação, Irfan Khan. A Microsoft também já declarou que não tem planos de implantar sua solução de BI na nuvem antes de 2013.
       O analista independente Mery Adrian que o conceito ainda é muito assustador para a maioria das empresas. “A maioria das corporações não está disposta a jogar dados estratégicos na nuvem. Estruturalmente, não há uma boa razão para fazê-lo”, diz.
    Para vencer a resistência, os fornecedores de BI devem proporcionar facilidade de uso e que os dados cheguem onde eles precisam estar. “Se isso não acontecer, as companhias que adotarem vão acabar abandonando a solução", diz Adrian.
        O co-fundador da empresa de BI sob demanda Birst diz que o valor da proposta do modelo continua forte. “Quando você compra um software tradicional, gasta-se ainda de 3 a 5 dólares sobre cada licença em serviços para fazer o projeto acontecer. No modelo sob demanda, a implementação é muito mais fácil e rápida”, diz.
       Outros fornecedores de BI, como a norte-americana ParAccel, ainda acham inviáveis a aplicação do modelo. De acordo com o chefe de tecnologia da companhia, Barry Zane, seu produto focado em data warehouses com mais de 100TB de capacidade não conseguiria ter a performance necessária em uma nuvem pública. “Você precisa de servidores grandes, com gargalos previsíveis. Esse é o maior ponto fraco das nuvens”, afirma Zane.
         O analista da Forrester, Boris Evelson, acredita que as empresas pequenas e médias vão puxar a adoção, pois são as que precisam de boas soluções colaborativas com custo menor. Segundo Mery Adrian “vai levar um bom tempo, mas eventualmente as grandes também entrarão na tendência. É como a adoção dos softwares de código aberto: leva tempo até que os desbravadores entrem e provem ao mercado que é suficientemente seguro”.

    B.I nas Nuvens - 2º Parte - 23% das empresas usarão BI na nuvem segundo pesquisa
          

    SQL 2008 Armazenando Todas as Informações - 4º Parte – Tipos de dados: Filestream

         SQL Server 2008 introduz um novo recurso chamado FILESTREAM que permite que aplicações baseadas no SQL Server possam armazenar dados não estruturados, como documentos, imagens, áudios, vídeos, etc no sistema de arquivos. FILESTREAM basicamente integra o SQL Server Database Engine com o New Technology File System (NTFS ), que basicamente armazena os dados no tipo varbinary (max). Usando este tipo de dados, os dados não-estruturados são armazenados no sistema de arquivos NTFS e o SQL Server Database Engine gere a ligação entre a coluna FILESTREAM e o próprio arquivo localizado no NTFS. Usando Transact SQL os usuários podem inserir, atualizar, apagar e selecionar os dados armazenados em FILESTREAM.

    Configurar e ativar Filestream durante a instalação do SQL Server 2008

          O SQL Server permitir que o recurso FILESTREAM seja ativado durante o processo de instalação do SQL Server 2008.



        Durante a instalação do SQL Server 2008, se você esquecer de ativar o recurso FILESTREAM, o recurso pode ser ativado após a instalação, seguindo os métodos a seguir.


    Configurar e ativar Filestream usando o SQL Server Configuration Manager


    1. Clique em Iniciar Programas | Menu | Microsoft SQL Server 2008 | Ferramentas | Configuração SQL Server Configuration Manager.
    2. No painel esquerdo, clique em SQL Server Services, que irá listar todos os serviços do SQL Server 2008 relacionados no painel da direita.
    3. Clique no SQL Server (MSSQLSERVER) Serviço de instância na qual você deseja habilitar FILESTREAM e clique com o botão direito para ver as propriedades do serviço.
    4. Na caixa de diálogo Propriedades do SQL Server, clique na guia FILESTREAM.
    5. Selecione Ativar FILESTREAM para Transact-SQL opção de acesso, que permitirá o resto das opções.
    6. Se você quiser fornecer acesso do Windows para ler e escrever dados FILESTREAM selecione a opção Habilitar “FILESTREAM para I/O streaming acess” e digite um nome.
    7. A última opção, Permitir que clientes remotos tenham acesso a dados FILESTREAM no servidor.
    8. Clique em Aplicar para salvar as alterações.



    Configurar e ativar Filestream usando Query TSQL 



         No SQL Server Management Studio, clique na nova janela de consulta e digite o abaixo Query TSQL

    USE Master
    GO
    EXEC sp_configure 'nível de acesso FILESTREAM', 2
    GO
    RECONFIGURE
    GO


         SQL Server 2008 suporta três níveis de acesso FILESTREAM
    1. Se o valor for 0, então, o apoio FILESTREAM para a instância é condicionada.
    2. Se o valor for 1, então, FILESTREAM para acesso Transact-SQL é ativado.
    3. Se o valor for 2, então, FILESTREAM para Transact-SQL e Win32 streaming de acesso é ativado.


    Configurar e ativar Filestream em nível de instância do servidor usando GUI



    1. Conectar a uma instância do SQL Server 2008 usando SQL Server Management Studio.
    2. No Object Explorer, clique botão direito no servidor e selecione Propriedades para exibir a janela Propriedades do servidor.
    3. Em Advanced, clique no menu suspenso ao lado Filestream Nível de Acesso e selecione permitiu acesso total.
    4. Para isso, o usuário precisa ser sysadmin ou serveradmin do servidor para alterar as configurações padrão para Filestream.
    5. Clique em OK para salvar as alterações.



    Como criar um banco de dados Filestream



         O FILESTREAM recurso utiliza um tipo especial de grupo de arquivos quando você cria o banco de dados. Você precisa especificar a cláusula CONTAINS FILESTREAM para pelo menos um grupo de arquivos no create database.


    Use Master
    Go
    IF  EXISTS (SELECT name FROM sys.databases WHERE name = N'FileStreamDB')
    DROP DATABASE FileStreamDB
    GO


    USE Master
    GO
    CREATE DATABASE FileStreamDB ON PRIMARY
      ( NAME = FileStreamDB_Data,
        FILENAME = N'D:\FileStream\FileStreamDB_Data.mdf',
        SIZE = 10MB,
        MAXSIZE = 50MB,
        FILEGROWTH = 15%),
     FILEGROUP MyDBData
      ( NAME = MyFileStream_Data,
        FILENAME = N'D:\FileStream\FileStreamDB_Data.ndf',
        SIZE = 10MB,
        MAXSIZE = 50MB,
        FILEGROWTH = 5MB),
    FILEGROUP FileStream CONTAINS FILESTREAM
      ( NAME = FileStream,
        FILENAME = N'D:\FileStream\FileStreamData')
    LOG ON
      ( NAME = 'FileStreamDB_Log',
        FILENAME = N'D:\FileStream\FileStreamDB_Log.ldf',
        SIZE = 5MB,
        MAXSIZE = 25MB,
        FILEGROWTH = 5MB);
     GO 


         A imagem abaixo mostra as propriedades do banco de dados "FileStreamDB" que foram criadas ao executar a instrução TSQL acima:




         O trecho abaixo mostra os arquivos que foram criado para o banco de dados FileStreamDB na pasta D:\FileStream. Você verá uma pasta chamada FileStreamData que irá armazenar todos os valores varbinary(max).

         Dentro da pasta D:\FileStream\FileStreamData você pode ver uma subpasta chamada $FSLOG e um arquivo chamado filestream.hdr. Esse arquivo é um arquivo de cabeçalho para o recipiente FILESTEAM.



    Como criar uma tabela para armazenar dados FILESTREAM

         Se uma tabela precisa armazenar dados FILESTREAM, a tabela deve ter uma coluna ROWGUIDCOL definida. Isso é usado pelo motor de armazenamento para manter o controle de instâncias no sistema de arquivos NTFS. A coluna que será usada para armazenar os dados FILESTREAM deve ser do tipo "varbinary(max)". No SQL Server 2008 o tipo de dados varbinary(max) pode armazenar mais de 2 GB de dados. O Query TSQL abaixo pode ser usado para criar a tabela FileStreamTable:

    USE FileStreamDB
    Go
    CREATE TABLE dbo.FileStreamTable
    (
      FS_ID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
      FSData VARBINARY(MAX) FILESTREAM
    );


    Como inserir dados em FileStreamTable

         Execute o TSQL abaixo para inserir os dados FILESTREAM para a tabela no banco de dados FileStreamTable FileStreamDB.


    USE FileStreamDB
    Go
    INSERT INTO FileStreamTable
    VALUES(newid(), CAST ('Inserting data into FileStreamTable........' As VARBINARY(MAX)))
    Go

         Uma vez que os dados são inseridos com sucesso você pode ver uma nova pasta criada ficando em D: \ FileStream pasta \ FileStreamData.

    Vantagens de FILESTREAM


    • Dados BLOB agora podem ser armazenados no sistema NTFS e está sob o controle do SQL Server 2008.
    • SQL Server irá manter a consistência transacional para todos os dados BLOB.
    • Não há limites para o tamanho do arquivo que pode ser armazenado em FILESTREAM . Contanto que você tenha espaço no disco que muito maior FILESTREAM arquivos podem ser armazenados.
    • Quando se faz um backup de um banco de dados que esta com o FILESTREAM habilitado, automaticamente é feito o backup dos arquivos também facilitando o gerenciamento do DBA.
    • Os dados podem ser facilmente acessados por meio TSQL e NTFS streaming APIs streaming com  excelente desempenho.


    Desvantagens da Filestream


    • Espelhamento de banco de dados não podem ser configurados no banco de dados que tem o FILESTREAM habilitado.
    • SQL Server não oferece suporte a bancos de dados snapshots para grupos de arquivos FILESTREAM. Se um grupo de arquivos FILESTREAM está incluída em uma cláusula de CREATE DATABASE ON, a instrução falhará e um erro será gerado.

        O recurso FILESTREAM do SQL Server 2008 ajuda as organizações a gerenciar seus dados BLOB com mais eficiência por armazenar os dados no sistema de arquivos NTFS.

    SQL 2008 Armazenando Todas as Informações - 5º Parte – Tipos de dados: Full Text




    SQL 2008 Armazenando Todas as Informações - 3º Parte – Tipos de dados: hierarchyid

           Hierarchyid é um tipo de dados de tamanho variável. Deve-se hierarchyid para representar posição em uma hierarquia. Uma coluna de tipo hierarchyid não representa automaticamente uma árvore. Depende de o aplicativo gerar e atribuir valores hierarchyidde tal modo que a relação desejada entre as linhas seja refletida nos valores.
         Um valor do tipo de dados hierarchyid representa uma posição em uma hierarquia de árvore. Os valores para hierarchyid têm as seguintes propriedades:
    • Extremamente compacto O número médio de bits necessários para representar um nó em uma árvore com n nós depende da média de fanout (o número médio de filhos de um nó). Para fanouts pequenos (0-7), o tamanho é de aproximadamente 6*logAn bits, onde A é o fanout médio. Um nó em uma hierarquia organizacional de 100.000 pessoas com um fanout médio de 6 níveis usa cerca de 38 bits. Isso é arredondado para 40 bits, ou 5 bytes, para armazenamento.
    • A comparação está na ordem de profundidade Dado dois valores hierarchyid a e b, a
    • Suporte a inserções e exclusões arbitrárias Usando o método GetDescendant, é sempre possível gerar um irmão à direita de qualquer nó determinado, à esquerda de qualquer nó determinado, ou entre dois irmãos. A propriedade de comparação é mantida quando um número arbitrário de nós é inserido ou excluído da hierarquia. A maioria das inserções e exclusões preserva a propriedade de densidade. Porém, inserções entre dois nós produzirão valores hierarchyid com uma representação ligeiramente menos compacta.
    • A codificação usada no tipo hierarchyid se limita a 892 bytes. Por conseguinte, nós que têm muitos níveis em sua representação para se ajustarem a 892 bytes não podem ser representados pelo tipo hierarchyid.



        O tipo hierarchyid está disponível a clientes CLR como o tipo de dados SqlHierarchyId. O tipo hierarchyid codifica informações logicamente sobre um único nó em uma árvore de hierarquia codificando o caminho da raiz da árvore para o nó. Esse caminho é representado logicamente como uma seqüência de rótulos de nós de todos os filhos visitados depois da raiz. Uma barra inicia a representação e um caminho que visita apenas a raiz é representado por uma barra única. Para níveis abaixo da raiz, cada rótulo é codificado como uma seqüência de inteiros separados por pontos. A comparação entre filhos é executada comparando-se as seqüências de inteiros separados por pontos na ordem alfabética. Cada nível é seguido por uma barra. Portanto, uma barra separa os pais de seus filhos. Por exemplo, são caminhos de hierarchyid válidos, respectivamente, de comprimentos 1, 2, 2, 3 e 3 níveis:
    • /
    • /1/
    • /0.3.-7/
    • /1/3/
    • /0.1/0.2/
            Podem ser inseridos nós em qualquer local. Nós inseridos depois de /1/2/, mas antes de /1/3/ podem ser representados como /1/2.5/. Nós inseridos antes de 0 têm a representação lógica como um número negativo. Por exemplo, um nó que vem antes de /1/1/ pode ser representado como /1/-1/. Nós não podem ter zeros à esquerda. Por exemplo, /1/1.1/ são válidos, mas /1/1.01/ não são válidos. Para evitar erros, insira nós usando o método GetDescendant.
            O tipo de dados hierarchyid pode ser convertido em outros tipos de dados, como segue:
    • Use o método ToString () para converter o valor de hierarchyid para a representação lógica como tipo de dados nvarchar(4000).
    • Use Read () e Write () para converter hierarchyid para varbinary.
    • Não há suporte para conversão de hierarchyid para XML. Para transmitir parâmetros hierarchyid por SOAP, primeiro converta-os em cadeias de caracteres. Uma consulta com a cláusula FOR XML falhará em uma tabela com hierarchyid, a menos que a coluna seja, primeiro, convertida para um tipo de dados de caractere.
        Quando um banco de dados é atualizado para SQL Server 2008, os novo assembly e o tipo de dados hierarchyid são instalados automaticamente. Regras do supervisor de atualização detectam qualquer tipo de usuário ou assemblies com nomes conflitantes. O supervisor de atualização aconselhará renomear quaisquer assemblies conflitantes, bem como qualquer tipo de conflito, ou usar nomes de duas partes no código para fazer referência ao tipo de usuário preexistente.
        Se uma atualização de banco de dados detectar um assembly de usuário com nome conflitante, ele o renomeará automaticamente e o colocará no banco de dados em modo de suspeição.
        Se um tipo de usuário com nome conflitante existir durante a atualização, nenhuma etapa especial será efetuada. Depois da atualização, existirão ambos os tipos de usuário, antigo e novo. O tipo de usuário só estará disponível através de nomes de duas partes.
        Podem ser usadas colunas do tipo hierarchyid em qualquer tabela replicada. Os requisitos para seu aplicativo dependem de a replicação ser unidirecional ou bidirecional e das versões de SQL Server utilizadas.
    Replicação unidirecional inclui replicação de instantâneo, replicação transacional e replicação de mesclagem, nas quais não são feitas alterações no Assinante. O modo de funcionamento das colunas hierachyid com replicação unidirecional depende da versão de SQL Server executada pelo Assinante.
    • Um Editor SQL Server 2008 pode replicar colunas hierachyid para um Assinante SQL Server 2008 sem qualquer consideração especial.
    • Um Publicador do SQL Server 2008 deve converter colunas hierarchyid para replicá-las para um Assinante que está executando SQL Server Compact 3.5 SP1 ou uma versão anterior do SQL Server. O SQL Server Compact 3.5 SP1 e versões anteriores do SQL Server não oferecem suporte para colunas hierarchyid. Ainda que esteja usando uma dessas versões, você poderá replicar dados para um Assinante. Para tanto, você deve definir uma opção de esquema ou o nível de compatibilidade de publicação (para replicação de mesclagem) a que a coluna pode ser convertida para um tipo de dados compatível. Para obter mais informações, consulte Usando várias versões do SQL Server em uma topologia de replicação.
        Vamos fazer um exemplo e ver na prática como usar esse novo recurso.


    Use AdventureWorksLT
    Go 

    Create Schema HumanResources

    Go 

    CREATE TABLE HumanResources.EmployeeDemo
    (
    OrgNode  HIERARCHYID,
    EmployeeID INT,
    LoginID VARCHAR(100),
    Title  VARCHAR(200),
    HireDate  DATETIME
    )

    Go

    CREATE UNIQUE CLUSTERED  INDEX idxEmployeeDemo
    ON HumanResources.EmployeeDemo (OrgNode,EmployeeID)

    Go

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (hierarchyid::GetRoot(), 1,'adventure-works\scott', 'CEO', '3/11/05') ;

    Go 

    DECLARE @Manager hierarchyid
    SELECT @Manager = hierarchyid::GetRoot() FROM HumanResources.EmployeeDemo;

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(NULL,NULL), 2, 'adventure-works\Mark', 
    'CTO', '4/05/07')

    Go

    DECLARE @Manager hierarchyid
    DECLARE @FirstChild hierarchyid
    SELECT @Manager = hierarchyid::GetRoot() FROM HumanResources.EmployeeDemo;
    Select @FirstChild = @Manager.GetDescendant(NULL,NULL) 

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(@FirstChild,NULL), 3, 'adventure-works\ravi', 
    'Director Marketing', '4/08/07')

    Go

    DECLARE @Manager hierarchyid 
    SELECT @Manager = CAST('/1/' AS hierarchyid)

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(NULL, NULL),45,
    'adventure-works\Ben','Application Developer', '6/11/07') ;

    Go





    DECLARE @Manager hierarchyid 
    DECLARE @FirstChild hierarchyid

    SELECT @Manager = CAST('/1/' AS hierarchyid)
    SELECT @FirstChild = @Manager.GetDescendant(NULL,NULL) 

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(@FirstChild, NULL),55,
    'adventure-works\Laura','Trainee Developer', '6/11/07') ;

    Go 

    DECLARE @Manager hierarchyid 
    DECLARE @FirstChild hierarchyid

    SELECT @Manager = CAST('/2/' AS hierarchyid)

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(NULL, NULL),551,
    'adventure-works\frank','Trainee Sales Exec.', '12/11/07') ;

    Go

    DECLARE @Manager hierarchyid 
    DECLARE @FirstChild hierarchyid

    SELECT @Manager = CAST('/2/' AS hierarchyid)
    SELECT @FirstChild = @Manager.GetDescendant(NULL,NULL) 

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(@FirstChild, NULL),531,
    'adventure-works\vijay','Manager Industrial Sales', '12/09/06') ;

    Go

    DECLARE @Manager hierarchyid 
    DECLARE @FirstChild hierarchyid
    DECLARE @SecondChild hierarchyid

    SELECT @Manager = CAST('/2/' AS hierarchyid)
    SELECT @FirstChild = @Manager.GetDescendant(NULL,NULL) 
    SELECT @SecondChild = @Manager.GetDescendant(@FirstChild,NULL) 

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
    VALUES (@Manager.GetDescendant(@FirstChild, @SecondChild),543,
    'adventure-works\james','Manager Consumer Sales', '12/04/06') ;

    CREATE PROCEDURE AddEmployee(@ManagerID hierarchyid, @EmpID int, 
    @LogID varchar(100), @JobTitle as varchar(200), @JoiningDate datetime) 
    AS
    BEGIN
    DECLARE @LastChild hierarchyid
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    BEGIN TRANSACTION 

    SELECT @LastChild = Max(OrgNode) From HumanResources.EmployeeDemo
    WHERE OrgNode = @ManagerID

    INSERT HumanResources.EmployeeDemo (OrgNode, EmployeeID, LoginID, Title, HireDate)
        VALUES(@LastChild, @EmpID,@LogID , @JobTitle, @JoiningDate)
    COMMIT
    END ;

    SELECT * FROM HumanResources.EmployeeDemo