SQL/XML
SQL/XML eller XML-relaterade specifikationer är del 14 av specifikationen Structured Query Language (SQL). Förutom de traditionella fördefinierade SQL-datatyperna som NUMERIC, CHAR, TIMESTAMP, ...
introducerar den den fördefinierade datatypen XML
tillsammans med konstruktörer, flera rutiner, funktioner och XML-till-SQL-datatypmappningar 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 utökar de äldre versionerna och tillvägagångssätten till XQuery .
Specifikation
Specifikationen definierar datatypen XML
, funktioner för att arbeta med XML, inklusive elementkonstruktion, kartläggning av data från relationstabeller, kombination av XML-fragment och inbäddning av XQuery -uttryck i SQL- satser. Funktioner som kan bäddas in inkluderar XMLQUERY (som extraherar XML eller värden från ett XML-fält) och XMLEXISTS (som predikar om ett XQuery-uttryck matchas).
Ytterligare information och exempel på SQL/XML-funktionerna finns i de externa länkarna nedan.
Standardöverensstämmelse
Resultatet av Wagners objektiva utvärdering av SQL/XML :2006 standardöverensstämmelse för 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 skickats Lagt till:
Oracle 11g version 1 | IBM DB2 9.7 | MS SQL Server 2008 | MySQL 5.1.30 | PostgreSQL 9.1 | |
---|---|---|---|---|---|
Datatyp XML | Partiell (Oracle ger datatypen 'XMLType' istället för 'XML') | Hög | Hög | Nej | Partiell |
SQL/XML-predikat | Hög | Hög | Partiell | Nej | Partiell |
SQL/XML-funktioner | Hög | Hög | Partiell | Låg | Hög |
XQuery- förstärkning | Ja | Ja | Ja | Nej | Nej |
Exempel
Exempel på SQLXML-frågan nedan har SQLXML-typ som utdata (testad på DB2 9.7 och Oracle 11g):
SELECT XMLELEMENT ( NAMEs "PhoneBook" , -- root element name XMLAGG ( - aggregering över raderna XMLELEMENT ( NAME "Contact" , XMLATTRIBUTES ( cust . FIRST_NAME AS "Name" , custom . TEL ) ) ) ) FRÅN TMP . KUND SOM kund ;
Och utgången:
<Telefonbok> <Kontaktnamn = "Daniel" TEL= "788255855" /> < Kontaktnamn= "Martin" TEL= "889665447" /> < Kontaktnamn= "Eva" TEL= "111222333" /> <Kontaktnamn = " Alena" TEL= "444555666" /> <Kontaktnamn = "Oliver" TEL= "777888999" /> < Kontaktnamn= "George" TEL= "444882446" /> <Kontaktnamn = "Jamie" TEL= "129345 " > </Telefonbok>
Prover är tagna från javalobby artikel.
- ^ 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 978-3-8366-9609-8
- ^ Eisenberg, Andrew; Melton, Jim (2004), "Advancements in SQL/XML" (PDF) , SIGMOD Record , 33 (3): 79, doi : 10.1145/1031570.1031588 , hämtad 14 november 2011
- ^ Eisenberg, Andrew; Melton, Jim (2002), "SQL/XML gör goda framsteg" (PDF) , SIGMOD Record , 31 (2): 101, CiteSeerX 10.1.1.109.4867 , doi : 10.1145/565117.5651414 , november hämtad14, november 2114
- ^ PostgreSQL-överensstämmelse med ISO 9075-14 (SQL/XML), i PostgreSQL 9.1-dokumentationen.
- ^ PostgreSQL 9.1 XML-funktioner , i PostgreSQL 9.1-dokumentationen.
- ^ Kec, Daniel (2013), SQLX - Från DB direkt till XML och tillbaka , Javalobby.org
externa länkar