| Alexandre's profileBlog do Alexandre LopesBlogListsNetwork | Help |
|
Blog do Alexandre LopesJuly 03 XML & SQL Server: Links recomendadosFinalizando, segue os links recomendados para estudos mais avançados de XML:
Basic Syntax of the FOR XML Clause Introduction to XQuery
http://msdn.microsoft.com/pt-br/library/ms345122(SQL.90).aspx XML Support in Microsoft SQL Server
http://msdn.microsoft.com/pt-br/library/ms345117.aspx Managing XML Schema Collections on the Server
http://msdn.microsoft.com/pt-br/library/ms187856.aspx Abraços, Alexandre Lopes Criando Indices XMLVoce pode criar índices XML usando a mesma definição do Transact SQL para criar indices relacionais e obter os beneficios de uma boa performance. A sua aplicação pode se beneficiar de indices XML nas queries que utilizam colunas do tipo XML. É preciso levar em consideração o custo de manutenção de um indice XML durante o processo de modificação de dados, por exemplo.
Existem 2 tipos de indices: XML Primario e XML Secundario. O SQL Server 2008 suporta os 2 tipos de indices sendo 1 primario e o secundario ele desmembra em 3 sub-tipos: PATH, VALUE e PROPERTY.
Praticando...
USE WebcastXML2008;
ALTER TABLE dbo.tbl_XML2008 WITH NOCHECK
-- Criando Indice XML Secundario (FOR PATH) CREATE XML INDEX XMLPATH_XMLID ON dbo.tbl_XML2008 (LogRecord)
-- Verificando a criação dos indices associados a tabela:
-- Verificando a criacao dos indices XML na sys.indexes ... SELECT * FROM sys.indexes where type_desc = 'XML'
Abraços, Usando metodos XMLDando continuidade aos posts sobre o tema "Usando XML no SQL Server 2008", vou escrever sobre os métodos XML. O tipo de dados XML possui 5 métodos para suportar consultas e modificações no XML. Esses métodos são extremamente fáceis de serem usados devido a sua praticidade e flexibilidade. São 5 metodos que serão apresentados abaixo: - Query() Se o seu objetivo é retornar partes ou seções de um conteudo XML, o metodo Query() é a melhor escolha. Ele executa uma query para avaliar a expressão Xquery através de elementos e atributos existentes no XML consultado. - Value() O metodo Value() é utilizado quando se deseja extrair valores de conteudo XML, mais particularmente o conteudo de uma coluna com o tipo de dados XML, variavel ou parametro. Dessa forma, você pode especificar consultas SELECT que combinam ou comparam dados de XML com dados em colunas não-XML. - Exist() Auto-explicativo, o método Exist() checa a existencia de um fragmento XML especifico no conteudo XML. Retorna um bit que representa uma das seguintes condições: - 1: Representando Verdadeiro, se a expressão XQuery em uma consulta retornar um resultado com conteudo. - 0: Representando Falso, se retornar um resultado vazio. - NULL se a instância de tipo de dado xml na qual a consulta foi executada contiver NULL - Nodes() O método nodes() é útil quando você quiser fragmentar uma instância de tipo de dados xml em dados relacionais. O resultado do método nodes() é um conjunto de linhas que contém cópias lógicas do conteudo XML original. Você pode recuperar vários valores do conjunto de linhas. Por exemplo, você pode aplicar o método value() ao conjunto de linhas retornado por nodes() e recuperar vários valores do XML original. - Modify() O método Modify() modifica o conteúdo de um documento XML. Utilize esse método para modificar o conteúdo de uma coluna ou variável do tipo xml. Esse método utiliza uma instrução XML DML para inserir, atualizar ou excluir nós de dados XML. O método modify() do tipo de dados xml pode ser usado apenas na cláusula SET de uma instrução UPDATE. Este método recebe um único parâmetro de entrada que obriga a validação XML DML e executa no XML. Vamos praticar.... USE WebcastXML2008 GO Exemplo de uso do metodo Query(): DECLARE @xmlvar xml SET @xmlvar = '<Motocross> <Team Manufacturer="Yamaha"> <Rider Size="250"> <RiderName>Tim Ferry</RiderName> </Rider> <Rider Size="250"> <RiderName>Chad Reed</RiderName> </Rider> </Team> </Motocross>' SELECT @xmlvar.query('/Motocross/Team/Rider') GO Resultado.... Exemplo de uso do metodo Value(). O resultado retorna o varchar Yamaha, a expressao XQuery retorna o primeiro atributo em /Motocross/Team: Efetuando a inclusao propriamente dita
June 26 Numero de profissionais certificados em SQL ServerSegue a lista com o total de profissionais certificados em SQL Server em todo o planeta terra:
Microsoft Certified Database Administrator (MCDBA):
153.130 - MCDBA: SQL Server 2000 Microsoft Certified Technology Specialist: 51.445 - MCTS: SQL Server 2005 3.577 - MCTS: SQL Server 2005 Business Intelligence 854 - MCTS: SQL Server 2008 Implementation and Maintenance 333 - MCTS: SQL Server 2008 Business Intelligence Development and Maintenance 456 - MCTS: SQL Server 2008 Database Development Microsoft Certified IT Professional (MCITP): 7.928 - MCITP: SQL Server 2005 Database Administrator 3.377 - MCITP: SQL Server 2005 Database Developer 1.385 - MCITP: SQL Server 2005 Business Intelligence Developer 358 - MCITP: SQL Server 2008 Database Administrator 213 - MCITP: SQL Server 2008 Database Developer 137 - MCITP: SQL Server 2008 Business Intelligence Developer Microsoft Certified Architect (MCA): 18 - MCA: Database Microsoft Certified Master (MCM): 39 - MCM: SQL Server 2005 2 - MCM: SQL Server 2008 Fonte de referencia: Number of Microsoft Certified Professionals Worldwide
Abraços, Alexandre Lopes June 25 XQUERY E XPATH
O W3C desenvolveu duas linguagens de consultas que fornecem uma poderosa capacidade para manipular estruturas XML. São elas XQUERY e XPATH. XQUERY é uma linguagem de consulta criada exclusivamente para dados XML. A Transact-SQL oferece suporte a um subconjunto desta linguagem usado para consultar o tipo de dados xml. Esta linguagem está em constante desenvolvimento pelo W3C, com a participação de todos os principais fornecedores de banco de dados. A XQuery é baseada na linguagem XPath existente, com suporte adicional para uma melhor iteração, melhores resultados de classificação e com a capacidade de construir o XML necessário. A linguagem XQUERY não oferece palavras-chave para manipulação de dados, mas a Microsoft extendeu as capacidades da XQUERY no SQL SERVER incluindo um conjunto de instruções para que o desenvolvedor possa adicionar, atualizar e apagar dados XML (XML DML = Data Manipulation Language). O exemplo abaixo realiza as seguintes tarefas: Obtem registros usando o metodo query() e XQuery. Retorna uma estrutura XML representando um relatorio com todas as mensagens de erro existentes no conteudo XML DECLARE @Date nvarchar(50) SELECT TOP(1) LogRecord.query('<errorReport issuedby="{sql:variable("@UID")}" date="{sql:variable("@Date")}"/>'), O exemplo abaixo realiza as seguintes tarefas: Obtem valores independentes usando o metodo value() e XPath. E retorna uma estrutura tabular representando um relatorio com todas as mensagens de erro existentes no conteudo XML: SELECT LogRecord.value('(/logRecord/error/@number)[1]','int') AS [ErrorNumber],
Abraços, |
||||
|
|