Como usar o tipo de dados SQL XML

O tipo XML foi introduzido com o SQL: 2003. Isto significa que, conforme implementações podem armazenar e operar em dados em formato XML directamente, sem primeiro convertendo-a em XML a partir de um dos outros tipos de dados SQL.

O tipo de dados XML, incluindo os seus subtipos, embora intrínseco a qualquer aplicação que suporta-lo, age como um tipo definido pelo usuário (UDT). Os subtipos são:

  • XML (DOCUMENTO (sem tipo))

  • XML (DOCUMENTO (QUALQUER))

  • XML (DOCUMENTO (XMLSCHEMA))

  • XML (conteúdo (sem tipo))

  • XML (conteúdo (QUALQUER))

  • XML (conteúdo (XMLSCHEMA))

  • XML (SEQUÊNCIA)

O tipo XML traz SQL e XML em contato próximo, pois permite que os aplicativos para executar operações SQL no conteúdo XML e operações XML em conteúdo SQL. Você pode incluir uma coluna do tipo XML com colunas de qualquer um dos outros tipos predefinidos em uma operação de junção na ONDE cláusula de uma consulta.

Na forma verdadeira do banco de dados relacional, seu DBMS irá determinar a melhor maneira de executar a consulta e, em seguida, irá fazê-lo.

Quando usar o tipo XML

Querendo ou não você deve armazenar dados em formato XML depende do que você pretende fazer com que os dados. Aqui estão alguns casos onde faz sentido para armazenar dados em formato XML:

  • Quando você deseja armazenar um bloco inteiro de dados e recuperar todo o bloco mais tarde.

  • Quando você quer ser capaz de consultar todo o documento XML. Algumas implementações têm ampliado o alcance do EXTRAIR operador para permitir a extracção do conteúdo desejado de um documento XML.

  • Quando você precisar de tipagem forte de dados dentro de instruções SQL. Usando o tipo XML garante que os valores de dados são valores XML válidos e cadeias de texto não apenas arbitrárias.

  • Para assegurar a compatibilidade com o futuro, como sistemas ainda não especificadas, de armazenamento que pode não suportam tipos existentes, tais como Grande porte de caracteres, ou CLOB.

  • Para aproveitar otimizações futuras que irão apoiar apenas o tipo XML.

Aqui está um exemplo de como você pode usar o tipo de XML:

CRIAR CLIENTE TABLE (NomeCliente CHAR (30) NOT NULL, Address1 CHAR (30), Endereço2 CHAR (30), CityCHAR (25), StateCHAR (2), PostalCode CHAR (10), PhoneCHAR (13), FaxCHAR (13), Contactperson CHAR (30), comentários XML (SEQUÊNCIA)) -

Esta instrução SQL irá armazenar um documento XML na Comentários coluna da tabela de CLIENTE. O documento resultante pode ser algo como o seguinte:

1É VetLab equipado para analisar sangue pinguim?sim2Obrigado pela rápida reviravolta na amostra leopardo selo de escarro.Não

Quando não usar o tipo XML

Só porque o padrão SQL permite que você use o tipo XML não significa que você sempre deve. Na verdade, em muitas ocasiões, não faz sentido usar o tipo XML. A maioria dos dados em bancos de dados relacionais hoje é melhor em seu formato atual do que está no formato XML. Aqui estão alguns exemplos de quando não usar o tipo XML:

  • Quando os dados se decompõe naturalmente em uma estrutura relacional com tabelas, linhas e colunas

  • Quando você precisará atualizar peças do documento em vez de lidar com o documento como um todo

menu