Domanda

a)

SQL> CREATE TABLE xml_tab1(poDoc XMLTYPE);

Table created.

SQL> desc xml_tab1;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PODOC                                              PUBLIC.XMLTYPE

b)

SQL> CREATE TABLE xml_tab2 of XMLType;

Table created.

SQL> desc xml_tab2;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TABLE of PUBLIC.XMLTYPE

Codice da qui .

Nella prima, stiamo creando una colonna di tipo XMLTYPE. Che cosa significa il secondo fare? Quando devo usare il primo o il secondo?

È stato utile?

Soluzione

La seconda istruzione è la creazione di una tabella di oggetti.

E 'quasi mai il caso che si vuole veramente utilizzare una tabella di oggetti. Questo era qualcosa che è stato introdotto nel lasso di tempo in cui 8i Oracle stava facendo l'oggetto di database oriented. Mentre un sacco di miglioramenti orientati all'oggetto PL / SQL sono stati utili, utilizzando tipi di oggetto in SQL non è qualcosa che mi consiglia.

Altri suggerimenti

... ma poi di nuovo ... XML non ha nulla a che fare con SQL, quindi qualche ragionamento normale potrebbe non applicarsi ... (per quanto riguarda i tipi di oggetto, ad esempio).

Il primo esempio è un XMLType e in base alla versione del database la definizione negozio sottostante potrebbe essere SecureFile CLOB o SecureFile Binary XML. Il primo è sconsigliata da Oracle 12c e poi per motivi di prestazioni non ottimali.

Il secondo esempio (Tabella XmlType) ha, se la sintassi non è più specifico come sopra, anche securefile CLOB o securefile Binary XML.

L'esempio di colonna XMLType è più "SQL" nativo nel suo utilizzo (inserto XML nella colonna, select * from tabella in cui xmlcolumn, ecc), sono stati il ??tavolo XMLType è più nativo XML (inserto XML in tabella XML, (X) interrogazione "doc" utilizzo).

tabelle XmlType possono essere utilizzati facilmente con l'XMLDB XDB Repository ( "Gerarchia enabled"), che è può essere usato con automaticamente schredding XML tramite ad esempio FTP, WebDAV o richiesto tramite HTTP accesso. Fare per questa estensione comportamento, sono anche protetti tramite implementazioni di sicurezza XMLDB ACL.

colonne XmlType può avere la stessa FTP / WebDAV / HTTP caratteristiche ma attuazione di questa funzionalità non è così "fuori dalla scatola" come nell'esempio tavolo XMLType.

funzionalità BTW oggetto Oracle orientato è stato introdotto in Oracle 8.0.

Entrambi gli esempi di cui sopra, nella loro forma attuale, si tradurrà in alternative SecureFile che non hanno nulla a che fare con la funzionalità Orientato oggetto.

Date un'occhiata alle differenze nei casi di utilizzo di XMLType e più sulla homepage XMLDB principale

Oracle XML DB in Oracle Database 12c, June 2013
Best Practices for XQuery processing in Oracle Database, 12c June 2013
Best Practices for XML Storage in Oracle Database, 12c Oct 2013

http://www.oracle.com/ technetwork / database / database di tecnologie / XMLDB / panoramica / index.html

Maggiori informazioni e informazioni howto si possono trovare sul forum di Oracle XMLDB e / o su www.xmldb.nl (ad esempio http://www.liberidu.com/blog/2007/06/24/oracle-11g-xmltype-storage-options/ per vedere alcune differenze per quanto riguarda le differenze di sintassi tra le opzioni di archiviazione XMLType)

HTH

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top