Module 5: XML Modeling & Storage
The major aspects of storing XML include Concepts: Data and Document Centrism Storage Mapping to relational schemas SQL/XML
c Munindar P. Singh, CSC 513, Spring 2010 p.153
Module 5: XML Modeling & Storage The major aspects of storing - - PowerPoint PPT Presentation
Module 5: XML Modeling & Storage The major aspects of storing XML include Concepts: Data and Document Centrism Storage Mapping to relational schemas SQL/XML Munindar P. Singh, CSC 513, Spring 2010 c p.153 Modern Information Systems
c Munindar P. Singh, CSC 513, Spring 2010 p.153
c Munindar P. Singh, CSC 513, Spring 2010 p.154
< r e l a t i o n name= ’ Student ’ > <tuple ><attr1 >V11</ attr1 > . . . <attrn >V1n</ attrn >
5
</ tuple > . . . </ r e l a t i o n >
c Munindar P. Singh, CSC 513, Spring 2010 p.155
c Munindar P. Singh, CSC 513, Spring 2010 p.156
c Munindar P. Singh, CSC 513, Spring 2010 p.157
c Munindar P. Singh, CSC 513, Spring 2010 p.158
c Munindar P. Singh, CSC 513, Spring 2010 p.159
c Munindar P. Singh, CSC 513, Spring 2010 p.160
c Munindar P. Singh, CSC 513, Spring 2010 p.161
c Munindar P. Singh, CSC 513, Spring 2010 p.162
SELECT t1 . column−1, t1 . column−2 . . . tm . column−n FROM table −1 t1 , table− m tm
3 WHERE t1 . column−3=t4 . column−4 AND . . .
c Munindar P. Singh, CSC 513, Spring 2010 p.163
c Munindar P. Singh, CSC 513, Spring 2010 p.164
c Munindar P. Singh, CSC 513, Spring 2010 p.165
c Munindar P. Singh, CSC 513, Spring 2010 p.166
c Munindar P. Singh, CSC 513, Spring 2010 p.167
c Munindar P. Singh, CSC 513, Spring 2010 p.168
c Munindar P. Singh, CSC 513, Spring 2010 p.169
c Munindar P. Singh, CSC 513, Spring 2010 p.170
SELECT xmlelement (Name ’ Sgr ’ ,
2
x m l a t t r i b u t e s ( z . sgrId AS student−ID ) , z . sgrName ) FROM Singer z WHERE . . .
<Sgr student−ID = ’s1 ’ > Eagles </Sgr>
c Munindar P. Singh, CSC 513, Spring 2010 p.171
SELECT xmlelement (Name ’ Sgr ’ ,
2
x m l a t t r i b u t e s ( z . sgrId AS student−ID ) , z . sgrName , xmlelement (Name ’Song ’ , ’ Hotel ’ ) ) FROM Singer z WHERE . . .
<Sgr student−ID = ’s1 ’ > Eagles <Song>Hotel </Song>
4 </Sgr>
c Munindar P. Singh, CSC 513, Spring 2010 p.172
c Munindar P. Singh, CSC 513, Spring 2010 p.173
c Munindar P. Singh, CSC 513, Spring 2010 p.174
1 CREATE TABLE singer
( sgrId VARCHAR2(9) NOT NULL, sgrName VARCHAR2(15) NOT NULL, sgrInfo SYS.XMLTYPE NULL, CONSTRAINT singer_key PRIMARY KEY ( sgrId ) ) ;
c Munindar P. Singh, CSC 513, Spring 2010 p.175
INSERT INTO singer VALUES ( ’ Sgr −01’, ’ Eagles ’ , SYS.XMLTYPE. createXML( ’ < genre>rock </ genre > ’ ) ) ; INSERT INTO singer VALUES ( ’ Sgr −04’, ’ Beatles ’ ,
5
SYS.XMLTYPE. createXML ( ’ < t r i v i a ><convictions >freedom </ convictions > <genre>rock </ genre ></ t r i v i a > ’ ) ) ; SELECT z . sgrName , z . sgrInfo . extract ( ’ / genre / t e x t ( ) ’ )
10
. getClobVal ( ) FROM singer z ;
c Munindar P. Singh, CSC 513, Spring 2010 p.176
SELECT z . sgrName , z . sgrInfo . extract ( ’ / / genre / t e x t ( ) ’ ) . getClobVal ( ) FROM singer z
4 WHERE z . sgrInfo . extract (
’ / / genre / t e x t ( ) ’ ) . getStringVal ( ) l i k e ’ r % ’; SELECT z . sgrName , z . sgrInfo . extract ( ’ / genre / t e x t ( ) ’ ) . getClobVal ( )
9 FROM singer z
WHERE z . sgrInfo . existsNode ( ’ / / genre ’ ) = 1;
c Munindar P. Singh, CSC 513, Spring 2010 p.177
SELECT SYS_XMLAGG(SYS_XMLGEN( z . sgrname ) , SYS.XMLGENFORMATTYPE. createformat ( ’ FooList ’ ) ) . getClobVal ( ) FROM singer z
5 WHERE z . sgrId
IS NOT NULL GROUP BY z . sgrname ;
c Munindar P. Singh, CSC 513, Spring 2010 p.178