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 .

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.

  1. ^ 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
  2. ^ 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
  3. ^ 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
  4. ^   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
  5. ^ PostgreSQL-överensstämmelse med ISO 9075-14 (SQL/XML), i PostgreSQL 9.1-dokumentationen.
  6. ^ PostgreSQL 9.1 XML-funktioner , i PostgreSQL 9.1-dokumentationen.
  7. ^ Kec, Daniel (2013), SQLX - Från DB direkt till XML och tillbaka , Javalobby.org

externa länkar