TAÛp chê khoa hoüC, Âaûi hoüc Huãú, Säú 22, 2004



tải về 79.52 Kb.
Chuyển đổi dữ liệu01.12.2017
Kích79.52 Kb.

TAÛP CHÊ KHOA HOÜC, Âaûi hoüc Huãú, Säú 22, 2004




TÝCH HîP C¸C C¥ Së D÷ LIÖU xml

Lª ThÞ Thu Thñy

Træåìng §¹i häc Khoa häc, §¹i häc HuÕ

§oµn §¹i D­¬ng

Træåìng §¹i häc S­ ph¹m, §¹i häc HuÕ

1. Giíi thiÖu

Nguån th«ng tin phong phó vµ h÷u Ých hiÖn ®ang ®­îc l­u tr÷ trªn hµng tû web site trªn m¹ng. Trong khi mét website truyÒn thèng chØ hç trî cho biÓu diÔn th«ng tin, th× viÖc t×m kiÕm mét ng«n ng÷ cã cÊu tróc ®Ó biÓu diÔn c¸c th«ng tin trªn trang Web ®ang ®­îc ®Çu t­ nghiªn cøu. XML1 (eXtensible Markup Language) xuÊt hiÖn vµ nhanh chãng trë thµnh chuÈn cho c¸c thÕ hÖ web trong t­¬ng lai. Nã còng lµ nÒn t¶ng ®Ó h×nh thµnh mét líp c¬ së d÷ liÖu (CSDL) míi: CSDL XML [3,8].

§Ó hç trî ng­êi sö dông trong viÖc t×m vµ sö dông th«ng tin, c¸c CSDL XML ph©n t¸n ®­îc tÝch hîp, cung cÊp mét sù biÓu diÔn duy nhÊt tõ c¸c CSDL XML kh¸c nhau tham gia vµo hÖ thèng. Mét hÖ thèng CSDL XML tÝch hîp sinh ra mét l­îc ®å toµn côc (global schema) cho hÖ thèng. L­îc ®å nµy lµ sù thèng nhÊt vµ hßa hîp c¸c l­îc ®å côc bé (local schema) cña c¸c nguån d÷ liÖu tham gia vµo hÖ thèng. Nã lµ ch×a khãa hç trî cho tÊt c¶ c¸c tiÕn tr×nh cña hÖ thèng sau nµy. Trªn c¬ së cña l­îc ®å tÝch hîp, mét tËp c¸c ¸nh x¹ ®Õn c¸c nguån côc bé ®­îc t¹o ra hç trî cho viÖc xö lý c©u truy vÊn cña ng­êi sö dông nh­: t¸ch c©u truy vÊn, tÝch hîp c¸c d÷ liÖu th« tõ c¸c nguån..., gióp ng­êi sö dông lÊy ®­îc th«ng tin tÝch hîp cÇn thiÕt tõ hÖ thèng, tiÕt kiÖm thêi gian vµ c«ng søc cña ng­êi sö dông.

NhiÒu hÖ thèng tÝch hîp ®· vµ ®ang ®­îc x©y dùng [2,4,6], tuy nhiªn c¸c hÖ thèng nµy vÉn cßn nhiÒu h¹n chÕ trong gi¶i quyÕt xung ®ét gi÷a c¸c l­îc ®å [5] vµ tÝch hîp d÷ liÖu [3,7]. §Ó kh¾c phôc nh÷ng h¹n chÕ cña nh÷ng nghiªn cøu trªn, chóng t«i ®­a ra mét khung lµm viÖc (framework) míi vÒ tÝch hîp c¸c CSDL XML [3,7]. HÖ thèng míi nµy võa cã kh¶ n¨ng tÝch hîp c¸c l­îc ®å võa cã thÓ ®­a ra c¸c quyÕt ®Þnh xö lý c©u truy vÊn cña ng­êi sö dông. §©y lµ mét trong sè Ýt hÖ thèng cã chiÕn l­îc tÝch hîp n l­îc ®å côc bé mét lÇn (one shot strategy) [2]. Nã cã thÓ gi¶i quyÕt c¸c xung ®ét chÝnh bªn trong c¸c l­îc ®å theo h­íng thèng nhÊt. Ngoµi ra, hÖ thèng cã thÓ t¸ch c©u truy vÊn cña ng­êi sö dông trªn l­îc ®å toµn côc thµnh c¸c truy vÊn con cña tõng nguån côc bé ®ång thêi. §©y lµ mét ®iÓm míi so víi c¸c hÖ thèng ®· ®­îc x©y dùng [2,4,6]. Mét ­u ®iÓm n÷a cña hÖ thèng lµ d÷ liÖu tõ c¸c nguån côc bé ®­îc tÝch hîp vµ tr¶ vÒ c¸c th«ng tin th©n thiÖn víi ng­êi sö dông. Ng«n ng÷ XDD (XML Declarative Description) [9] - ng«n ng÷ m« t¶ khai b¸o XML - ®­îc sö dông lµm nÒn t¶ng cho tÊt c¶ c¸c thµnh phÇn cña hÖ thèng.

