20
SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Embed Size (px)

Citation preview

Page 1: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

SQL SERVER 2014 - XML

Guia Essencial para Programação com XML no SQL Server

Page 2: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Conhecer profundamente, esta é a base de todo o sucesso.

Page 3: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

SurgimentoO XML provém de uma linguagem que a IBM inventou lá pelos anos 70. A linguagem da IBM chama-se GML (General Markup Language) e surgiu pela necessidade que tinham na empresa de armazenar grandes quantidades de informação de temas diversos.

Page 4: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Evolução• SGML – Standard Generalized

Markup Language

• HTML – Hipertext Markup Language

• XML – Extensible Markup Language

Page 5: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

A principal característica do XML, de criar uma infraestrutura única para diversas linguagens, é que linguagens desconhecidas e de pouco uso também

podem ser definidas sem maior trabalho e sem necessidade de ser submetidas aos comitês de

padronização.

XML

Page 6: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

O XML• É hierárquico• É case sensitive• Contém dados semiestruturados• Pode ser formatado, pesquisado, validado e manipulado• Não “pertence” a nenhuma empresa

Page 7: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Tecnologias Relacionadas• Formatação– CSS– XLS– XSLT

• Validação– DTD– XSD

• Pesquisa– XQUERY– XPATH

Page 8: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Estrutura do XML

Page 9: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Document XML

Page 10: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Fragment XML

Page 11: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Element-Centric

Page 12: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Atribute-Centric

Quando as informações são armazenadas nos atributos.Elementos podem ter repetições.

Page 13: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

XML no T-SQL• Datatype• Schema Collection• DDL Triggers• Logon Triggers• Eventos• Service Broker

Page 14: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Datatype XML• É usado para armazenar documentos ou

fragmentos de XML• Pode ser validado• Contém métodos que permitem a pesquisa ou

manipulação do seu conteúdo• É armazenado de forma canônica

Page 15: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Variáveis XML• Declare @xml xml• Set @xml = ‘<pessoa nome=“Paulo”></pessoa>’• Select @xml as ‘Forma canônica’

Page 16: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Campo XMLCREATE TABLE ALUNO(COD_ALUNO INT IDENTITY,NOME_ALUNO VARCHAR(50),OBSERVACOES_ALUNO XML);

INSERT ALUNO VALUES ('PAULO','<documentos><rg>12345678</rg><cpf>987654</cpf></documentos>');INSERT ALUNO VALUES ('LUANA','<documentos><rg>23456789</rg><cpf>123456</cpf></documentos>');INSERT ALUNO VALUES ('JOANA','<documentos><rg>23654532</rg><cpf>78878998</cpf></documentos>');

SELECT * FROM ALUNO;

Page 17: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

XML Schema CollectionCREATE XML SCHEMA COLLECTION XSD_DOCUMENTOS_ALUNOASN'<schema xmlns="http://www.w3.org/2001/XMLSchema">

<element name="DOCUMENTOS"><complexType>

<sequence><element name="RG" type="string"/><element name="CPF" type="string"/>

</sequence></complexType>

</element></schema>'

Page 18: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Validando o Schema no XML

Page 19: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

Cláusula FOR XML

• Retorna XML em vez de linhas e colunas• É configurável, podendo retornar elementos,

atributos e esquemas• Introduzida no SQL 2000

Page 20: SQL SERVER 2014 - XML Guia Essencial para Programação com XML no SQL Server

xQuery• Linguagem de pesquisa e manipulação de nós (elementos ou atributos)

XML• Utiliza expressões FLWOR:

– For– Let– Where– Order– Return

• Métodos– Query()– Value()– Exist()– Modify()– Nodes()