Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Suporte XML nativo no SQL Server 2014/2016

509 views

Published on

Agenda:
- Debate inicial
- Suas experiências: XML e SQL Server
- XML e tecnologias relacionadas
- O que é XML?
- XML bem-formado
- XML Schema e XML válido
- XPath e XQuery
- Algumas aplicações de XML
- Suporte XML no SQL Server
- Tipo de dado XML nativo
- XML Schema Collections
- Métodos do tipo de dados XML
- Cláusula FOR XML
- Debate final
- Minhas experiências: XML e SQL Server

Published in: Technology
  • Be the first to comment

Suporte XML nativo no SQL Server 2014/2016

  1. 1. SQLServerDF Suporte XML nativo no SQL Server 2014/2016 Rogério Moraes de Carvalho Consultor e instrutor de TI rogeriom.wordpress.com | @rogeriomc
  2. 2. Agenda Suporte XML nativo no SQL Server 2014/2016 Debate inicial Suas experiências: XML e SQL Server XML e tecnologias relacionadas O que é XML? XML bem-formado XML Schema e XML válido XPath e XQuery Algumas aplicações de XML Suporte XML no SQL Server Tipo de dado XML nativo XML Schema Collections Métodos do tipo de dados XML Cláusula FOR XML Debate final Minhas experiências: XML e SQL Server
  3. 3. Suas experiências: XML e SQL Server Debate inicial XML sem SQL Server Suas opiniões O que você entende por XML? Quando você usaria XML? Você acha XML obsoleto? Que desvantagens você destacaria? Que vantagens você destacaria? Casos de uso Você tem casos de sucesso? Você tem casos de fracasso? XML no SQL Server Suas opiniões Você acha uma mistura possível? Quando você usaria XML no SQL Server? Você acha XML no SQL Server obsoleto? Que desvantagens você destacaria? Que vantagens você destacaria? Casos de uso Você tem casos de fracasso? Você tem casos de sucesso?
  4. 4. O que é XML? XML e tecnologias relacionadas Linguagem de marcação XML: Extensible Markup Language Formato texto simples e flexível Derivado do SGML Criação e manutenção W3C: World Wide Web Consortium Comunidade internacional responsável pelo desenvolvimento de padrões Web Responsável pela especificação XML Exemplo de documento XML <?xml version="1.0" enconding="ISO-8859-1"?> <Contato Id="1" Sexo="Feminino" DataNascimento="1980-10-29"> <PrimeiroNome>Beatrice</PrimeiroNome> <Sobrenome>Dias Lima</Sobrenome> <Empresa Funcao="Gerente de Marketing"> Grupo Capivara </Empresa> <Endereco Tipo="Residencial" CEP="08830-170" UF="SP"> <Logradouro Numero="1507"> Rua João Fernandes </Logradouro> <Cidade>Mogi das Cruzes</Cidade> </Endereco> </Contato>
  5. 5. XML bem formado XML e tecnologias relacionadas Todo documento XML com uma sintaxe correta Principais regras para um documento bem formado Deve ter um elemento raiz, que deve ser único Todo elemento XML deve ter um marcador de abertura e outro de fechamento Os marcadores de um elemento diferenciam letras maiúsculas de minúsculas Elementos XML devem ser aninhados corretamente Atributos de um elemento não podem ser repetidos Valores de atributos devem ser delimitados por aspas ou apóstrofos
  6. 6. XML Schema e XML válido XML e tecnologias relacionadas XSD: XML Schema Definition Linguagem baseada em XML para expressar as restrições de documentos XML Define uma gramática para um conjunto de documentos XML Um documento XML que satisfaz um XML Schema é denominado XML válido
  7. 7. XPath e XQuery XML e tecnologias relacionadas XPath É uma sintaxe para definir partes de um documento XML Usa expressões de caminho para navegar por documentos XML Contém uma biblioteca padrão de funções Recomendação do W3C: XML Path Language (XPath) 2.0 (Second Edition) XQuery É a linguagem padrão para consulta de dados XML XQuery é para XML o que SQL é para bancos de dados relacionais É construída com base em expressões XPath Recomendação do W3C: XQuery 1.0: An XML Query Language (Second Edition)
  8. 8. Algumas aplicações de XML XML e tecnologias relacionadas Arquivos de configuração Web.config (aplicações web ASP.NET) Documentos de software para escritório Microsoft Office 2007 ou superior (compactados no formato .zip) OpenDocument - OpenOffice/LibreOffice (compactados no formato .zip) Imagens vetoriais SVG (Scalable Vector Graphics) XML Web Services Mensagens SOAP ...
  9. 9. Tipo de dado XML nativo Suporte XML no SQL Server Tipo de dado do SQL Server para armazenar dados XML Instâncias de dados XML podem ser armazenados em: Uma coluna do tipo XML Uma variável do tipo XML Exemplos DECLARE @telefone xml = '<Telefone DDD="61">3222-2222</Telefone>'; CREATE TABLE Seguranca.Auditoria (IdAuditoria int PRIMARY KEY, Registro xml); Sintaxe xml ( [ CONTENT | DOCUMENT ] xml_schema_collection )
  10. 10. XML Schema Collections Suporte XML no SQL Server O SQL Server fornece armazenamento nativo para dados XML Através do tipo de dado XML Com uso de XML Schema Collection é possível associar esquemas XSD Com uma coluna do tipo xml Com uma variável do tipo xml XML Schema Collections Armazenam XML Schemas importados para o banco de dados Objetivo dos XML Schema Collections Validar instâncias XML Definir tipo para os dados XML armazenados no banco de dados (XML tipado)
  11. 11. Métodos do tipo de dados XML Suporte XML no SQL Server Objetivos dos métodos Para consultar uma instância XML armazenada em uma variável ou uma coluna do tipo XML Cinco métodos do tipo XML query() value() exist() modify() nodes() Método query() do tipo XML Descrição Consulta XQuery em uma instância XML Retorna um XML não tipado Sintaxe query('Xquery') Método value() do tipo XML Descrição Consulta XQuery em uma instância XML Retorna um valor escalar do tipo SQL Sintaxe value('Xquery', 'TipoSQL')
  12. 12. Métodos do tipo de dados xml Suporte XML no SQL Server Método exist() do tipo xml Descrição Consulta XQuery em uma instância XML Retorna um bit 1: representa true (resultado não vazio) 0: representa false (resultado vazio) NULL: instância XML nula (valor NULL) Sintaxe exist('Xquery') Método modify() do tipo xml Descrição Modifica o conteúdo de uma instância XML Utiliza XML Data Manipulation Language XML DML: extensão da Microsoft ao XQuery Sintaxe modify('XML DML') XML DML: insert Sintaxe insert Expressao1 [ as first | as last ] into | after | before Expressao2
  13. 13. Métodos do tipo de dados xml Suporte XML no SQL Server Método modify() do tipo xml Sintaxe modify('XML DML') XML DML: delete Sintaxe delete Expressao XML DML: replace value of Sintaxe replace value of Expressao1 with Expressao2 Método nodes() do tipo xml Descrição Útil para separar conteúdo de uma instância XML em dados relacionais Sintaxe nodes('XQuery') as Tabela(Coluna)
  14. 14. Cláusula FOR XML Suporte XML no SQL Server Uma consulta SELECT retorna o resultado como um conjunto de linhas Opcionalmente, é possível retornar o resultado como XML Pela especificação da cláusula FOR XML A cláusula FOR XML pode ser usada em consultas ou subconsultas Em subconsultas, pode ser usado em instruções INSERT, UPDATE e DELETE Modos da cláusula FOR XML RAW: gera um elemento <row> por linha no conjunto de linhas AUTO: gera um resultado aninhado baseado na instrução SELECT EXPLICIT: permite maior controle do XML gerado PATH: permite maior controle do XML gerado, porém mais simples que EXPLICIT
  15. 15. Minhas experiências: XML e SQL Server Debate final XML sem SQL Server Minhas opiniões O que eu entendo por XML? Quando eu usaria XML? Eu acho XML obsoleto? Que desvantagens eu destacaria? Que vantagens eu destacaria? Casos de uso Eu tenho casos de sucesso? Eu tenho casos de fracasso? XML no SQL Server Minhas opiniões Eu acho uma mistura possível? Quando eu usaria XML no SQL Server? Eu acho XML no SQL Server obsoleto? Que desvantagens eu destacaria? Que vantagens eu destacaria? Casos de uso Eu tenho casos de fracasso? Eu tenho casos de sucesso?

×