PhÇn 2 tr×nh bµy ng¾n gän tæng quan vÒ ng«n ng÷ XDD. PhÇn 3 m« t¶ kiÕn tróc vµ c¸c thµnh phÇn t¹o nªn hÖ thèng tÝch hîp c¸c CSDL XML. Cuèi cïng, phÇn 4 kÕt luËn cña bµi viÕt.

2. TæNG QUAN NG«N NG÷ XDD

XDD (XML Declarative Description) mét ng«n ng÷ biÓu diÔn th«ng tin dùa vµo khu«n d¹ng tµi liÖu XML. Nã thùc chÊt lµ sù më réng kh¶ n¨ng biÓu diÔn cña c¸c phÇn tö XML b»ng c¸ch sö dông kÕt hîp víi c¸c biÕn nh»m m« t¶ mét tËp c¸c th«ng tin cã liªn quan víi nhau. Mét phÇn tö XML më réng nh­ vËy gäi lµ biÓu thøc XML (XML expresion). B¶ng 1 liÖt kª c¸c lo¹i biÕn sö dông trong XDD. Víi quan ®iÓm nµy th× mét phÇn tö XML b×nh th­êng - kh«ng chøa biÕn - ®­îc gäi lµ biÓu thøc XML nÒn t¶ng (ground XML expresion). Mét m« t¶ XDD lµ mét tËp c¸c mÖnh ®Ò XML víi khu«n d¹ng nh­ sau:



H B1, ... , Bm, 1, ..., n

trong ®ã m, n 0; HBi (i=1,.., m) lµ c¸c biÓu thøc XML trong khi j (j=1,.., n) lµ rµng buéc XML (XML constraint) sö dông ®Ó ®Þnh nghÜa c¸c rµng buéc trªn c¸c biÓu thøc XML. Víi khu«n d¹ng mÖnh ®Ò XML nh­ trªn, H cßn gäi lµ phÇn ®Çu cña mÖnh ®Ò (Head); tËp hîp {B1, ..., Bm, 1, ..., n} gäi lµ phÇn th©n cña mÖnh ®Ò (Body).


B¶ng 1: KiÓu cña c¸c biÕn trong XDD


Tªn biÕn

Ký hiÖu kiÓu

BiÓu diÔn

Name-variables: biÕn tªn

$N

Tªn phÇn tö hoÆc tªn c¸c thuéc tÝnh

String-variables: biÕn chuçi

$S

Chuçi d÷ liÖu

Pair-variables: biÕn cÆp "thuéc tÝnh-gi¸ trÞ"

$P

D·y 0 hoÆc nhiÒu cÆp "thuéc tÝnh-gi¸ trÞ"

Expression-variables: biÕn biÓu thøc XML

$E

D·y 0 hoÆc nhiÒu biÓu thøc XML

Intermediate-variables: biÕn biÓu thøc trung gian

$I

Mét phÇn cña biÓu thøc XML

3. M¤ H×NH HÖ THèNG TÝCH HîP C¸C CSDL XML

