SQL / XML - SQL/XML

SQL / XML of XML gerelateerde specificaties is deel 14 van de Structured Query Language (SQL) specificatie. In aanvulling op de traditionele vooraf gedefinieerde SQL data types zoals NUMERIC, CHAR, TIMESTAMP, ... het introduceert de vooraf gedefinieerde datatype XMLsamen met constructeurs, diverse routines, functies en XML-to-SQL datatype mappings voor manipulatie en opslag van XML ondersteunen in een SQL -database .

Specificatie

De specificatie definieert het datatype XML, functies voor het werken met XML, zoals elementconstructie, toewijzingsgegevens van relationele tabellen combineert XML fragmenten en inbedding XQuery expressies in SQL statements. Functies die kunnen worden opgenomen omvatten XMLQUERY (die XML of waarden halen uit een XML veld) en XMLEXISTS (die predikaten of een XQuery expressie wordt vergeleken).

Meer informatie en voorbeelden van de SQL / XML-functies zijn beschikbaar in de externe links hieronder.

Standard naleving

Het resultaat van de objectieve evaluatie van de Wagners SQL / XML : 2006 standaard naleving van Oracle 11g Release 1, is MS SQL Server 2008 en MySQL 5.1.30 weergegeven in de onderstaande tabel, waarop de gegevens voor PostgreSQL 9.1 en IBM DB2 is geweest toegevoegd:

Oracle 11g Release 1 IBM DB2 9.7 MS SQL Server 2008 MySQL 5.1.30 PostgreSQL 9.1
datatype XML gedeeltelijke (Oracle geeft het gegevenstype 'XMLType' in plaats van 'XML') hoog hoog Nee partieel
SQL / XML predikaten hoog hoog partieel Nee partieel
SQL / XML-functies hoog hoog partieel Laag hoog

LET OP: alleen Oracle, IBM DB2 en MS-SQL-Server is uitgebreid met XQuery .

Voorbeelden

Onderstaand voorbeeld SQLXML query SQLXML soort als output (getest DB2 9.7 en 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;

En de output:

<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>

Monsters worden genomen van javalobby artikel.

Referenties

  1. ^ Funderburk, JE; Malaika, S .; Reinwald, B. (2002), "XML programmering met SQL / XML en XQuery" (PDF) , IBM Systems Journal , 41 (4): 642-665, doi : 10,1147 / sj.414.0642 , teruggehaald 14 November 2011
  2. ^ A 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), "De vooruitgang in SQL / XML" (PDF) , SIGMOD opnemen , 33 (3): 79, doi : 10,1145 / 1.031.570,1031588 , teruggehaald 14 November 2011
  4. ^ Eisenberg, Andrew; Melton, Jim (2002), "SQL / XML boekt goede vooruitgang" (PDF) , SIGMOD opnemen , 31 (2): 101, doi : 10,1145 / 565.117,565141 , teruggehaald 14 November 2011
  5. ^ PostgreSQL Overeenstemming met ISO 9075-14 (SQL / XML) , bij PostgreSQL 9.1 documentatie.
  6. ^ PostgreSQL 9.1 XML-functies , in PostgreSQL 9.1 documentatie.
  7. ^ Kec, Daniel (2013), SQLX - Van DB Rechtstreeks naar XML en Back , Javalobby.org

Externe links