SQL / XML - SQL/XML

Az SQL / XML vagy XML-hez kapcsolódó specifikációk a strukturált lekérdezési nyelv (SQL) specifikációjának 14. része . A hagyományos előre definiált SQL adattípusokon túl, mint például NUMERIC, CHAR, TIMESTAMP, ... , bevezeti az előre definiált adattípust XMLa konstruktorokkal, számos rutingal, funkcióval és az XML-SQL adattípus-leképezésekkel az XML manipulációjának és tárolásának támogatására egy SQL adatbázisban .

Leírás

A specifikáció meghatározza az adattípust XML, az XML-mel való együttműködés funkcióit, beleértve az elemszerkesztést, az adatok leképezését relációs táblákból, az XML-fragmentumok kombinálását és az XQuery kifejezések beágyazását az SQL- utasításokba. A beágyazható funkciók közé tartozik az XMLQUERY (amely XML-t vagy értékeket von ki az XML-mezőből) és az XMLEXISTS (amely előre jelzi, hogy az XQuery kifejezés illeszkedik-e).

Az SQL / XML funkciókkal kapcsolatos további információk és példák az alábbi külső linkekben találhatók.

Szabványos megfelelés

Az Oracle 11g Release 1, az MS SQL Server 2008 és a MySQL 5.1.30 SQL / XML : 2006 szabványos megfelelőségének Wagner objektív értékelésének eredménye az alábbi táblázatban látható, amelyre a PostgreSQL 9.1 és az IBM DB2 adatai rendelkezésre álltak. egészül ki:

Az Oracle 11g 1. kiadása IBM DB2 9.7 MS SQL Server 2008 MySQL 5.1.30 PostgreSQL 9.1
Adattípus XML részleges (az Oracle az „XMLType” adattípust jogosítja fel az „XML” helyett) Magas Magas Nem Részleges
Az SQL / XML predikálja Magas Magas Részleges Nem Részleges
SQL / XML funkciók Magas Magas Részleges Alacsony Magas

MEGJEGYZÉS: csak az Oracle, az IBM DB2 és az MS-SQL-Server bővült az XQuery-vel .

Példák

Az alábbi SQLXML-lekérdezés SQLXML-típust eredményez (DB2 9.7-en és Oracle 11g-en tesztelve):

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;

És a kimenet:

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

A mintákat a javalobby cikk veszi.

Irodalom

  1. ^ Funderburk, JE; Malaika, S .; Reinwald, B. (2002), "XML programozás SQL / XML és XQuery" (PDF) , IBM Systems Journal , 41 (4): 642-665, doi : 10,1147 / sj.414.0642 , lekért 14-November 2011-es
  2. ^ a b Wagner, Michael (2010), "1. Auflage", SQL / XML: 2006 - Értékelési útmutató a standardkonformität ausgewählter Datenbanksysteme-hez , Diplomica Verlag, ISBN  3-8366-9609-6
  3. ^ Eisenberg, Andrew; Melton, Jim (2004), "Fejlesztések az SQL / XML" (PDF) , SIGMOD rekordot , 33 (3): 79, doi : 10,1145 / 1.031.570,1031588 , lekért 14-November 2011-es
  4. ^ Eisenberg, Andrew; Melton, Jim (2002), "SQL / XML jól halad" (PDF) , SIGMOD rekordot , 31 (2): 101, doi : 10,1145 / 565.117,565141 , lekért 14-November 2011-es
  5. ^ PostgreSQL megfelelés az ISO 9075-14-nek (SQL / XML) , a PostgreSQL 9.1 dokumentációjában.
  6. ^ PostgreSQL 9.1 XML funkciók , a PostgreSQL 9.1 dokumentációjában.
  7. ^ Kec, Daniel (2013), SQLX - a DB Straight-tól az XML-ig és vissza , Javalobby.org

Külső linkek