HÖ thèng ®­a ra lµ mét trong sè Ýt hÖ thèng tÝch hîp cã c¸c thµnh phÇn ®­îc thiÕt kÕ ®Ó cã thÓ lµm viÖc hµi hßa víi nhau. Trªn nÒn cña XDD, nã cã thÓ tÝch hîp n l­îc ®å cïng mét lóc [3]. L­îc ®å tÝch hîp ®¹t ®­îc lµ sù thèng nhÊt vµ hµi hßa gi÷a c¸c l­îc ®å côc bé tõ c¸c nguån d÷ liÖu kh¸c nhau. Ngoµi ra, hÖ thèng cßn cã kh¶ n¨ng t¸ch mét c©u truy vÊn thµnh c¸c truy vÊn con khíp víi khu«n d¹ng cho tõng l­îc ®å côc bé [7]. Víi h­íng tiÕp cËn nµy, d÷ liÖu rót trÝch tõ c¸c nguån ®­îc tÝch hîp dÔ dµng, cung cÊp kÕt qu¶ th©n thiÖn cho ng­êi sö dông. ViÖc øng dông XDD lµm cÊu tróc nÒn t¶ng cña hÖ thèng khiÕn c¸c thµnh phÇn hÖ thèng trë nªn mÒm dÎo ®èi víi viÖc tÝch hîp l­îc ®å còng nh­ xö lý vµ tÝch hîp d÷ liÖu.



3.1. C©u truy vÊn XDD:

Mét c©u truy vÊn [9] gåm ba phÇn: phÇn ®Çu (constructor), phÇn th©n (pattern) c¸c rµng buéc (filters) cña c©u truy vÊn, t­¬ng øng víi ba phÇn cña mét mÖnh ®Ò XML. So víi c©u truy vÊn SQL truyÒn thèng, contructor lµ khu«n d¹ng d÷ liÖu ng­êi sö dông cÇn hiÓn thÞ, cã thÓ t­¬ng øng mÖnh ®Ò SELECT; patern t­¬ng øng víi khu«n d¹ng d÷ liÖu n¬i cÇn lÊy d÷ liÖu, t­¬ng øng víi mÖnh ®Ò FROM filter ®­a ra c¸c rµng buéc trªn c©u truy vÊn, cã thÓ t­¬ng øng víi mÖnh ®Ò WHERE. Trong qu¸ tr×nh thùc hiÖn truy vÊn, khi pattern cña c©u truy vÊn khíp víi mét phÇn nµo ®ã cña tµi liÖu XML vµ c¸c rµng buéc trong filter ®­îc tho¶ m·n, kÕt qu¶ cña c©u truy vÊn ®­îc rót ra theo khu«n d¹ng cña contructor. D÷ liÖu truy vÊn ®­îc còng lµ mét tµi liÖu khu«n d¹ng XML, ®­îc gëi ®Õn bé trung chuyÓn ®Ó tiÕp tôc qu¸ tr×nh tÝch hîp d÷ liÖu.



3.2 Bé trung chuyÓn (Mediator):

Mediator lµ thµnh phÇn quan träng nhÊt cña hÖ thèng. Nã bao gåm hai ®¬n vÞ: bé tÝch hîp l­îc ®å (schema integration)bé tÝch hîp d÷ liÖu (data integraion).

Bé tÝch hîp l­îc ®å, cã nhiÖm vô tÝch hîp tËp c¸c l­îc ®å côc bé tõ c¸c nguån d÷ liÖu kh¸c nhau vÒ cÊu tróc, sinh ra mét l­îc ®å XML toµn côc vµ tËp c¸c ¸nh x¹. TËp ¸nh x¹ nµy gióp hÖ thèng hiÓu ®­îc sù t­¬ng øng gi÷a c¸c ®èi t­îng (tªn tr­êng, thuéc tÝnh) gi÷a l­îc ®å tÝch hîp vµ c¸c l­îc ®å côc bé. Trªn nÒn cña XDD, ¸nh x¹ ®­îc tæ chøc ®Ó cã thÓ sö dông theo hai chiÒu víi môc ®Ých:

- T¸ch c©u truy vÊn cña ng­êi sö dông (trªn cÊu tróc cña l­îc ®å toµn côc) thµnh c¸c truy vÊn con phï hîp víi cÊu tróc l­îc ®å côc bé cña c¸c nguån d÷ liÖu liªn quan;

- Lµm siªu d÷ liÖu (metadata). Dùa vµo th«ng tin tõ siªu d÷ liÖu, hÖ thèng cã thÓ chuyÓn ®æi khu«n d¹ng d÷ liÖu rót trÝch ®­îc tõ c¸c nguån côc bé thµnh khu«n d¹ng chung cña hÖ thèng, kÕt xuÊt kÕt qu¶ th©n thiÖn víi ng­êi sö dông.

