   XML     DBSJ Letters, Vol. 4, No. 1

RDB

A Proposal of an XML Publishing Considering Security 
 !#"%$%)%&(+I'*HJ),6L+.KE-0M /213$ 15476 8#9;:#HJ<>6=@?7A5B,CED%F
WPX>YLZ>GK -[/ F3\ KI]_^_B `;$ $@q5r N;:;OP<#<>=bGRaIQ3cIS 8Id $_e#fEgiTLh UE<E^;zVj
9,IGRa3k.Ic l X7BE:3{o <7|R6 }%3=_/~m37n#O>6L7B,0Jo.%4yp 9@p $3E X>9@j@s3EI<.t% %8Nb3tI4EQ3%6;SI3]_u>,3E;GRvxE 83wyF$%d %$ 7O7[JbGbI`,J¦ l GRKR§I,<, t>9%I¨,Dl $ TLU;I¡83E©E9_ª ¢%-«£5/>G5K ¤0¥ HI]²NIBIO¬<,C@DIB%F_­>³ lb+@F;H´©Eª6b`3-*/#¦ GPK µE%¶7H´O76_0]J*®¯*°@<7G TRUI±Norihide SHINAGAWA

XML
XQueryXPERANTO

XML

XML

XML

XML-based data integration has been used widely.
Schemes to publish XML data from RDBs are important to use RDBs in the data integration, and have beendeveloped. In actual XML data processing, data areexchanged through networks, and processed by one
or more service providers. Therefore, security mechanisms such as access control, data encryption, anddesital signature, are also important. This paper proposes a scheme to enforce efficiently security policies
in the cource of XML publishing. The basis of XML publishing is the XPERANTO approach.

½Á#Ñ~¾,ÃÔ·¹ÓR¿ Õi¸xÖ5º¼ÅE» À ×i¿yØ%Á2½RÊIÂ#Ù@Ã*ÄiÚ,Å5¿0ÆPÛ_ÇIÜIÅEÝ_Þ3È@ÉPß_Ê.à;áRËbâ;Ìxã;Ãiä3ÍPÎLåbæRÏ#ç,ÐRÕLÑLèIÒ;éÅ
_ðæ_Jê çåIñ[ÕLëyâ_ò@ á7û; ó@ì¬ê í*ü%èRý¬ÿ î;ù#%Éï3âE¿iþbðJÿLñ[ß_Õ_à_ò¬á@Ö,âÅ3 ï× @ÞÀ 2¿*æRøúÕù7ç;â@ó% á#ôLõ3ìy%ÿßbóö;@%÷.¿ ä øúê ù>ø ¿ùxê %ìP&í ;ùxÕ@ìiè_æ_é ç3êó 'â %)ï (+* Õ ¿ È PÅ !Ê ´ì "$# À 5b,ÿ3¿*Á>ê.Â#ÿÃi/1Ä*Å70_6Æ å 233_ÕLóè 457åI8#ýP)ß ù79â#* þL¿iÿ,Á´í Â5Ã*Ä0Å5Æ : â);<#ì8#Pí¿ G> ù>HIß å J?3,ÉK%áI.¿[.Õ -Ö#BRÅ,Ló ×bN)Õ;MO=xòQø PRù2I¿ IÕ /1@óI0Rã;A_å;ïä;Ç3ïÀ Å#¿y(#È%Ï#ìPÉ_Æí*ó B,Á.47É.Â#å%C Ã*ýPDIÄiù>ÊÅ7â3EÆ áF: 
3Éé g))hÿ 8S%.Åø ]ù>TJ^xÿ Ñ B)ø`,É_#L.â@i-è_M`]%+ï Õ_PjÀ Ý_.¿ Þ;QU,ó$å>4#)ì å_Vý¬!JW%ù~ì ó ìbk;Xíó Y¬l!2ùQ5 ì aZb@ñ [5¿d¿ Õ@cÇe\fß mno â Õ À gh83ó 45å;Eý¬ï ù7â%BQá7L ì iMpPqí LÛIÜ â%á3åIáÿìP6í%z)¿@9rß *qst7Õ" uE# ï u%Br.ï L{vÀ |EMpå 1PyÒwMx.È @Å¬-)Å .Lyò  }.!28 ì$,$¿ ä;sórt( ~
"$#
1.

XML

RDBMS

RDB

XML

XML

RDB

XML
XPERANTO [1][3, 4, 5]

XML

XML

XML
SilkRoute [2]XML`` , pOO`ppRRp
p ¨`` , p` p p¡ ¢R£¥p¡¤`¥¦j¢x§£¤p¦RO§siena@kde.cs.tsukuba.ac.jp
R`p O©`ª`RO«R¬p­® kitagawa@cs.tsukuba.ac.jp

