SQL / XML - SQL/XML

SQL / XML ou especificações relacionadas XML faz parte 14 do Structured Query Language especificação (SQL). Além dos tipos de dados SQL predefinido tradicionais como NUMERIC, CHAR, TIMESTAMP, ... ele introduz digitar os dados pré-definido XMLem conjunto com construtores, várias rotinas, funções e tipos de dados mapeamentos XML para SQL para suportar a manipulação e armazenamento de XML em um SQL banco de dados .

Especificação

A especificação define o tipo de dados XML, funções para trabalhar com o XML, incluindo a construção de elemento, dados de mapeamento de tabelas relacionais, combinando fragmentos XML, e incorporação XQuery expressões em SQL declarações. As funções que podem ser incorporados incluem XMLQUERY (que extrai valores XML ou a partir de um campo XML) e XMLEXISTS (predicados que se uma expressão Xquery é compensada).

Mais informações e exemplos das funções SQL / XML são fornecidos nos links externos abaixo.

cumprimento das normas

O resultado da avaliação objetiva de Wagner do SQL / XML : 2006 conformidade com o padrão do Oracle 11g Release 1, MS SQL Server 2008 e MySQL 5.1.30 é mostrada na tabela a seguir, para o qual os dados para PostgreSQL 9.1 e IBM DB2 tem sido acrescentou:

Oracle 11g Release 1 IBM DB2 9.7 MS SQL Server 2008 MySQL 5.1.30 PostgreSQL 9.1
XML tipo de dados parcial (Oracle dá direito ao tipo de dados 'XMLType' em vez de 'XML') Alto Alto Não Parcial
SQL / XML predicados Alto Alto Parcial Não Parcial
funções SQL / XML Alto Alto Parcial Baixo Alto

NOTA: só a Oracle, IBM DB2 e MS-SQL-Server foram aumentados com XQuery .

Exemplos

A consulta de exemplo SQLXML abaixo tem o tipo SQLXML como saída (testado em DB2 9.7 e Oracle 11g):

SELECT XMLELEMENT(NAMEs "PhoneBook", -- root element name
                  XMLAGG(           -- aggregation over the rows	
                  XMLELEMENT(NAME "Contact",                                                  
                  XMLATTRIBUTES(cust.FIRST_NAME AS "Name",
                                cust.TEL)
                              )
                        )
                  )
FROM TMP.CUSTOMER AS cust;

E a saída:

<PhoneBook>
    <Contact Name="Daniel" TEL="788255855"/>
    <Contact Name="Martin" TEL="889665447"/>
    <Contact Name="Eva"    TEL="111222333"/>
    <Contact Name="Alena"  TEL="444555666"/>
    <Contact Name="Oliver" TEL="777888999"/>
    <Contact Name="George" TEL="444882446"/>
    <Contact Name="Jamie"  TEL="123456789"/>
</PhoneBook>

As amostras são colhidas a partir do artigo Javalobby.

Referências

  1. ^ Funderburk, JE; Malaika, S .; Reinwald, B. (2002), "de programação XML com SQL / XML e XQuery" (PDF) , IBM Systems Journal , 41 (4): 642-665, doi : 10,1147 / sj.414.0642 , recuperado de Novembro de 14 2011
  2. ^ Um b Wagner, Michael (2010), "1. Auflage", SQL / XML: 2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme , Diplomica Verlag, ISBN  3-8366-9609-6
  3. ^ Eisenberg, Andrew; Melton, Jim (2004), "Avanços em SQL / XML" (PDF) , registro SIGMOD , 33 (3): 79, doi : 10,1145 / 1.031.570,1031588 , recuperado de Novembro de 14 2011
  4. ^ Eisenberg, Andrew; Melton, Jim (2002), "SQL / XML está fazendo um bom progresso" (PDF) , registro SIGMOD , 31 (2): 101, doi : 10,1145 / 565.117,565141 , recuperado de Novembro de 14 2011
  5. ^ PostgreSQL conformidade com a ISO 9075-14 (SQL / XML) , no PostgreSQL 9.1 documentação.
  6. ^ Funções PostgreSQL 9.1 XML , no PostgreSQL 9.1 documentação.
  7. ^ Kec, Daniel (2013), SQLX - De DB Straight to XML and Back , Javalobby.org

links externos