SQL / XML - SQL/XML

SQL / XML eller XML-relaterade specifikationer är del 14 i specifikationen för strukturerad fråga (SQL). Förutom de traditionella fördefinierade SQL-datatyperna som NUMERIC, CHAR, TIMESTAMP, ... den introducerar den fördefinierade datatypen XMLtillsammans med konstruktörer, flera rutiner, funktioner och XML-till-SQL-datatypkartläggningar för att stödja manipulation och lagring av XML i en SQL- databas .

Specifikation

Specifikationen definierar datatypen XML, funktioner för att arbeta med XML, inklusive elementkonstruktion, kartlägga data från relationstabeller, kombinera XML-fragment och bädda in XQuery- uttryck i SQL- uttalanden. Funktioner som kan inbäddas inkluderar XMLQUERY (som extraherar XML eller värden från ett XML-fält) och XMLEXISTS (som förutsätter om ett XQuery-uttryck matchas).

Mer information och exempel på SQL / XML-funktionerna finns i de externa länkarna nedan.

Standard efterlevnad

Resultatet av Wagners objektiva utvärdering av SQL / XML : 2006-standardöverensstämmelse av Oracle 11g Release 1, MS SQL Server 2008 och MySQL 5.1.30 visas i följande tabell, till vilken data för PostgreSQL 9.1 och IBM DB2 har varit Lagt till:

Oracle 11g Release 1 IBM DB2 9.7 MS SQL Server 2008 MySQL 5.1.30 PostgreSQL 9.1
Datatyp XML partiell (Oracle berättigar till datatypen 'XMLType' istället för 'XML') Hög Hög Nej Partiell
SQL / XML predicates Hög Hög Partiell Nej Partiell
SQL / XML-funktioner Hög Hög Partiell Låg Hög

OBS: endast Oracle, IBM DB2 och MS-SQL-Server har kompletterats med XQuery .

exempel

Exempel SQLXML-frågan nedan har SQLXML-typ som utgång (testad på DB2 9.7 och 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;

Och utgången:

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

Prover tas från javalobby-artikeln.

referenser

  1. ^ Funderburk, JE; Malaika, S.; Reinwald, B. (2002), "XML-programmering med SQL / XML och XQuery" (PDF) , IBM Systems Journal , 41 (4): 642–665, doi : 10.1147 / sj.414.0642 , hämtad 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), "Framsteg i SQL / XML" (PDF) , SIGMOD-post , 33 (3): 79, doi : 10.1145 / 1031570.1031588 , hämtad 14 november 2011
  4. ^ Eisenberg, Andrew; Melton, Jim (2002), "SQL / XML gör bra framsteg" (PDF) , SIGMOD-post , 31 (2): 101, doi : 10.1145 / 565117.565141 , hämtad 14 november 2011
  5. ^ PostgreSQL-överensstämmelse med ISO 9075-14 (SQL / XML) , i PostgreSQL 9.1-dokumentation.
  6. ^ PostgreSQL 9.1 XML-funktioner , i PostgreSQL 9.1-dokumentation.
  7. ^ Kec, Daniel (2013), SQLX - Från DB Straight till XML och Back , Javalobby.org

externa länkar