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 .
- SQL: 2003-14 definuje základní datový typ, mapování, predikáty a funkce.
- SQL: 2006-14 , SQL: 2008-14 a SQL: 2011-14 rozšiřuje starší verze a přístupy k XQuery .
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
- ^ 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
- ^ a b Wagner, Michael (2010), „1. Auflage“, SQL / XML: 2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme , Diplomica Verlag, ISBN 3-8366-9609-6
- ^ 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
- ^ 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
- ^ Shoda PostgreSQL s ISO 9075-14 (SQL / XML) , v dokumentaci PostgreSQL 9.1.
- ^ PostgreSQL 9.1 XML funkce , v dokumentaci PostgreSQL 9.1.
- ^ Kec, Daniel (2013), SQLX - Od DB Straight k XML a zpět , Javalobby.org
externí odkazy
| Tento článek týkající se databáze je útržek . Wikipedii můžete pomoci rozšířením . |