CÊu tróc ¸nh x¹ hai chiÒu ®­îc m« t¶ nh­ sau:





<$N:globalTag>

$E:exp

<$N:globalTag>



<$N:tagName1 source=$S:source1> $E:exp1 <$N:tagName1>

<$N:tagName2 source=$S:source2>$E:exp2 <$N:tagName2>





%

%

%



%

%

%



%%%

¸nh x¹ quy ®Þnh sù t­¬ng øng cña phÇn tö $E:exp ë l­îc ®å toµn côc víi c¸c phÇn tö $E:exp1, $E:exp2 trong c¸c nguån côc bé $S:source1$S:source2


H×nh 1: CÊu tróc ¸nh x¹

Dùa trªn nÒn cña XDD, c«ng viÖc tÝch hîp c¸c l­îc ®å ®­îc diÔn ra ®ång thêi. NÕu cã n l­îc l­îc ®å tham gia vµo hÖ thèng, chóng ®­îc tÝch hîp, dung hßa c¸c m©u thuÉn ®ång thêi mét lóc ®Ó ®­a ra l­îc ®å chung cuèi cïng. CÇn ph¶i nhÊn m¹nh r»ng, rÊt Ýt c¸c hÖ thèng tÝch hîp cã kh¶ n¨ng tÝch hîp nhiÒu l­îc ®å ®ång thêi trong cïng mét tiÕn tr×nh. HÇu hÕt c¸c hÖ thèng ph¶i tiÕn hµnh tÝch hîp trªn tõng cÆp l­îc ®å do sù phøc t¹p vµ kh¶ n¨ng cña ng«n ng÷ lËp tr×nh sö dông. §èi víi hÖ thèng ®ang ®­îc x©y dùng, sù thµnh c«ng nµy diÔn ra trªn nÒn cña XDD v× mçi l­îc ®å XML tham gia vµo viÖc tÝch hîp ®­îc xem nh­ lµ mét biÓu thøc XML ($E:expression) trong c¸c luËt tÝch hîp cña hÖ thèng, mçi luËt lµ mét mÖnh ®Ò XML. Trong qu¸ tr×nh tÝch hîp nµy hÖ thèng cã thÓ gi¶i quyÕt nhiÒu xung ®ét x¶y ra gi÷a c¸c l­îc ®å nh­: xung ®ét tªn phÇn tö, xung ®ét cÊu tróc c¸c phÇn tö, xung ®ét c¸c rµng buéc xung ®ét c¸c kiÓu d÷ liÖu. Chi tiÕt vÒ c¸c lo¹i xung ®ét vµ c¸ch thøc gi¶i quyÕt c¸c xung ®ét nµy ®­îc chóng t«i tr×nh bµy chi tiÕt trong [3,7].



Bé tÝch hîp d÷ liÖu tiÕn hµnh chuyÓn ®æi khu«n d¹ng cña tÊt c¶ d÷ liÖu ®­îc trÝch rót tõ c¸c nguån côc bé cho phï hîp víi l­îc ®å chung dùa vµo th«ng tin tõ ¸nh x¹ hai chiÒu. Sau ®ã, nã t×m c¸ch lo¹i trõ c¸c m©u thuÉn bªn trong d÷ liÖu, kiÓm tra lo¹i bá c¸c d÷ liÖu trïng lÆp. Cuèi cïng d÷ liÖu ®­îc tr¶ vÒ cho ng­êi sö dông qua giao diÖn cña hÖ thèng.

Thµnh phÇn quan träng nhÊt cña hÖ thèng, bé trung chuyÓn, thùc chÊt lµ tËp c¸c luËt trªn nÒn cña XDD. ViÖc g¾n c¸c luËt nµy gióp c¸c thµnh phÇn cña hÖ thèng cã thÓ tù ®éng suy diÔn sinh ra c¸c sù kiÖn (fact) míi dùa trªn tËp luËt vµ c¸c sù kiÖn ban ®Çu. LuËt cã thÓ ¸p dông ®Ö quy, ch¼ng h¹n: phÇn th©n cña luËt nµy cã thÓ g¾n vµo phÇn ®Çu cña luËt kh¸c ®Ó tiÕp tôc qu¸ tr×nh suy diÔn, kÕt qu¶ cña luËt nµy cã thÓ lµm ®Çu vµo cña luËt kh¸c. Khi thùc thi ch­¬ng tr×nh tËp luËt cã thÓ ®­îc cµi ®Æt bëi ng«n ng÷ lËp tr×nh XET [1], mét ng«n ng÷ dùa trªn lý thuyÕt XDD.



