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 .
- SQL: 2003-14 definierar den grundläggande datatypen, mappningar, predikat och funktioner.
- SQL: 2006-14 , SQL: 2008-14 och SQL: 2011-14 utvidgar de äldre versionerna och metoderna för XQuery .
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
- ^ 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
- ^ 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), "Framsteg i SQL / XML" (PDF) , SIGMOD-post , 33 (3): 79, doi : 10.1145 / 1031570.1031588 , hämtad 14 november 2011
- ^ 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
- ^ PostgreSQL-överensstämmelse med ISO 9075-14 (SQL / XML) , i PostgreSQL 9.1-dokumentation.
- ^ PostgreSQL 9.1 XML-funktioner , i PostgreSQL 9.1-dokumentation.
- ^ Kec, Daniel (2013), SQLX - Från DB Straight till XML och Back , Javalobby.org
externa länkar
| Den här databasrelaterade artikeln är en stubb . Du kan hjälpa Wikipedia genom att utvidga den . |