SQL / XML - SQL/XML

Specifikace SQL / XML nebo XML jsou součástí 14 specifikace Structured Query Language (SQL). Kromě tradičních předdefinovaných datových typů SQL, jako NUMERIC, CHAR, TIMESTAMP, ... je zavádění předdefinovaného datového typu XMLspolu s konstruktory, několika rutinami, funkcemi a mapováním datových typů XML na SQL, které podporují manipulaci a ukládání XML v databázi SQL .

Specifikace

Specifikace definuje datový typ XML, funkce pro práci s XML, včetně konstrukce prvků, mapování dat z relačních tabulek, kombinování fragmentů XML a vkládání výrazů XQuery do příkazů SQL . Mezi funkce, které lze vložit, patří XMLQUERY (který extrahuje XML nebo hodnoty z pole XML) a XMLEXISTS (což predikuje, zda je výraz XQuery shodný).

Další informace a příklady funkcí SQL / XML jsou uvedeny v externích odkazech níže.

Soulad se standardy

Výsledek objektivního vyhodnocení Wagnerova standardu SQL / XML : 2006 podle standardů Oracle 11g Release 1, MS SQL Server 2008 a MySQL 5.1.30 je uveden v následující tabulce, ke které jsou data pro PostgreSQL 9.1 a IBM DB2 přidal:

Oracle 11g, vydání 1 IBM DB2 9.7 MS SQL Server 2008 MySQL 5.1.30 PostgreSQL 9.1
Datový typ XML částečné (Oracle opravňuje datový typ 'XMLType' místo 'XML') Vysoký Vysoký Ne Částečný
Predikáty SQL / XML Vysoký Vysoký Částečný Ne Částečný
Funkce SQL / XML Vysoký Vysoký Částečný Nízký Vysoký

POZNÁMKA: O XQuery byly rozšířeny pouze Oracle, IBM DB2 a MS-SQL-Server .

Příklady

Ukázkový dotaz SQLXML níže má jako výstup typ SQLXML (testováno na DB2 9.7 a 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;

A výstup:

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

Ukázky jsou převzaty z článku javalobby.

Reference

  1. ^ Funderburk, JE; Malaika, S .; Reinwald, B. (2002), „Programování XML pomocí SQL / XML a XQuery“ (PDF) , IBM Systems Journal , 41 (4): 642–665, doi : 10,1147 / sj.414.0642 , vyvoláno 14. listopadu 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), „Advancements in SQL / XML“ (PDF) , SIGMOD record , 33 (3): 79, doi : 10.1145 / 1031570.1031588 , vyvoláno 14. listopadu 2011
  4. ^ Eisenberg, Andrew; Melton, Jim (2002), „SQL / XML is Making Good Progress“ (PDF) , záznam SIGMOD , 31 (2): 101, doi : 10,1145 / 565117,565141 , vyvoláno 14. listopadu 2011
  5. ^ Shoda PostgreSQL s ISO 9075-14 (SQL / XML) , v dokumentaci PostgreSQL 9.1.
  6. ^ PostgreSQL 9.1 XML funkce , v dokumentaci PostgreSQL 9.1.
  7. ^ Kec, Daniel (2013), SQLX - Od DB Straight k XML a zpět , Javalobby.org

externí odkazy