3.3. Bé xö lý truy vÊn (Query handler):

§©y lµ thµnh phÇn gióp hÖ thèng tÝch hîp cã thÓ giao tiÕp víi ng­êi sö dông. Nã bao gåm ba thµnh phÇn chÝnh: bé lËp truy vÊn (query formulation), bé tèi ­u c©u truy vÊn (query optimization)bé t¸ch c©u truy vÊn (query decomposition).



<$N:LocalTag source=$S:source>

$E:exp1

<$N:tag2> $E:content <$N:tag2>

$E:exp2

<$N:LocalTag>



<$N:GlobalTag>



$E:exp1

<$N:tag1>$E:content<$N:tag1>

$E:exp2

<$N:GlobalTag >



<$N:GlobalTag>

<$N:tag1>$E:content<$N:tag1>

<$N: GlobalTag >



$E:exp3

<$N:LocalTag source=$S:source>

<$N:tag2>$E:content<$N:tag2>

<$N:LocalTag>

$E:exp4





%

%

%



%

%

%



%

%

%%%%



LuËt nµy chØ ra r»ng: nÕu truy vÊn cã chøa phÇn tö $N:tag1 th× ta sÏ thay b»ng phÇn tö $N:tag2 trong l­îc ®å côc bé $S:source t­¬ng øng víi nã.

Khu«n d¹ng c©u truy vÊn cña ng­êi sö dông cã chøa phÇn tö $N:tag1.

¸nh x¹ chØ ra: phÇn tö $N:tag1 ë l­îc ®å toµn côc t­¬ng øng víi phÇn tö $N:tag2 trong l­îc ®å côc bé $S:source.



H×nh 2: Mét luËt XDD dïng ®Ó t¸ch c©u truy vÊn


Bé lËp truy vÊn gióp chuyÓn ®æi c¸c c©u truy vÊn khu«n d¹ng bÊt kú cña ng­êi sö dông thµnh c©u truy vÊn khu«n d¹ng XDD, vÝ dô: chuyÓn truy vÊn XQuery thµnh truy vÊn khu«n d¹ng XDD. Bé t¸ch truy vÊn sÏ t¸ch c©u truy vÊn sau khi ®­îc tèi ­u thµnh c¸c c©u truy vÊn con. Trong khi c©u truy vÊn cña ng­êi sö dông cã cÊu tróc vµ khu«n d¹ng cña l­îc ®å chung, c¸c c©u truy vÊn con ®­îc t¸ch ra l¹i phï hîp víi khu«n d¹ng c¸c l­îc ®å thµnh phÇn. Víi c¸c truy vÊn con nµy, hÖ thèng sÏ rÊt dÔ dµng trong viÖc rót trÝch d÷ liÖu trùc tiÕp tõ c¸c nguån côc bé. Nh­ ®· ®Ò cËp ë trªn, viÖc t¸ch ®­îc tiÕn hµnh d­íi sù hç trî cña tËp ¸nh x¹ vµ c¸c quy t¾c suy diÔn cña tËp luËt XDD ®Æc thï. Mét luËt XDD cho viÖc t¸ch mét c©u truy vÊn ®­îc thÓ hiÖn nh­ h×nh 2.

4. KÕT LUËN