1

pid
P0001
P0002
P0003
P0004

¶·¶¶

Hiroyuki KITAGAWA

XML
XML
XML

RDB

department
dname
address
addr-1addr-2
addr-3addr-4°R¯`R±²´³`¶¶·¶ µ`¶¶· ¶

did
D001
D002
D002
D003
pname
Jack
MichaelRobertThomas

¶¶¶

¶¶¶

employeedidjobcodeD001
4 (manager)
D003 3 (vice manager)
D001
1 (regular)
D002
1 (regular)

yÅ 0Ñ

¶¶¶
¶¶·¶
¸ 1 M¹ »º ¼

Øsalarycode
M-13
V-10
R-11
R-08

¶¶¶

Fig. 1 Relational tables.

½ ¾ H¿ ª`À RÁ¿ ª`À jÁtableprojectÂj­ÍÌ`Ã´ÎqÄRÅÃ´ÏpÐÆ`ÇÒ`Ó`(©ÔjªÃ´È`ÈpÉjÕ Ã¥ÊË )pÑ
selectjoin
×¥ØjÙjÚ
groupby Ö¥ÎR®Ìd¬ÖÑå`Ò`æ¥Ó`®RÔjÃ´ÄjÃÛOÅ ÜÕ orderbyÝ´Þßà¡ áãâäj²
union
unnestview
function XQuery ç´ÒjÃ¥ÄRÅ
B CD4ê ë ì í XML EèRéF8 G HIJy
> 9vî .ï)ðñ
!

ò
.
ó
ôM õö.÷ øùXML úû*ü 4 ýî -(1* XMLþÿñ )( 23 ñ XML "6# ì 
B-L1M`rP Mp  "$#XMLÿ py! dk (ò  XPERANTO    !
qBLMXMLP` "#)91î »Mp XACML
B C.D ò
)9 EF8 GHI.JrXML
 Encryption
>  y    XMLSignature!
1 XQGM
XQGM operators.

IÊ ÍLÕ_Î@Ý%Ï;Þ ï,JÏ5ìiÆê î 7á#IÉëRï ÿIÝ%¿ Þ%7ó å,ëLÕ ÿ øIù Å#5ìRÉ ßí ê RÕ â Ï Eßß E¿ 3ßÀ Ô¿ @ï 5ìRí
5
å
3
@
ä
ó
øì¬ù5í ÿ @ï Õ ¿ À ¿«Ò LÅî ê ßbà@â á@â;¿ ï >ñÈ iÅ@ß >ì Eâ ß êìÕ%¬íÏ5Æ 5É À ,î ê ê ¿ â À ¿Õ ÔåLÒ LÅ %ÅEÉß _ì
¿ ù 0Õ 3ßbéIá;â >ìLí2. XPERANTO

ìâPí ,ßRØ%À ½~¿ ø ù.À ¿ ;«éIù´è ß Õ5å .ì 3ÕiÖ2Ì Ü ÍLÃ 7Î@Ïß EÉ_ëRÈ âL3ÅbïÅ êÈ Rß_ÅIà ó 7ì ¯ø Ü ù(ì@í%È bÅ##ÕIß ò À ¿ ¿ Jxì ì [ßÍLÎ_ß Ï EïIÝ;Þ ê .ì %Õ ï%ò;½xø ù¯êìLí ¿ ;ÕPÖ´Ì Ã
ÕÈ %Pø ùÅö ì «É¯ß Ã È 3LÅ%í3Õ@ö è 2Õì %Å ß Ü .È ìLbÀ íÅ ¿ Eù ï ,ì@í
ï À ¿ Ü 3%ï;Õ Ý_Þ ß_¿Ý;Þ .ìLí I%Õï;Ý_IÞ%¿ ïÜEåþ_å@á Õ Ü È RÅ ê EÅ Ü ÍRÎ_PÏ_Ø ïIÝ;Õ Þ .ìRí3@Aá;â
ï;Ü ØI½ ê@ÌEö¿â@A ;n ïIÝIÞ ,å ê ¿ ïI¬ùÝIÞ ,¿Õ %ß ß
_A EaIc ÍRÎ_ÏLï3Ý;Þ ÿ %å Ö5Å#× ;ö
ÕIÈ yÅ Ü ï PØ ¿LÌ 0É¯ß Ã ï %7í ì_íR*òÅÀÀ
Ø %í À ¬Å ¿ Ó;Õ 3Õ I%Ü ¿ .ì À %JÜ,ê 3ìRÕ íì iÅ À ¿!#"!$~ èé.- (&% 'f RDB/ XML( " # *) é XML  + ,)> ì! XQuery - _ r9 . */

0
*



)} 8 &132 ! 9iî
XML
3
4

)
_
<
r
5


'
ÿ

) &67! d<Q1~- ! kRDBMS&8èpé¸ 9!*:<; >= ?
 ¼  ) é XML )1  ¸ 2 9! ¸ 3 RDB_
>
f!@:<;BA-  3*- ? M xC ! B. XQuery
/ XML
( &D
¸


:

.
¼
9
!
XML
4
"
2.2 E0FHGJI!K- _r8 L -9vî ! .8 M :
N -XPERANTO
_Q ;< *ON* RDBMSPw* - _ XPERANTO ~ èpé RDBMS !
RST :  * . / - _N 1 ½ ¾ H-
1.  Q
XQGM (XML Query
Graph Model)
2. Q
R#U : XQGM
V &õ : N C  HW X SQL: - N _ N Y;<
RDBMS N*Y : N í Pý*Z: N
3. QNRDBMS~ R èpé :[3\ñ XML ]¸
. ._) !
õ  ¸ ^9! `_ba:cHd V " 53e f M 5 r(
è 3XQGM ½-¾ -(v* s*XQGM
gihij a è k " 5ml m gihij ê n3orml1
! 6¼b & qp 8@r join(correlated) ( a è department s ê ! k-tiu.!
employee
2.1

XPERANTO
RDB

v&wbx!y{z|}y!~!! Letters Vol. 4, No. 1



DBSJ Letters, Vol. 4, No. 1

create view employee_list as<list>
for $dep in view("default")/
db/department/row
return<department did="$dep/did"><dname>$dep/dname</dname><address>$dep/address</address><members>
for $emp in view("default")/db/
employee/row[did=$dep/did]return<member pid="$emp/pid"><pname>$emp/pname</pname><jobcode>$emp/jobcode</jobcode><salarycode>$emp/salarycode</salarycode></member></members></department></list><db><department><row><did>D001</did><dname>Personnel</dname><address>
addr-1</address></row> ...
</department><empleyee><row><pid>P0001</pid><pname>Jorn</pname><did>D001</did><jobcode>4</jobcode><salarycode>M-13</salarycode></row> ...
</empleyee>
</db>

¸ 2

Ö´Ì*) é Ã

ÈRÅ



XML
Fig. 2 Default XML view.

ç´Ò

%Å

<list><department did="D001"><dname>Personnel</dname><address>
addr-1</address><members><member pid="P0001"><pname>Jorn</pname><jobcode>4</jobcode><salarycode>M-13</salarycode></member>...
</members></department>...
</list>IÅ /È RÅ *

Ø

ÈRÅ

¸ 4 .

¸ 3 . */ XML 

XML
Fig. 4 Defined XML view.

Fig. 3 View definition.

m[

2 XML
XML functions.

RÁ >Á ¿ ª`À SQL2003 qç¥Ò
Clist
project
xmlelement
xmlattriute ¶¶·¶ Z@TagNameßà¡ß ¡ áá ValAttsË Ã`Ý´Þ Ë ÃOË projectproject
xmlattribute¶ ¶·¶  jÝÞZ XML ß ¡á OË
project
xmlforest, xmlconcat
XML .ß ¡áË¡@¢àÜ>£xçÒjÃ ¤>¥groupbyxmlaggxß Ã§¡ ¦áã¨Ã¦¨
project, selectproject, selectjxÝÞRÃ§¦Ã ¨ XML .ß ¡á¦¨
project, selectproject, selectx©Ã§¦>¨«ªjÅ
project, selectselect¢®x>¬p¡ ¡á á­äx©Z² >§ªpÅ
selectunnestXML
cr8Elem(Tag,Atts,Clist)
cr8AttList(A , ,A )cr8Att(Name,Val)
cr8XMLFragList(C , ,C )aggXMLFrags(C)getTagName(Elem)
getAttributes(Elem)
getContents(Elem)
getAttName(Att)
getAttValue(Att)isElement(E)isText(T)unnest(List)

OGODGTUITQWRD[ QPFKF OGODGTUCII:/.(TCIU OGODGTOGODGTFKF
RTQLGEVOGODGTOGODGTRKFRKF
RPCOG RPCOGRPCOG
LQDEQFG
LQDEQFGLQDEQFG
UCNCT[EQFGUCNCT[EQFGUCNCT[EQFGOGODGTØFunction
getTagName
getAttributes
getContents
getAttName
getAttValueisElementisElement
isTextisTextunnestunnestunnestOGODGTUFKF
FPCOGCFFTGUU
LQKP EQTTGNCVGF 

RKFRPCOGFKF
LQDEQFGUCNCT[EQFG
UGNGEVFKFFKF

@Ì3ÜIö º*»

m[

3 XML
XML function composition rules.

NKUV
RTQLGEVNKUVNKUVFGRCTVOGPVFKFFKF
FPCOG FPCOGFPCOG
OGODGTUOGODGTUOGODGTUFGRCTVOGPVNKUV

Composition Target
cr8Elem(Tag,Atts,Clist)
cr8Elem(Tag,Atts,Clist)
cr8Elem(Tag,Atts,Clist)
cr8Att(Name,Val)
cr8Att(Name,Val)
cr8Elem(Tag,Atts,Clist)
except for cr8Elem
PCDATA
except for PCDATA
aggXMLFrags(C)cr8XMLFragList(C , ,C )cr8AttList(A , ,A )¶¶¶ ¶¶¶   Result
Tag
Atts
Clist
Name
Val
True
False
True
False
C
C
A

ÂÂ ¶¶¶·¶·¶¶ ÂÂ CAÃÅÄÇÆÉÈÊÌËÍÏÎÐJÑH Ò ~HÙÓHò ÔJÕ×ÖØ0y:  -]^XML.U VW r9 XY
Z[
Ú
]
4
* °   *Û*ÜÝQ.k3³ 3O* ,f i* dB .C D Þ Z[ VW ßà X
i*
!
)
>
ô
9
î


á
Q
â


<



B
.
.
C
3
D

ã
2
ä åæ<XACML
ç<è é XACML êëbìíïîð}ñ@ò&óô æiõö*÷<ø ë#ù*êúû æ<ç#èýü<þ Ý0õ ÿ ù ð æ*ÿ }ö ê 3ê      "! è$#%&÷#ø. /01{èéBüiþó2   õö 3465 - #þ018ë07 ù(9'*: ) -(+ ;î <  ( ,è- é; < J K ù&æ3ðõ ö æ(:7= > ?&85@&  A BDCFEæ GEH(G8I P æiö ç0è&éêQ
XML ó  Lê*M NO XPathf@g RTèSé"7h ÷0ø ë0i ù H"UWV ö$XQY VZP@ ê([*\"!]_è$^a` j b cQd E è&e é O
4íQ employee list M
O"k(l

3.

_ì Ù;Ú 5ß _êëRâ ÿ;Á~xÂ´ø ù ÃiÄPì ÅJ5Æ ÕIÇ;Å>ÿ È%7ÉÉ â%,è ï¿,>åÀÕ;Ý;Þ3ó >åIýbù>ÿ ¿ ê â 3Õ,ß 2Iøúù7ï>ÿþ_åH*ï À ¿ Ø ßB9.!
m6[_ó´ø ùJìyí
½
¾
,
¬
ë
ÿ
L
¿
#
Ï
Æ
,
É
#
R
Õ
î
I
ó
,
Õ
I
ï
¯IØ3°I¿bè.7#ß À >[ù{ 
;
ï
@
Ý
I
Þ
5
ï
L
þ
f5ëPÿRó#¿å
ÿ3Ï5Æ 7É
ß@à<47ì ì*±5ßQ9r* ¿ b³ïH ² ê /#Õ¿ m[%ó );ß Jì_íÀ ¿ LÕ å< ê å3ëPÿ í   ï À ¿´Hµ !.ìm [%óoI¾!.ìm [ ¿8EïIÝ;Þ);< ê!2ì_ím [5Õ*¶·5å.VEÜ_ À ¿LÀ Ø ß ¸ ¹#ÿ;Ü%öº»7ßQ9* ¿_ÜIö êë ê K*¼5å
m [5ß½5þyÚrb5ìk%ïi¾ ¿2ø ù¯ìLí
@
õ

Ì
*


C
3

ö
¿ Ï Âp%ï TÝI!JÞì; k;<5ï,å@¿ Ý%ÞQï;T Ø Â)À2ÍPÑ V ¿.Pù#W X,Õ_Ý;Þr$T é J½ ';ÿ<,Áå : N é;- é#Ü_E¿ ó NY ø ù 3ó Rì ò;í½~>«ø ù´ù ßQìL9-í *Ô¿
Õ<5
"$#
¸ 5 XGML V õ

VCDNG GORNQ[GG

VCDNG FGRCTVOGPV

3.1

Fig. 5 XQGM graph.

2

XML
RDBMS
2003
XML
SQL
[6]
SQL 2003
XML
RDBMS
XML
3
XML
XQGM
RDBMS
XML

2

XPERANTOSQLSQL 2003

SQL
RDBMS

mQnToDprq sWpDtDuDv Letters Vol. 4, No. 1

wyx
h 4 ÷0ø ë#ù"' )+ î   V ë#ìíïîð!ñ"zZ{ | (SQ)
Access control policies and their security queries.

}41~1 41  F1 
¥¦ §11¦  ¡4¢£¤¨ª©¬«®­°¯ ±²¨ª©¬«¬­³±°´¶µ¬·¹¸»º»­»¼¶µ¬½¹­³±¾¼ªµ®¼¶¿¹µ¬ºª«¶±¾¼ªµ®¼¶¿¹µ¬º ½¶À¬­ÂÁ®«¬¸¹¨»¸»º»Ã¶Ä»À¬´¶µ¶Å}41~Æ ÇÈ1ÉÊ ËÌ Í4 ÎÏ¢Ð1ÑÒ£¤¥¦ §1¦ £¤¨ª©¬«®­°¯ ±²¨ª©¬«¬­³±°´¶µ¬·¹¸»º»­»¼¶µ¬½¹­³±¾¼ªµ®¼¶¿¹µ¬ºª« ¼¶µ¬¼¹¿¹µ»º¾Ó Ô»À¬¿ªÄ¬À»´¹µÂÕ×Ö¹Ø
}4~1áâÉ1ã4äå@Éæ âç1è£êéÙ£Ú¤ ÛÜÝÞßà1 1  ¡ì¥¦í ë ¥¨ª©¬«®­°¯ ±²¨ª©¬«¬­³±°´¶µ¬·¹¸»º»­»¼¶µ¬½¹­³±¾¼ªµ®¼¶¿¹µ¬ºª«¶±¾¼ªµ®¼¶¿¹µ¬º «»¸»¨¹¸¬º»ÃªÄ¬À»´¹µh 5 îï XQGM ðñ b
XQGM operators.
ò1ó ô õ Extendedö ÷4é â4ø ò ó ùúý1þÿùú1¡ø æ£1¤ûàüùúã1¡äûåü   
ùú1¡  ûü   ô  Î

Policy 1/list/department/members/member/salarycode

SQ Apply
Policy 2[Proj]/list/department/members/member[jobcode<2]

SQ Apply
Policy 3[Mask]/list/department/members/member/salarycode

SQ

encript(/list/department/
members/member/salarycode)
[Enc
Apply

apply
mask
enc
sign

J

3

NKUV
RTQLGEVNKUVNKUVFGRCTVOGPVFKFFKF
FPCOG FPCOGFPCOG
OGODGTU OGODGTUOGODGTUFGRCTVOGPVNKUV

XML

XML
XML

CRRN[NKUVNKUVFGRCTVOGPVOGODGTUOGODGT
=RTQLPQV UCNCT[EQFG ?
RWUJFQYPCRRN[OGODGTUOGODGT
=RTQLPQV UCNCT[EQFG ?

OGODGTUFKF
FPCOGCFFTGUU
LQKP EQTTGNCVGF 

RWUJFQYPCRRN[OGODGTUOGODGT
=RTQLPQV UCNCT[EQFG ?

OGODGTUITQWRD[ QPFKF OGODGTUCII:/.(TCIU OGODGT

RWUJFQYPCRRN[OGODGTOGODGT
=RTQLPQV UCNCT[EQFG ?

OGODGTFKF
RTQLGEVOGODGTOGODGTRKFRKF
RPCOG RPCOGRPCOG
LQDEQFG LQDEQFGLQDEQFG
UCNCT[EQFG UCNCT[EQFGUCNCT[EQFGOGODGT]

 "!$i #&%æ õiö XMLi
 {è + î  O i í"z*{íQ36,58+ 7 #<:þ6
4
V
(
9

;
|* -.0/&1"2 zQ{(| V P@ h"K ! ! èèZé 78<öZ#3i þ è + î?#ö 1" í"2J +z*{ê|#+{ê î O>ê =(#i?$þ@&
9 :ACBE>O DGL F>7 HJ& I XML i í" V !  XML
æ ê>N$O*ê z {*|{,M VQPQR æiçièQé S6T&æ{,õ M i õ XPERANTOVíZ zZ{ | ë#ìíïYîð!K ñ"! zZè { 8|#<êQJö "{ Z Mi:ê U , VXW ! èé !
h7
ðbñ"zQ{(õ |8O
OJ\,] æè ëH(h ì 5)íïé îZApply M P@ "#[iþWê ðJñ ö bXPath
Q
ê
(


XML
^
EG  87 XML _ `  [] a ê ðñ O #þ ! cè b"d ðñ æ<ç<è&éõö EG * S f Jê g(O
EG æ
Proj
h8i ! e èê é * õ ê not( * ) ! >è mö EG  8Oonqpsrtr Va ê:j,k6M$l[]õ! èé Enc ö Mask
EG
 iö ê XML _J` ê [(V"\*P 7] ö `ö b(cQdTGO
õ Mask ö Enc! èé33^æSign
O ðI ñ b(æ y:K$u 4
æ - ziè 1{ {,2 ö3
 v,w RDBMS êQ;(< ! è [(Sign
"
\
]
,
x
e
 5Bõ RDBMS æ 9:;H(IWVQP@ z { |"| # ]8OG} & ~§6é öæiþ0ïè R c
&
EY
õ
h
"
Yc* ! è&[ éw\Q] `(bc d 
3.3i V 6Y
{ & M P ö Apply ð(#*ñþ bO  í"z"{ | ! è ë< ìæ3í}ö îðHñZzZ{ |O" ,XML:
õ _J¥"` ¦=- bö M*[]N
V &0èí Qé ¤ gQ    Qí .$Q¡  aGP ¢ 7 cê { £ { ö Apply#þ èª  &#èéa ê ðñ OJ§ ¤ ¨  !   XQGM © 8
æz"&  m õöæ 9:;& ¢6«YO © ,ªg ê"§  : Qí ¬ <Gö  ­:® ôX ¯ ÷*æRDBMS#3þ MNO  
H(IApplyæ ./r  è XML _(` O 9";! è é3 ê m C ö
ù P" ö XPath&(°  è æö#*þ MQN -:£ 4& ±"H
IO¡ ö ² í9 ;840
 w! Apply&
æ z è^4é ¶ 7öv ê XMLP!
³ &iè CV ´Jµ 8} 5_>þ6`  è ¡

æ
3
#
¦ ! Q
è
ðñ - ¢ ê^óDO"·  ¼ { { è&ö é XML
Apply  ³ &#èö- £ù ºê »' _ ` (e XML _ `6¸ M¹Xð ñ b6½(VQ¾(P@¿" ÀTÄ O( Á P 773Â Qé ÁÅ P 12ö  e ! é ½(m ¾ > HÆ I Ç j,k õ3cö Ã Á½ ¾z!ê Qè (1), -8(2)È ¶ PZ6 É8Ê æ3õ& ³ ö zQj {(k(| M8acl Ë ê P:5 Tð(OGñ Ì bæ>O E
è ÍEÎæ } & É > ?&D5@&  "é ¶*70ö ½,¾- 9"; ¹ ÏO Ð:ç0Ñ è éè{ C ç#è$Y
7
< ö*
&
8
Ô  #þ ! è ù Æ6ºÕ >| {ê(Ò Ó¡ OG}
3.2('*) DBSJ Letters, Vol. 4, No. 1

RTQLRKFRPCOGFKFLQDEQFG

RKFRPCOGFKF
LQDEQFGUCNCT[EQFG
UGNGEVFKFFKF
VCDNG GORNQ[GG

Á

 

RWUJFQYPíê jGc
6
Fig. 6 Pushing down Apply.

V Proj :ê ½,¾ õö XPath ê Ö(× ¢6« V Proj


{

è
è m  & É !ö Apply ê #þ
 .Á Ô 7>ê Ø ApplyØ"Ù - 5(Ú ! G
M° G*! èé }MN O XML _:` êV ac¢ +# þ M N3ê _ ` Oê ½,¾ V õö Apply>Û z Á ³Z8 P@ê  ApplyTGÜæP ¶X~ - Jö Unnestê ð(ñ b ¦W1ê {½:è ¾ { Apply &0è { { w ö Apply Ý þ*ê*æ<M ç<N(è&-é .
¡£ ³
8
·
{
Á 109 ê Apply V Join :ê #½,þ ¾ õ j:k c,æ Þ({ ß8{ P« & Ê   {  è&ö é (1a)à  õê ö 9,; M*N $x ³ *æ ziè { { {  ° O ¡ ö
H I æ<{,ç<j è&kJé - yYApply
½,¾ (

¹
ù
X

º
O
G
á
æ ziQè { { w (ö T>Ü ê ðñ b! â zæ<ç0è é  v Ocã6ä E½(
æ z3è { { e (- åæ ! èéV ¾ê ½,¾ æ Apply ê  #þ ô ¹&ù  ºbGO ö ã"ä &9æ
{YGè j,m k ö $xH*-6I ç8æ3è çièé Apply ê #þ ð õ ñ 5 - éEnc(1b)æiçi
 b [¹
½
¾
[
"
\
]
^
(
`
(
b
Q
c
d
Signæ<öùXº   ,õ ô ì v 5 -¹ ùXº  Û z ³0ê8ë ! Vè&! éè 3 ê(ìc½,ï ¾ 4 õiv öæ3[öê#\]_þ ð ^×` ê bñ cQæ d ê:òYó V ê #3XMLYþ ô ê>_Jñ ` æ QO ê ]&ò6í4ó î õ e:õ &*g 9 : O \ ³  "Û zèé ö ö XML [(\"] ^ `(b(cQd<8õ 5:é
. ³ ö"#5:þ ô êGñ æ ê ò"ó õ ¹ù÷º- b ê ³ íQ&0î è  4C V ],h îO .$Õ ¡ ! èé
(

õQ# þ
¾ P 7 ö M N3ê9 : ô v ßDO P ã(& ä   | è - #ö þ ½ ¾P -7
Q(2) ðñ bê b ½ ³*
ò6!ó¹4è { ùÏ{TºOcO ø g è&é ò"¡ ó ò6ð ó ê ñTQO ÌOGÌ P   ððñ ñ O #3O þ P ö Ì¡ßTP 7 æ(
9 { P :7 ô , ù · ! è VF ~ú « & ¹ùXº Ocû Ô TC ö
ñ
g *
ê ¹ 
ù V º(- á ³ &#è . ~>& { {  C #ö þ0 è&V é
V
Select êJ½ ¾ ( Á 11)
Apply Join êc½:¾
æ*çèBé UnionPR Apply( Á 12),õ OrderBy (GroupBy
é Enc, Sign
V PR )     >õ ü(( Á ý 9),Q! èGroupBy
O4],î Vç<è - _>ö ` SQL2003
P ö XML Q v . è _:`6¸ M- "ð J ÆYe Õ æiXML
è  v O ÿ â è { {  õ RDBMS æ 9,; *æ zèé"$
ê>g þE
æ ! Q
ö Enc,
æ(y:K**æz è { öO VRDBMS{ è  ],C î3E
ê zØ èM é > Æ"ÕX &  © Ê Sign
æ
(
9

;
V
Z
C

!
ê
íc>
3.4 X 6!*#E
%ö 

#



 f ®  ° GP@ j e(! è&é÷#Policyø ëHùQ'*1 )DêQ{,O My(K O! è Proj :O  § ¨ #þ P ö · Á ¦ 6M(N ´" ù ·  4è  - « [ èé Policy 2 -.C/ Policy 3 ê { { C öæ z è&é ëiìí
P4RJ
 9:; cO §>¨ #þ ! è XQGM © Jª  >Ø M *mQnToDprq sWpDtDuDv Letters Vol. 4, No. 1

wyx

DBSJ Letters, Vol. 4, No. 1

Z
CRRN[ZRCVJ=QR?

Z
RTQLGEVZZONAHTCIZ
CRRN[ZRCVJ=QR?

Z
RTQLGEVZZONAHTCI[
CRRN[[RCVJ=QR?

ZWPPGUV[[

[
[

[

(1) path1 = e1/e2/.../ek/path2
xml frag = <e1><e2>...<ek>$y</ek>...</e2></e1>Z

[

Z
CRRN[ZRCVJ=QR?
Z

êZ

ê

Á 9 Apply-Union :½,¾
Fig. 9 Exchange of Apply-Union.

WXZ[LQKPWX

Z
UGNGEVEQPF

WZ
UGNGEVH W  GZRZ
CRRN[ZRCVJ=QR?

Z
UGNGEVZ E

WZ
CRRN[ZRCVJ=QR?

ZITQWRD[[Z
CRRN[ZRCVJ=QR?

WZ
RTQLGEVWZ[

X[
CRRN[[RCVJ=QR?

WZ
RTQLGEVWZ

X[
RTQLGEVWZ

Z

[

Z

4 ¢£¤[

ê

Z
RTQLGEVPQV W   4ú¢£¤ !"#%$ ÷& É *),+êý -(þ !%' "   !"
 ÷  &É þ ¤ .!%" #%$Á 11 Apply-Select :ê ½,¾Z

[
CRRN[[RCVJ=QR?

ZITQWRD[[[
CRRN[[RCVJ=QR?

    /(0%/(1(0(212 £¤
3  É4* /5 0%1%2 [

(1) $x$y$x$yop
enc, sign
(2) (
)
$x
$y
op
proj, mask, enc, signZ (1) cond: $x
cond: $xcopenc, sign(opc’)(2) cond: $x
opproj, mask, enc, sign
(
$u
)

ê



Á 12 Apply-GroupBy :½(¾
Fig. 12 Exchange of Apply-GroupBy.

Fig. 11 Exchange of Apply-Select.

îð! ñ$+î # þ3! ê #èQ þ CO H*zQI<{(; |<ç<ê è{Yé M  687  | 778<ö:9 v ê+ î O
4. =?>A@ 3  Ê è
ó 5ö  JK { ; õ3- ö XML íCB6-&.  /ië<ì í}îðHñCx ôØE;DF ÕXML³ [î  O Hg XML
G:I<¸J M OZ;<Kõ& 8; ëH#þìíïP ö îð}9(; ñê+¹*ùºO>» I<J D(7P LNM(XML<ôiö í:# BöO8D bP ö
G O ] ö 
|
]
]
&
¹
ù
÷

º
c
Ò
Ï
Ó
¡


y
i
S
ö
U
E
T
V
&
Ï

~
Y
D
X
D

W
G
G

;[Z G LQ º4R ù&ð
e OG}
[ \^
J ] '*]) D(5 ¢ õiö CREST _a`bEc { ^ d  ùð DJØHe f ö,
gEh,'&)i<jkml[n G o[p '&) (2) (#16016205) ö 8 d '&) (B) G L(#15300027) .
[1] M. J. Carey, D. Florescu, Z. G. Ives, Y. Lu, J.
Shanmugasundaram, E. J. Shekita, S. N. Subramanian. XPERANTO: Publishing Object-Relational Dataas XML, WebDB 2000, pp. 105–110, Dallas, May, 2000.
[2] M. F. Fernandez, W. C. Tan, D. Suciu, SilkRoute: trading
between relations and XML, Computer Networks, Vol.
33, No. 1-6, pp. 723–745, 2000.
[3] O. S. Godik, E. T. Moses (eds.). Extensible Access Control Markup Language (XACML) v1.0, http://www.oasisopen.org/specs/index.php#xacmlv1.0, OASIS, Jan, 2003.

4

Z



Á 10 Apply-Join ,½:¾
Fig. 10 Exchange of Apply-Join.

qsr ]Z
CRRN[Z
RCVJ=QR?

Z
CRRN[ZRCVJ=QR?

(1) cond: $x
cond: $x=$y
openc, sign(2) cond: $x=$y op
proj, mask, enc, sign[(1)Z

Z
CRRN[ZRCVJ=QR?

Z[
RTQLGEVPQV WX

WZ
CRRN[ZRCVJ=QR?

   ¥Z

8 Apply-Unnest :½,¾
Fig. 8 Exchange of Apply-Unnest.

Z
LQKPEQPF

Z
WPKQP

[
[


Z
LQKPEQPF

Z
WPKQP[
CRRN[[GRCVJ=QR?

Á

7 Apply-Proj ½(¾
Fig. 7 Exchange of Apply-Proj.
Z
CRRN[ZRCVJ=QR?

Z
CRRN[ZRCVJ=QR?

(1) $y = <e0>$x</e0>êÁZWPPGUV[[4] D. Eastlake, J. Reagle (eds.). XML Encryption Syntax and Processing, http://www.w3.org/TR/2002/RECxmlenc-core-20021210/, W3C, Dec, 2002.
[5] D. Eastlake, J. Reagle, D. Solo (eds.). XML-Signature
Syntax and Processing, http://www.w3.org/TR/2002/
REC-xmldsig-core-20020212/, W3C, Feb, 2002.
[6] A. Eisenberg, J. Milton, SQL/XML is Makinkg Good
Progress, SIGMOD Record, Vol. 31, No. 2, Jun, 2002.

tuwvxg hyUz { | NorihideØ~}  SHINAGAWA
7C6Ù '6)U   '6)U Lx   ÛhXmX m hJ'Y) gH L E  hm L Ø6Ù ]<82001
E
w



ó 
X3 {[öL WWWöD  bJ P*ü3þ -. / öhXó  öU: <
  ì9(;íïhîðJ öGñ eÃ D '$ ) Ló N ù uwE ACM
Hiroyuki
KITAGAWAE) Û"h Û<h  L ù&ð   h Û '$,h )8Û<g h8- .0; / h8c¥ '8Û<) hgHñ  gL ;h'Y
hXm$¦ £8@¤  Û¡hm¢  L 1980ö  £8X¤§ 3 ö
«ª ¬
b8
P ü0þ e D '&)    L¨ 2 _ ó8{ 8<:^ ó Hù N  ù<© ù  f WWW­  ö _ Unnormalized Relational Data Model f ¯® ¨ ö Springer L
hX öN 9 ;öö JVerlagh  ö `be 8ACM ö J³² ª º4ó ¯ °÷  g8ihù  ö>Ã   L
 N± hIEEE-CS
mQnToDprq sWpDtDuDv Letters Vol. 4, No. 1