HÖ thèng tÝch hîp c¸c CSDL XML ®­îc tr×nh bµy lµ mét trong sè Ýt nh÷ng hÖ thèng cã kh¶ n¨ng tÝch hîp nhiÒu l­îc ®å con ®ång thêi qua mét qui tr×nh biÕn ®æi. Víi c¸c ®iÓm m¹nh cña XDD trong viÖc m« h×nh c¸c øng dông khu«n d¹ng XML, khung lµm viÖc cña hÖ thèng ®· héi ®ñ c¸c yªu cÇu chÝnh cña mét hÖ thèng tÝch hîp. TÊt c¶ c¸c thµnh phÇn cña hÖ thèng ®Òu ®­îc x©y dùng trªn nÒn cña XDD, t¹o ra sù mÒm dÎo trong qu¸ tr×nh xö lý vµ chuyÓn ®æi d÷ liÖu gi÷a chóng. HÖ thèng cung cÊp cho ng­êi sö dông d÷ liÖu tÝch hîp ë khu«n d¹ng mét tµi liÖu XML chuÈn, th©n thiÖn víi ng­êi sö dông, h÷u Ých trong viÖc trao ®æi víi c¸c øng dông XML kh¸c.



Khung lµm viÖc cña hÖ thèng nµy ®· vµ ®ang ®­îc cµi ®Æt b­íc ®Çu thµnh c«ng sö dông ng«n ng÷ lËp tr×nh XET, víi c¸c CSDL XML ph©n t¸n trªn m¹ng LAN. Chóng t«i dù ®Þnh ph¸t triÓn hÖ thèng ®Ó cã thÓ lµm viÖc ë m«i tr­êng internet, n¬i c¸c CSDL ®­îc ph©n t¸n trªn m¹ng víi môc ®Ých th­¬ng m¹i. Mét øng dông ®iÓn h×nh cã thÓ nghiªn cøu trong t­¬ng lai lµ truy vÊn th«ng tin tõ c¸c trang web XML ®· ®­îc tÝch hîp trªn m¹ng khi chóng cïng chia sÏ mét l­îc ®å chung.

Tµi liÖu tham kh¶o

  1. Anutariya, C., Wuwongse, V., and Wattanapailin, V. An Equivalent-Transformation-Based XML Rule Language. Proceedings of the International Workshop on Rule Markup Languages for Business Rules in the Semantic Web, Sardinia, Italy (2002).

  2. Batini, C., Lenzerini, M., and Navathe, S. B. A Comparative Analysis of Methodologies for Database Schema Integration. ACM Computing Surveys. Vol. 18, No. 4 (1986) 323 - 364 .

  3. Duong, D. D., and Wuwongse, V. XML Databases Schema Integration Using XDD. Proceedings of Advances in Web-Age Information Management Conference, China. Lecture Notes in Computer Science, Springer Verlag, Vol. 2762 (2003) 92 - 103

  4. Gianolli, P., Mylopoulos, J. A semantic approach to XML based data integration. Proceedings of the 20th. International Conference on Conceptual Modelling (ER), Yokohama, Japan (2001).

  5. Pluempitiwiriyawej, C., Hammer, J. A Classification Scheme for Semantic and Schematic Heterogeneities in XML Data Sources. Technical report TR00-004. University of Florida (2000).

  6. The MIX (Mediator of Information using XML). Available online: http://www.database.ucsd.edu/project/MIX (1999).

  7. Thuy, L. T. T., and Wuwongse, V. Query Processing of Integrated XML Databases. Proceedings of the 5th International Conference on Information Integration and Web-based Applications & Services, Jakarta, Indonesia (2003) 335 - 344 .

  8. Wuwongse, V., Akama, K., Anutariya, C., and Nantajeewarawat, E. A Data Model for XML Databases. Journal of Intelligent Information Systems. Vol. 20, No. 1, (2003) 63 - 80.

  9. Wuwongse, V., Anutariya, C., Akama, K., and Nantajeewarawat, E. XML Declarative Description (XDD): A Language for the Semantic Web. IEEE Intelligent Systems, Vol. 16, No. 3 (2001) 54 - 65.


INTEGRATION of XML DATABASEs

Le Thi Thu Thuy

College of Sciences, Hue University

Doan Dai Duong,

College of Pedagogy, Hue University

SUMMARY

XML database integration has been paid due attention to in the past few years, especially when XML is widely accepted as the new generation of the web. However, the building of a framework that can resolve easily the conflicts between schemas and decompose query efficiently is still a great challenge. The paper's purpose is to propose a new XML database integration framework, and to demonstrate the power of XDD theory in modeling user's query and system's components. The framework can be extended to work with Web application metadata integration.



1 http://www.w3.org/TR/REC-xml




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương