Графовые запросы для интеграции данных посредством XML
Для формування XML-подань баз даних запропоновано нову візуальну мову ER-QBE, що використовує семантику концептуальної моделі даних. ER-QBE грунтується на графових запитах, які являють собою дерева параметричних SQL-запитів. Мові ER-QBE є притаманною формально доведена повнота; за своєю виразністю в...
Gespeichert in:
Datum: | 2008 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | Russian |
Veröffentlicht: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2008
|
Schriftenreihe: | Кибернетика и системный анализ |
Schlagworte: | |
Online Zugang: | http://dspace.nbuv.gov.ua/handle/123456789/72008 |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Zitieren: | Графовые запросы для интеграции данных посредством XML / В.Г. Тульчинский, А.К. Ющенко, Р.К. Ющенко // Кибернетика и системный анализ. — 2008. — № 2. — С. 171-183. — Бібліогр.: 25 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-72008 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-720082014-12-16T03:02:15Z Графовые запросы для интеграции данных посредством XML Тульчинский, В.Г. Ющенко, А.К. Ющенко, Р.А. Программно-технические комплексы Для формування XML-подань баз даних запропоновано нову візуальну мову ER-QBE, що використовує семантику концептуальної моделі даних. ER-QBE грунтується на графових запитах, які являють собою дерева параметричних SQL-запитів. Мові ER-QBE є притаманною формально доведена повнота; за своєю виразністю вона краща за існуючі рішення, підтримує як реляційні, так і об'єктно-реляційні бази даних. 2008 Article Графовые запросы для интеграции данных посредством XML / В.Г. Тульчинский, А.К. Ющенко, Р.К. Ющенко // Кибернетика и системный анализ. — 2008. — № 2. — С. 171-183. — Бібліогр.: 25 назв. — рос. http://dspace.nbuv.gov.ua/handle/123456789/72008 681.3 ru Кибернетика и системный анализ Інститут кібернетики ім. В.М. Глушкова НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Russian |
topic |
Программно-технические комплексы Программно-технические комплексы |
spellingShingle |
Программно-технические комплексы Программно-технические комплексы Тульчинский, В.Г. Ющенко, А.К. Ющенко, Р.А. Графовые запросы для интеграции данных посредством XML Кибернетика и системный анализ |
description |
Для формування XML-подань баз даних запропоновано нову візуальну мову ER-QBE, що використовує семантику концептуальної моделі даних. ER-QBE грунтується на графових запитах, які являють собою дерева параметричних SQL-запитів. Мові ER-QBE є притаманною формально доведена повнота; за своєю виразністю вона краща за існуючі рішення, підтримує як реляційні, так і об'єктно-реляційні бази даних. |
format |
Article |
author |
Тульчинский, В.Г. Ющенко, А.К. Ющенко, Р.А. |
author_facet |
Тульчинский, В.Г. Ющенко, А.К. Ющенко, Р.А. |
author_sort |
Тульчинский, В.Г. |
title |
Графовые запросы для интеграции данных посредством XML |
title_short |
Графовые запросы для интеграции данных посредством XML |
title_full |
Графовые запросы для интеграции данных посредством XML |
title_fullStr |
Графовые запросы для интеграции данных посредством XML |
title_full_unstemmed |
Графовые запросы для интеграции данных посредством XML |
title_sort |
графовые запросы для интеграции данных посредством xml |
publisher |
Інститут кібернетики ім. В.М. Глушкова НАН України |
publishDate |
2008 |
topic_facet |
Программно-технические комплексы |
url |
http://dspace.nbuv.gov.ua/handle/123456789/72008 |
citation_txt |
Графовые запросы для интеграции данных посредством XML / В.Г. Тульчинский, А.К. Ющенко, Р.К. Ющенко // Кибернетика и системный анализ. — 2008. — № 2. — С. 171-183. — Бібліогр.: 25 назв. — рос. |
series |
Кибернетика и системный анализ |
work_keys_str_mv |
AT tulʹčinskijvg grafovyezaprosydlâintegraciidannyhposredstvomxml AT ûŝenkoak grafovyezaprosydlâintegraciidannyhposredstvomxml AT ûŝenkora grafovyezaprosydlâintegraciidannyhposredstvomxml |
first_indexed |
2025-07-05T20:52:58Z |
last_indexed |
2025-07-05T20:52:58Z |
_version_ |
1836841727323799552 |
fulltext |
Â.Ã. ÒÓËÜ×ÈÍÑÊÈÉ, À.Ê. ÞÙÅÍÊÎ, Ð.À. ÞÙÅÍÊÎ
ÓÄÊ 681.3 ÃÐÀÔÎÂÛÅ ÇÀÏÐÎÑÛ ÄËß ÈÍÒÅÃÐÀÖÈÈ
ÄÀÍÍÛÕ ÏÎÑÐÅÄÑÒÂÎÌ XML
Êëþ÷åâûå ñëîâà: ÿçûê XML, áàçû äàííûõ (ÁÄ), ïðåäñòàâëåíèÿ ÁÄ, ÿçûê QBE,
XML-ïðåäñòàâëåíèÿ, ñåìàíòè÷åñêàÿ ñåòü.
ÂÂÅÄÅÍÈÅ
XML [1] — ïîïóëÿðíûé ÿçûê ðàçìåòêè äîêóìåíòîâ, ïîçâîëÿþùèé ñòðóêòóðèðî-
âàòü èíôîðìàöèþ, èñïîëüçóÿ ïðîèçâîëüíûé íàáîð èíñòðóêöèé. XML-äîêóìåíò
èìååò äðåâîâèäíóþ ñòðóêòóðó. Ñðåäè îñíîâíûõ ïðèìåíåíèé XML — Web-ñåð-
âèñû, Èíòåðíåò-ïðèëîæåíèÿ, èíôîðìàöèîííûå õðàíèëèùà, ñèñòåìû äîêóìåíòî-
îáîðîòà. Ïðåèìóùåñòâîì XML ÿâëÿåòñÿ òåêñòîâîå ïðåäñòàâëåíèå, íå òðåáóþùåå
ñïåöèàëüíûõ ïðîãðàìì äëÿ ñîçäàíèÿ, ïðîñìîòðà è ðåäàêòèðîâàíèÿ. Â òî æå âðå-
ìÿ XML, êàê ïðàâèëî, èìååò áîëåå ãðîìîçäêèé ôîðìàò ïî ñðàâíåíèþ ñ àíàëî-
ãè÷íûìè ïî ñîäåðæàíèþ áèíàðíûìè ôîðìàòàìè.
XML, â îòëè÷èå îò HTML, íå ÿâëÿåòñÿ ÿçûêîì äëÿ êîäèðîâàíèÿ îïðåäåëåííîé
èíôîðìàöèè. Îí ñëóæèò äëÿ ïðåäñòàâëåíèÿ ïðîèçâîëüíûõ èåðàðõèé äàííûõ, âûðà-
æåííûõ â òåêñòîâîì âèäå. Êàæäîå êîíêðåòíîå ïðèìåíåíèå XML ïîðîæäàåò ôîð-
ìàëüíî îïðåäåëåííûé ÿçûê èëè äèàëåêò. Ñóùåñòâóåò ìíîæåñòâî ñòàíäàðòèçèðîâàí-
íûõ äèàëåêòîâ XML, íàïðèìåð MathML, RSS, GpaphML, XHTML è ò.ï. Òàêèìè äè-
àëåêòàìè òàêæå ÿâëÿþòñÿ ñïåöèôèêàöèè ñõåìû XML-äîêóìåíòà: DSD, DTD, XSD,
XDR [2]. Ñèíòàêñè÷åñêèé àíàëèçàòîð XML âûäàåò îøèáêó ïðè íåñîîòâåòñòâèè ñî-
äåðæèìîãî XML-äîêóìåíòà îáúÿâëåííîé ñòðóêòóðå. Ñïåöèôèêàöèÿ ñõåìû ìîæåò
áûòü âñòðîåíà â XML-äîêóìåíò (â òàêîì ñëó÷àå îí ñàì ñåáÿ îïèñûâàåò) èëè õðà-
íèòüñÿ â âèäå îòäåëüíîãî ôàéëà (ýòî óäîáíî, åñëè îäèíàêîâóþ ñòðóêòóðó äîëæíû
èìåòü ðàçíûå äîêóìåíòû). Íà ïðàêòèêå ÷àñòî èñïîëüçóåòñÿ ïðîìåæóòî÷íîå ðåøå-
íèå: ñïåöèôèêàöèÿ ñõåìû, âñòðîåííàÿ â XML-äîêóìåíò, ññûëàåòñÿ íà òåðìèíû,
îïðåäåëåííûå â äðóãèõ ôàéëàõ. Êîíñîðöèóì âñåìèðíîé ñåòè (World Wide Web
Consortium, W3C) ïðåäëàãàåò ñðåäñòâà îáðàáîòêè XML-äàííûõ, îáëàäàþùèå
áîëüøèìè âîçìîæíîñòÿìè ïî èíòåãðàöèè äàííûõ ðàçíûõ XML-äîêóìåíòîâ, ïîèñêó
êîíêðåòíîé èíôîðìàöèè è òðàíñôîðìàöèè XML-äåðåâüåâ.
 íàñòîÿùåå âðåìÿ áîëüøàÿ ÷àñòü äàííûõ õðàíèòñÿ â ðåëÿöèîííûõ ÁÄ. Äëÿ
îáëåã÷åíèÿ ðàçðàáîòêè Èíòåðíåò-ïðèëîæåíèé, ìåæïðîãðàììíîãî âçàèìîäåéñòâèÿ
è èíòåãðàöèè äàííûõ àêòóàëüíà ïóáëèêàöèÿ (ýêñïîðò) äàííûõ ÁÄ â XML. Ïðîèçâî-
äèòåëè ÑÓÁÄ ïðåäëàãàþò ñïåöèàëüíûå ñðåäñòâà äëÿ ðåøåíèÿ ýòîé çàäà÷è. Ðàñøè-
ðåíèå ÑÓÁÄ DB2 (IBM) SilkRoute [3] ýôôåêòèâíî âû÷èñëÿåò ìîìåíòàëüíûå ïðåä-
ñòàâëåíèÿ, îïèñàííûå íà ÿçûêå RXL. Äðóãàÿ ðàçðàáîòêà òîé æå ãðóïïû,
XPERANTO [4], ïðåäíàçíà÷åíà äëÿ îáúåêòíî-ðåëÿöèîííûõ áàç. Microsoft SQL
Server, íà÷èíàÿ ñ âåðñèè 2000, ïîçâîëÿåò îïðåäåëÿòü êàê ìîìåíòàëüíûå, òàê è âèð-
òóàëüíûå (äèíàìè÷åñêèå) XML-ïðåäñòàâëåíèÿ [5]. Äëÿ ýòîãî ðàçðàáîòàíî ðàñøèðå-
íèå SQL, íàçâàííîå FOR XML è âïîñëåäñòâèè ïîëîæåííîå â îñíîâó ñòàíäàðòà
SQL/XML [6]. Â òî æå âðåìÿ óñèëèÿ ïðåäïðèíèìàëèñü â íàïðàâëåíèè ìàíèïóëèðî-
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 171
� Â.Ã. Òóëü÷èíñêèé, À.Ê. Þùåíêî, Ð.À. Þùåíêî, 2008
âàíèÿ ðåëÿöèîííûìè äàííûìè èç ÿçûêîâ çàïðîñîâ XML — XML-QL [7] è áîëåå
ãèáêîãî XQuery [8], ðàçðàáîòàííîãî W3C. Äëÿ îòîáðàæåíèÿ òàáëèö áàçû äàííûõ
â XPath-çàïðîñàõ â âèäå âèðòóàëüíûõ XML-äîêóìåíòîâ ïðèìåíÿåòñÿ ÿçûê XDR,
óñòóïàþùèé ïî ïîëíîòå è âûðàçèòåëüíîñòè RXL, íî ïîçâîëÿþùèé äîñòàòî÷íî
ïðîñòî îïèñàòü îòîáðàæåíèå ñõåìû îäíîé òàáëèöû â ñõåìó âèðòóàëüíîãî
XML-äîêóìåíòà. Îäíàêî ïåðå÷èñëåííûå ñòàíäàðòíûå ñðåäñòâà îáëàäàþò ðÿäîì
îãðàíè÷åíèé:
� â XPath/XDR òàáëèöû ÁÄ ïðåäñòàâëÿþòñÿ îòäåëüíûìè âèðòóàëüíûìè
XML-äîêóìåíòàìè, ïîýòîìó íåäîñòàþùóþ ñåìàíòèêó ïðèõîäèòñÿ âïèñûâàòü íå-
ïîñðåäñòâåííî â çàïðîñ ïðåîáðàçîâàíèÿ, ÷òî åãî ñèëüíî óñëîæíÿåò;
� âñå äàííûå, ýêñïîðòèðóåìûå â XML-äîêóìåíò ïîñðåäñòâîì SQL/XML, äîë-
æíû áûòü ïðåäñòàâëåíû îäíèì ñîåäèíåíèåì, ÷òî ñíèæàåò ýôôåêòèâíîñòü ðåàëèçà-
öèè ñëîæíûõ XML-ïðåäñòàâëåíèé è ïîâûøàåò çàòðàòû ðåñóðñîâ;
� òðàäèöèîííûå ñðåäñòâà àâòîìàòèçàöèè ðàçðàáîòêè çàïðîñîâ íå ïîääåðæèâà-
þò XML-ïðåäñòàâëåíèÿ, ÷òî çàòðóäíÿåò èõ ïðîãðàììèðîâàíèå è ïîâûøàåò âåðîÿò-
íîñòü îøèáêè.
 [9, 10] ïðåäëàãàåòñÿ âîññòàíàâëèâàòü ðàñøèðåííóþ ìîäåëü ñóùíîñòü-ñâÿçü
èç ðåëÿöèîííîé ñõåìû ïî øàáëîíàì è íà åå îñíîâå îïèñûâàòü XML-äåðåâî â âèäå
ïîäñõåìû èëè íà ÿçûêå âëîæåííûõ îòíîøåíèé. Íåäîñòàòîê îòîáðàæåíèÿ XML íà
ÿçûêå âëîæåííûõ îòíîøåíèé — íåîáõîäèìîñòü â ñïåöèàëüíîì íåðåëÿöèîííîì
ðàñøèðåíèè SQL.  [11] ïðåäëàãàåòñÿ ïðîñòîå ýâðèñòè÷åñêîå ðåøåíèå: îïèñàíèå
äåðåâà XML äåðåâîì SQL-çàïðîñîâ. Ãðàôîâûå çàïðîñû [12, 13] îáúåäèíÿþò ïðåè-
ìóùåñòâà ïðåäëîæåííûõ ðåøåíèé, îáåñïå÷èâàÿ âèçóàëüíóþ òåõíîëîãèþ
ðàçðàáîòêè äåðåâà çàïðîñîâ íà îñíîâå êîíöåïòóàëüíîé ìîäåëè.
1. ÃÐÀÔÎÂÛÅ ÇÀÏÐÎÑÛ
Ãðàôîâûé çàïðîñ (ÃÇ) — ñðåäñòâî âûäåëåíèÿ è âèçóàëèçàöèè ñâÿçàííûõ ôðàã-
ìåíòîâ äàííûõ, èìåþùèõ ñåòåâóþ ñòðóêòóðó. Ïîäîáíàÿ ñòðóêòóðà äàííûõ øèðî-
êî ïðèìåíÿåòñÿ â èíôîðìàöèîííûõ ñèñòåìàõ íà óðîâíå êîíöåïòóàëüíîé ìîäåëè
(íàïðèìåð, äèàãðàììû ñóùíîñòü-ñâÿçü, îáúåêò-ñâÿçü). Îñíîâîé âûäåëåíèÿ è âè-
çóàëèçàöèè ôðàãìåíòîâ ñåòè (ïîäãðàôîâ) â ÃÇ ÿâëÿþòñÿ äåðåâüÿ îáõîäà. Ãëàâíûå
îñîáåííîñòè ÃÇ — èñïîëüçîâàíèå ñåìàíòèêè êîíöåïòóàëüíîé ìîäåëè è ðåçóëüòàò
â âèäå äåðåâà — íåïîñðåäñòâåííî ñâÿçûâàþò èõ ñ çàäà÷åé ôîðìèðîâàíèÿ
XML-ïðåäñòàâëåíèé.
1.1. Ñòðóêòóðèðîâàííàÿ ñåìàíòè÷åñêàÿ ñåòü (ÑÑÑ) — ñïåöèàëüíàÿ ìîäåëü äàí-
íûõ, ïîçâîëÿþùàÿ îòâëå÷üñÿ îò êîíêðåòíûõ îñîáåííîñòåé ñåòåâûõ êîíöåïòóàëü-
íûõ ìîäåëåé.  îñíîâó CCC ïîëîæåíû ñåìàíòè÷åñêèå ñåòè — èçâåñòíàÿ ìîäåëü
ïðåäñòàâëåíèÿ çíàíèé.  îòëè÷èå îò ìîäåëåé äàííûõ, ïðèìåíÿåìûõ â äåëîâîé ñôå-
ðå, ñåìàíòè÷åñêèå ñåòè ïðåäíàçíà÷åíû äëÿ ñèñòåìàòèçàöèè çíàíèé îáùåãî õàðàêòå-
ðà. Âåðøèíû ìîãóò áûòü äâóõ òèïîâ: ýêçåìïëÿðû è êëàññû. ÑÑÑ îòëè÷àþòñÿ ñòðî-
ãîé òèïèçàöèåé âåðøèí è äóã ñåòè. Ïîäãðàô ñåìàíòè÷åñêîé ñåòè, ñîñòîÿùèé èç âåð-
øèí-êëàññîâ è ñîåäèíÿþùèõ ýòè âåðøèíû äóã, âûäåëÿåòñÿ â ñëó÷àå ÑÑÑ
â îòäåëüíóþ ñåòü, êîòîðàÿ âûñòóïàåò â ðîëè ñõåìû; ýòî ïðèáëèæàåò ÑÑÑ ê êëàññè-
÷åñêèì ìîäåëÿì äàííûõ. Ñõåìà îáðàçóåò îñòîâ ÑÑÑ.
Ñòðóêòóðíî ÑÑÑ ïðåäñòàâëÿåò ñîáîé ðàñêðàøåííûé îðãðàô, âåðøèíû êîòîðî-
ãî — ñóùíîñòè ìîäåëè ïðåäìåòíîé îáëàñòè (ÌÏðÎ), äóãè — ñâÿçè ìåæäó ñóùíîñ-
òÿìè. Åãî äîïîëíåíèå îáðàçóåò ñõåìà — ðàñêðàøåííûé îðãðàô êëàññîâ. Äóãà, ñîå-
äèíÿþùàÿ âåðøèíû-êëàññû, íàçûâàåòñÿ áèíàðíûì îòíîøåíèåì, à äóãà, ñîåäèíÿþ-
ùàÿ âåðøèíû-ýêçåìïëÿðû, — óòâåðæäåíèåì. Ìîäåëè ñóùíîñòü–ñâÿçü è
îáúåêò-ñâÿçü ýëåìåíòàðíî ñâîäÿòñÿ ê ÑÑÑ, ÷òî ïîçâîëÿåò íåïîñðåäñòâåííî ðàñ-
ïðîñòðàíèòü äàëüíåéøèå ðåçóëüòàòû íà äàííûå, îïèñàííûå ER-äèàãðàììàìè, äèàã-
ðàììàìè êëàññîâ èëè ïîñëåäîâàòåëüíîñòåé UML. Ñõåìû XML òàêæå çàäàþò ÑÑÑ.
(Âî âñåõ ïåðå÷èñëåííûõ ñëó÷àÿõ âåðøèíàì ÑÑÑ öåëåñîîáðàçíî ñîïîñòàâëÿòü ñóù-
íîñòè/îáúåêòû/ýëåìåíòû, àòðèáóòû XML — àòðèáóòàì ÑÑÑ.)
Âîïðîñû âîññòàíîâëåíèÿ îòñóòñòâóþùåé êîíöåïòóàëüíîé ìîäåëè èç ñõåìû ðå-
ëÿöèîííîé èëè îáúåêòíî-îðèåíòèðîâàííîé áàçû äàííûõ ðàññìîòðåíû â [10, 14, 15].
172 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2
1.2. Ãðàììàòè÷åñêîå ïðåäñòàâëåíèå ÑÑÑ. Çàäàäèì íåïóñòîå ìíîæåñòâî êîðíå-
âûõ âåðøèí ÑÑÑ T E0 � . Ââåäåì ìíîæåñòâî íåòåðìèíàëüíûõ ñèìâîëîâ N E è îïðå-
äåëèì âçàèìíî îäíîçíà÷íîå îòîáðàæåíèå n E N E: � .
Ðàññìîòðèì ãðàììàòèêó � � � � � �( , , ,N N A T E L AE { } P P P PE E L� � � �
*
� PL
* ) , â êîòîðîé êàæäîìó ýêçåìïëÿðó ñîïîñòàâëåíû òåðìèíàëüíûé è íåòåðìèíàëü-
íûé ñèìâîëû, à êàæäîé êîðíåâîé âåðøèíå ÑÑÑ è êàæäîìó óòâåðæäåíèþ ÑÑÑ — ïðî-
äóêöèè ÷åòûðåõ òèïîâ: P p A sS s T S n sE s�
�{ }1
0: | , ( ) , P p A s s TE s
* : |�
{ }2
0 ,
P p S r r s t L S n sL
* : | ( , , ) , ( )� �
�{ }� �2 , P p S rT r s t L S n s
L
� �
�{ � �2 : | ( , , ) , ( ),
T n t� ( )}. Íàçîâåì òàêóþ ïðàâîëèíåéíóþ ãðàììàòèêó ãðàììàòèêîé ÑÑÑ.
Ìíîæåñòâî ñòðîê ÿçûêà ãðàììàòèêè ÑÑÑ � òîæäåñòâåííî ìíîæåñòâó ïóòåé
îáõîäà ÑÑÑ, íà÷èíàþùèõñÿ ñ êîðíåâûõ âåðøèí ÑÑÑ.
Ãðàììàòèêà �2 íåïîñðåäñòâåííî ñöåïëåíà ñ ãðàììàòèêîé �1, åñëè ïðîäóêöèè
ãðàììàòèêè �2 ïîìå÷åíû ìåòêàìè èç ÷èñëà òåðìèíàëüíûõ/íåòåðìèíàëüíûõ ñèìâî-
ëîâ ãðàììàòèêè �1, ïðè÷åì õîòÿ áû äëÿ íåêîòîðûõ öåïî÷åê, âûâîäèìûõ â �1, âñå
ñèìâîëû êàæäîé öåïî÷êè ÿâëÿþòñÿ ìåòêàìè ïðîäóêöèé �2 è ïðè ýòîì îäíîçíà÷íî
îïðåäåëÿþò ïîñëåäîâàòåëüíîñòü ïðîäóêöèé, âûâîäÿùèõ öåïî÷êó â �2 . Åñëè êàæäîé
ìåòêîé ïîìå÷åíî íå áîëåå îäíîé ïðîäóêöèè �2 , òî �2 äåòåðìèíèðîâàíî ñöåïëåíà ñ
�1. Äëÿ óäîáñòâà äàëüíåéøåãî èçëîæåíèÿ íåñêîëüêî èäåíòè÷íûõ ïðîäóêöèé ñ ðàçíû-
ìè ìåòêàìè áóäåì ïðåäñòàâëÿòü êàê îäíó ïðîäóêöèþ ñ íåñêîëüêèìè ìåòêàìè.
Ïóñòü �1 1 1 1 1� ( , , , )N T A P è �2 2 2 2 2 2 2 2 2� � � � �( , , , )* *N T A P P P P PE E L L —
ãðàììàòèêè ÑÑÑ ñ îáùåé ñõåìîé.
Îáîçíà÷èì ìíîæåñòâî ýêçåìïëÿðîâ ÑÑÑ �1 êàê E1, ìíîæåñòâî óòâåðæäåíèé — L1,
ìíîæåñòâî êîðíåâûõ âåðøèí — T E01 1� . Ïóñòü êàæäàÿ ïðîäóêöèÿ �2 ïîìå÷åíà ìåòêîé
èç ÷èñëà òåðìèíàëüíûõ ñèìâîëîâ �1, ïðè ýòîì âûïîëíÿþòñÿ ñëåäóþùèå óñëîâèÿ:
1) �
� �p P p T f s f ps E s s
1
2
1
01
1label label( ) ( ) ( ( )) — êîðíåâàÿ âåðøèíà ñîîò-
âåòñòâóþùåãî òèïà;
2) �
� �
�p P p L r s t L f r f pL� � ��1
2
1
1 2label label( ) ( , , ) ( ) ( ( 1 )) — äóãà ñî-
îòâåòñòâóþùåãî òèïà;
3) ìåòêè ïàðíûõ ïðîäóêöèé ñîâïàäàþò — label label( ) ( )p px x
1 2
� ;
4) �
�
�t s T f t f s t s, ( ( ) ( ) )01 — òèï êàæäîé êîðíåâîé âåðøèíû ÑÑÑ �1
óíèêàëåí;
5) � � �
�
�r t s q o p L t o r q( , , ), ( , , ) ( )� � 1 — òèï è âõîäíîé ýêçåìïëÿð êàæ-
äîãî óòâåðæäåíèÿ ÑÑÑ �1 îäíîçíà÷íî îïðåäåëÿþò âûõîäíîé ýêçåìïëÿð äàííîãî
óòâåðæäåíèÿ.
Íàçîâåì �2 ïîäñõåìîé �1. Ãðàììàòèêà �2 íåïîñðåäñòâåííî ñöåïëåíà ñ ãðàì-
ìàòèêîé �1. Íàçîâåì ïîäñõåìó �2 ãðàììàòèêè ÑÑÑ �1 ïîëíîé, åñëè êàæäîé òåðìè-
íàëüíîé öåïî÷êå, âûâîäèìîé â ãðàììàòèêå �1, ñîïîñòàâëÿåòñÿ ðîâíî îäíà òåðìè-
íàëüíàÿ öåïî÷êà, âûâîäèìàÿ â ãðàììàòèêå �2 . Íàçîâåì ñîêðàùåíèåì ïîäìíîæåñ-
òâî L L* ( ) ( )� �� ÿçûêà �, ñîñòîÿùåå èç öåïî÷åê, íå âêëþ÷àþùèõ ïîâòîðÿþùèåñÿ
ñèìâîëû. Ñïðàâåäëèâî ñëåäóþùåå óòâåðæäåíèå.
Òåîðåìà 1. Ñîêðàùåíèå ÿçûêà ïðîèçâîëüíîé ãðàììàòèêè ÑÑÑ îáëàäàåò ïî-
ëíîé ïîäñõåìîé ñ êîíå÷íûì ÿçûêîì.
Êîíå÷íîìó ÷èñëó öåïî÷åê ïîäñõåìû ñîîòâåòñòâóåò òî æå ÷èñëî êîíå÷íûõ ñîå-
äèíåíèé ðåëÿöèîííûõ îòíîøåíèé èëè îáúåêòîâ, íà êîòîðûõ ìîæíî ñòàíäàðòíûì
îáðàçîì âûïîëíÿòü îòáîð (ñåëåêöèþ), ÷òî ïîçâîëÿåò íåïîñðåäñòâåííî èñïîëüçîâàòü
ÿçûê çàïðîñîâ ÑÓÁÄ äëÿ âûäåëåíèÿ çàäàííîãî ôðàãìåíòà ÑÑÑ. Êîìïëåêñíîå îïè-
ñàíèå ôðàãìåíòà ÑÑÑ (ïîäñõåìà + óñëîâèÿ îòáîðà íà ÿçûêå çàïðîñîâ âìåùàþùåé
ÑÓÁÄ) íàçûâàåòñÿ ãðàôîâûì çàïðîñîì.
Òåîðåìà 2. Ôðàãìåíò CCC, ñîñòîÿùèé èç êîíå÷íîãî ìíîæåñòâà öåïî÷åê
L� ( )�1 , êîòîðîå ìîæíî îïèñàòü êîíå÷íîé äèçúþíêöèåé îãðàíè÷åíèé íà ÿçûêå âìå-
ùàþùåé ÑÓÁÄ, ïðåäñòàâëÿåòñÿ íåêîòîðûì ÃÇ.
Òàêèì îáðàçîì, ìåõàíèçì ÃÇ îáëàäàåò ïîëíîòîé ñ òî÷êè çðåíèÿ ïðåäñòàâëåíèÿ
ñåòåâîé êîíöåïòóàëüíîé ìîäåëè ïîñðåäñòâîì èåðàðõè÷åñêîãî ïðåäñòàâëåíèÿ. Îãðà-
íè÷èâ íàáîð àòðèáóòîâ, ìîæåì ïîëó÷èòü èåðàðõè÷åñêîå ïðåäñòàâëåíèå XML-äîêó-
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 173
ìåíòîì, êîòîðûé ÿâëÿåòñÿ ÑÑÑ ïî îïðåäåëåíèþ. XML-äîêóìåíò äëÿ ÃÇ — òî æå
ñàìîå, ÷òî ðåçóëüòèðóþùàÿ òàáëèöà äëÿ çàïðîñà ðåëÿöèîííîé ÁÄ. Â ñèëó ïîëíîòû,
ÃÇ ÿâëÿåòñÿ óíèâåðñàëüíûì ñðåäñòâîì ýêñïîðòà ôðàãìåíòîâ ÁÄ â XML.
2. ÐÀÇÐÀÁÎÒÊÀ ÃÇ ÏÎ ÎÁÐÀÇÖÓ
Äëÿ âèçóàëüíîãî ôîðìèðîâàíèÿ ÃÇ ðàçðàáîòàí QBE-ïîäîáíûé ÿçûê çàïðîñîâ
ER-QBE è àëãîðèòì òðàíñëÿöèè çàïðîñîâ ER-QBE â SQL-ïîäîáíûé ÿçûê çàïðî-
ñîâ âìåùàþùåé ÑÓÁÄ.  îòëè÷èå îò QBE äëÿ ðåëÿöèîííîé ìîäåëè, ER-QBE
äëÿ ÃÇ — íå îäíà ôîðìà/òàáëèöà, à äåðåâî ôîðì.  îòëè÷èå îò XDR, ER-QBE
ôîêóñèðóåòñÿ íå íà ñèíòàêñè÷åñêèõ äåòàëÿõ ôîðìàòà XML (âûáîðå ïðåäñòàâëå-
íèÿ àòðèáóòîâ ýëåìåíòàìè èëè àòðèáóòàìè XML, ïðåîáðàçîâàíèè èìåí), à íà
èíôîðìàöèîííîì ñîäåðæàíèè XML-äîêóìåíòà.
2.1. ER-QBE ôîðìèðóåò ÃÇ ñ ó÷åòîì ñëåäóþùèõ îãðàíè÷åíèé:
1) çàïðîñ íå ñîçäàåò íîâûõ îáúåêòîâ èëè òèïîâ;
2) åñëè êàêèå-íèáóäü àòðèáóòû îáúåêòà/çàïèñè ó÷àñòâóþò â ôîðìèðîâàíèè
îáîáùåííîãî îòíîøåíèÿ, èäåíòèôèêàòîð äàííîãî îáúåêòà èëè ïåðâè÷íûé êëþ÷
òèïà IDENTITY ýòîé çàïèñè çàïèñûâàåòñÿ â XML-äîêóìåíò;
3) íè÷åãî, êðîìå àòðèáóòîâ, â çàïðîñå íå âûáèðàåòñÿ.
Îãðàíè÷åíèÿ 2, 3 îáåñïå÷èâàþò ðåàëèçàöèþ îáíîâëåíèÿ ÁÄ íà îñíîâå ìîäè-
ôèêàöèé XML-ïðåäñòàâëåíèÿ. Åñëè çàäà÷à ñîñòîèò â ïîëó÷åíèè ñòàòè÷åñêîãî (ìî-
ìåíòàëüíîãî) XML-ïðåäñòàâëåíèÿ, óñëîâèÿ 2 è 3 ìîãóò áûòü îñëàáëåíû: äîñòàòî÷-
íî ïîòðåáîâàòü íàëè÷èÿ êëþ÷à (âîçìîæíî, ñîñòàâíîãî) ñðåäè âûáðàííûõ àòðèáóòîâ
è ðàçðåøèòü ïðîñòûå âû÷èñëåíèÿ áåç àãðåãàöèè.
Ñòðóêòóðó ÃÇ çàäàåò ïîäñõåìà — ÑÑÑ, âåðøèíû êîòîðîé ñîîòâåòñòâóþò êëàñ-
ñàì ñõåìû (òàáëèöàì ÁÄ), à äóãè — áèíàðíûì îòíîøåíèÿì (ññûëêàì, âíåøíèì
êëþ÷àì).  ER-QBE ïîäñõåìà ñòðîèòñÿ ïîñëåäîâàòåëüíî.
Ñíà÷àëà äîáàâëÿþòñÿ êîðíåâûå âåðøèíû. Îñòàëüíûå âåðøèíû ïîäñõåìû ïðè-
ñîåäèíÿþòñÿ ê ðàíåå äîáàâëåííûì âåðøèíàì ïî äóãàì. Ïîëüçîâàòåëü âûáèðàåò,
ê êàêîé âåðøèíå äîáàâèòü íîâóþ è ïî êàêîìó áèíàðíîìó îòíîøåíèþ. Äëÿ âûáîðà
ïðåäëàãàþòñÿ âñå ïàðû «ïåðâè÷íûé êëþ÷ êëàññà âûáðàííîé âåðøèíû — ñîîòâåò-
ñòâóþùèé âíåøíèé êëþ÷ êàêîãî-òî êëàññà» è «ïåðâè÷íûé êëþ÷ êàêîãî-òî êëàñ-
ñà — ñîîòâåòñòâóþùèé âíåøíèé êëþ÷ êëàññà âûáðàííîé âåðøèíû». Òàêèì îáðà-
çîì, ñâÿçè ìåæäó êëàññàìè âåðøèí ìîãóò èäòè ïî ññûëêå â ëþáîì íàïðàâëåíèè.
Âìåñòî íîâîé âåðøèíû ê âûáðàííîé ìîæíî ïðèñîåäèíèòü ðàíåå äîáàâëåííóþ âåð-
øèíó ñîîòâåòñòâóþùåãî êëàññà. Îäíîìó êëàññó ìîæåò ñîîòâåòñòâîâàòü íåñêîëüêî âåð-
øèí ïîäñõåìû, îäíîìó áèíàðíîìó îòíîøåíèþ — íåñêîëüêî äóã. Ðàçðåøåíû öèêëè-
÷åñêèå ñâÿçè, â òîì ÷èñëå äóãà ìîæåò ñîåäèíÿòü âåðøèíó ïîäñõåìû ñ íåé ñàìîé. Îäíà-
êî ñîåäèíåíèå ïàðû âåðøèí äâóìÿ îäèíàêîâî íàïðàâëåííûìè äóãàìè îäíîãî
áèíàðíîãî îòíîøåíèÿ íå äîïóñêàåòñÿ. Ñâîéñòâîì äóãè ÿâëÿåòñÿ ñòåïåíü çàâèñèìîñòè:
ðàçðåøåí ëè ýêñïîðò ýêçåìïëÿðà ïåðâîé âåðøèíû äóãè, åñëè ñ íèì íå ñâÿçàí íè îäèí
ýêçåìïëÿð âòîðîé âåðøèíû äóãè. Â DTD ýòîìó ñîîòâåòñòâóåò âûáîð ìåæäó ìîäèôèêà-
òîðàìè âëîæåííîãî ýëåìåíòà * è +. Êàæäîé âåðøèíå ïîäñõåìû â ER-QBE ñîîòâå-
òñòâóåò ôîðìà, íàïîìèíàþùàÿ òðàíñïîíèðîâàííûå ôîðìû QBE [16], — òàáëèöà,
â ïåðâîé êîëîíêå êîòîðîé ïåðå÷èñëåíû àòðèáóòû ñîîòâåòñòâóþùåãî êëàññà ñõåìû ÁÄ,
à îñòàëüíûå êîëîíêè ñëóæàò äëÿ çàäàíèÿ óñëîâèé îòáîðà ýêçåìïëÿðîâ äàííîé âåð-
øèíû. Èìåíà àòðèáóòîâ, âûáðàííûõ äëÿ ýêñïîðòà â XML, ïîìå÷àþòñÿ. Ïîäñõåìà ñ
íàëîæåííûìè óñëîâèÿìè îòáîðà è âûáðàííûìè àòðèáóòàìè îïèñûâàåò ÃÇ.
ER-QBE ðåàëèçîâàí â ïðîãðàììå «Ñåëåêòîð» ÑÓÁÄ «ÌèêðîÏîèñê» [17].
 «Ñåëåêòîðå» èìåíà àòðèáóòîâ âûâîäÿòñÿ â êîëîíêó «À», óñëîâèÿ — â êîëîíêè
«Â», «Ñ» è ò.ä. (ðèñ.1).
Èìÿ âåðøèíû è èìåíà àòðèáóòîâ â êàæäîé ôîðìå ìîæíî èçìåíÿòü â ñîîòâåò-
ñòâèè ñ òðåáóåìîé ñõåìîé XML. Â «Ñåëåêòîðå» èìåíà âåðøèí è àòðèáóòîâ âûâîäÿò-
ñÿ, êàê â XML-äîêóìåíòå. Îäíàêî â äðóãîé ðåàëèçàöèè ìîæåò áûòü äîïîëíèòåëüíî
ïðåäóñìîòðåíà âèçóàëèçàöèÿ èñõîäíûõ èìåí èç êîíöåïòóàëüíîé è/èëè ëîãè÷åñêîé
ñõåìû ÁÄ.
174 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2
Ïðèíöèïû ôîðìèðîâàíèÿ
óñëîâèé íà ñêàëÿðíûå àòðèáóòû
â ðàìêàõ îäíîé ôîðìû àíàëî-
ãè÷íû QBE. Óñëîâèÿ â îäíîé
êîëîíêå îáúåäèíÿþòñÿ êîíúþí-
êöèåé, ãðóïïû óñëîâèé ðàçíûõ
êîëîíîê — äèçúþíêöèåé. Â óñ-
ëîâèÿõ ðàçðåøåíî èñïîëüçîâàòü
ñêàëÿðíûå çíà÷åíèÿ (ñòðîêè,
÷èñëà), äðóãèå àòðèáóòû òîé æå
âåðøèíû, àòðèáóòû âåðøèí,
ïðåäøåñòâóþùèõ ýòîé âåðøè-
íå â äåðåâå îáõîäà ïîäñõåìû â
ôîðìàòå <âåðøèíà>.<àòðèáóò>
èëè <âåðøèíà>[<èíäåêñ>].<àò-
ðèáóò>. Îòñóòñòâèå èíäåêñà
èíòåðïðåòèðóåòñÿ êàê óêàçàíèå
íà ïåðâûé ýêçåìïëÿð âåðøèíû
<âåðøèíà> ñðåäè ïðåäêîâ òå-
êóùåé âåðøèíû â äåðåâå îáõî-
äà. Ïîëîæèòåëüíûé èíäåêñ
îáîçíà÷àåò ïîðÿäêîâûé íîìåð
ýêçåìïëÿðà âåðøèíû <âåðøè-
íà> ñðåäè ïðåäêîâ òåêóùåé
âåðøèíû â äåðåâå îáõîäà, ñ÷èòàÿ îò êîðíÿ, ìîäóëü îòðèöàòåëüíîãî èíäåêñà — ïî-
ðÿäêîâûé íîìåð, ñ÷èòàÿ îò òåêóùåé âåðøèíû. Åñëè óñëîâèå ñîäåðæèò óêàçàíèå íà
âåðøèíó, êîòîðîé ñðåäè ïðåäêîâ òåêóùåé âåðøèíû â äåðåâå îáõîäà íåò, îíî èãíî-
ðèðóåòñÿ. Óñëîâèÿ ïî ñâÿçè ìåæäó âåðøèíàìè ïîääåðæèâàþòñÿ àâòîìàòè÷åñêè è
çàäàâàòü èõ â ôîðìå íå íóæíî.
 äîïîëíèòåëüíûå ñòðîêè ìîæíî äîáàâëÿòü âû÷èñëÿåìûå àòðèáóòû â âèäå âû-
ðàæåíèé íàä òåìè æå ýëåìåíòàìè: ñêàëÿðíûìè çíà÷åíèÿìè, àòðèáóòàìè òåêóùåé
âåðøèíû è ïðåäøåñòâóþùèõ åé âåðøèí. Ãðàôîâûå çàïðîñû ñ äîïîëíèòåëüíûìè
ñòðîêàìè â âåðøèíàõ íå ïîääåðæèâàþò îáíîâëåíèé XML-ïðåäñòàâëåíèÿ.
ÑÑÑ, ñôîðìèðîâàííàÿ â ðåçóëüòàòå âûïîëíåíèÿ ÃÇ, ìîæåò áûòü ïî-ðàçíîìó ïðåä-
ñòàâëåíà â XML. Êîíöåïöèè ÑÑÑ íàèáîëåå îòâå÷àåò ñõåìà XML-äîêóìåíòà, â êîòîðîé
îáúåêòû ÑÑÑ ïðåäñòàâëåíû ýëåìåíòàìè XML, à àòðèáóòû — àòðèáóòàìè. Îäíàêî ñ òî÷-
êè çðåíèÿ ñîâìåñòèìîñòè ñ SQL/XML öåëåñîîáðàçíà ïîääåðæêà àëüòåðíàòèâíîãî ïðåä-
ñòàâëåíèÿ àòðèáóòîâ ÑÑÑ â âèäå ýëåìåíòîâ XML ñ âîçìîæíîñòüþ êîäèðîâàòü èõ äîïîë-
íèòåëüíûå ñâîéñòâà. Íàïðèìåð, ïðèçíàê îòñóòñòâèÿ çíà÷åíèÿ (NULL) êîäèðóåòñÿ çíà÷å-
íèåì àòðèáóòà xsi:nil=“true”. Âûáîð âàðèàíòà ïðåäñòàâëåíèÿ àòðèáóòîâ — ïàðàìåòð
íàñòðîéêè ER-QBE. Â «Ñåëåêòîðå» — ýòî îáùàÿ íàñòðîéêà íà âåñü XML-äîêóìåíò, êàê
FOR XML AUTO â SQL/XML. Â äðóãîé ðåàëèçàöèè ìîæåò áûòü ïðåäóñìîòðåíà èíäè-
âèäóàëüíàÿ íàñòðîéêà ïðåäñòàâëåíèÿ êàæäîãî àòðèáóòà, êàê â XDR. Îäíàêî ãèáêîñòè
FOR XML IMPLICIT ER-QBE íå äîñòèãàåò: ïîëíîòà ÃÇ îòíîñèòñÿ ê èíôîðìàöèè â
XML-äîêóìåíòå, à íå ê åå ôîðìàòèðîâàíèþ. (Íàïðèìåð, â ðåëÿöèîííûõ áàçàõ SQL è
QBE íå îáåñïå÷èâàþò ãèáêîñòè ãåíåðàòîðà îò÷åòîâ.)
 öåëîì ïîëüçîâàòåëüñêèé èíòåðôåéñ ER-QBE î÷åíü áëèçîê ê èíòåðôåéñó òðà-
äèöèîííûõ QBE-ïîäîáíûõ ãåíåðàòîðîâ çàïðîñîâ. Åãî îñîáåííîñòè:
� âåðòèêàëüíîå, à íå ãîðèçîíòàëüíîå ðàñïîëîæåíèå àòðèáóòîâ â ôîðìå (îíî ñî-
îòâåòñòâóåò âåðòèêàëüíîìó ïðåäñòàâëåíèþ ýëåìåíòîâ îäíîãî óðîâíÿ ïðè âèçóàëè-
çàöèè XML-äîêóìåíòà ñòàíäàðòíûìè ïðîãðàììàìè, íàïðèìåð Internet Explorer);
� àòðèáóòû ðàçíûõ êëàññîâ íå ñîáèðàþòñÿ â îáùóþ ôîðìó, à ðàññìàòðèâàþòñÿ
îòäåëüíî.
2.2. Ðåàëèçàöèÿ XML-ïðåäñòàâëåíèé îñíîâàíà íà òðàíñëÿöèè ÃÇ, îïèñàííîãî
ER-QBE, â íàáîð îáû÷íûõ çàïðîñîâ ê ÁÄ. Áóäåì ïðèäåðæèâàòüñÿ ñèíòàêñèñà ÿçûêà
SQL, êîòîðûé îáåñïå÷èâàåò óíèâåðñàëüíóþ ñèíòàêñè÷åñêóþ îñíîâó ïîäàâëÿþùåãî
áîëüøèíñòâà ñîâðåìåííûõ ÿçûêîâ çàïðîñîâ ðåëÿöèîííûõ, îáúåêòíî-ðåëÿöèîííûõ
è îáúåêòíî-îðèåíòèðîâàííûõ ÁÄ.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 175
Ðèñ. 1. ER-QBE â ïðîãðàììå «Ñåëåêòîð»
Ïóñòü �
�
S
2 — ÿçûê âìåùàþùåé ÑÓÁÄ äëÿ ÁÄ ñî ñõåìîé S , äîïîëíåííîé ñèíî-
íèìàìè èç ïîäñõåìû �2 . Îáîçíà÷èì ÃÇ G2 2� ( , )� � , ãäå �2 — ïîäñõåìà, a
� �
�
� �
S
T2
2 — ìíîæåñòâî îãðàíè÷åíèé, ñîïîñòàâëåííûõ òåðìèíàëàì ÃÇ.
Îïðåäåëèì ëîãè÷åñêîå îãðàíè÷åíèå, íàëîæåííîå íà ïðàâèëüíóþ öåïî÷êó �
ïîäñõåìû ÑÑÑ �2 , êàê êîíúþíêöèþ îãðàíè÷åíèé, ñîïîñòàâëåííûõ âåðøèíàì è äó-
ãàì � k . Ñîïîñòàâèì ýòîé öåïî÷êå ïîñëåäîâàòåëüíîñòü � èìåí âåðøèí ïîäñõåìû,
ïðîéäåííûõ ïðè îáõîäå ïîäñõåìû ñîãëàñíî öåïî÷êå �, à èìåííî � �1 1� n( ) â ïåð-
âîé ïîçèöèè è �k Z� , åñëè ( : )p X Z P
L k� � � �1 1
2
� � äëÿ k-é ïîçèöèè.
Îáîçíà÷èì � k ïðîèíäåêñèðîâàííûå íîìåðîì âõîæäåíèÿ ñèìâîëû ïîñëåäîâà-
òåëüíîñòè � èìåí âåðøèí ïîäñõåìû.
Ñôîðìèðóåì çàïðîñ íà ÷òåíèå äàííûõ èç ÁÄ ïî ñëåäóþùèì ïðàâèëàì.
�  ÷àñòè SELECT çàïðîñà ïåðå÷èñëÿþòñÿ âûáðàííûå àòðèáóòû ñ ïðåôèêñîì � k ,
óòî÷íÿþùèì, ê êàêîìó ñèìâîëó öåïî÷êè îòíîñèòñÿ àòðèáóò. Äëÿ ñòàòè÷åñêèõ
XML-ïðåäñòàâëåíèé â ôîðìóëû âû÷èñëÿåìûõ àòðèáóòîâ ïðåôèêñû � k àòðèáóòîâ-àð-
ãóìåíòîâ ïîäñòàâëÿþòñÿ àíàëîãè÷íûì îáðàçîì. Ýêçåìïëÿðû, èäåíòèôèêàòîðû êîòî-
ðûõ íå ñïåöèôèöèðîâàíû â ÷àñòè SELECT êàêîãî-íèáóäü çàïðîñà, â XML-äîêóìåíòå
íå îòîáðàæàþòñÿ (ïðîïóñêàþòñÿ), õîòÿ è ó÷àñòâóþò â åãî ôîðìèðîâàíèè. Äëÿ äèíàìè-
÷åñêèõ XML-ïðåäñòàâëåíèé îòñóòñòâóþùèå àòðèáóòû-èäåíòèôèêàòîðû ýêçåìïëÿðîâ
ïîäñòàâëÿþòñÿ àâòîìàòè÷åñêè ñîãëàñíî îãðàíè÷åíèþ 2 (ï. 2.1).
�  ÷àñòè FROM ïåðå÷èñëÿþòñÿ êëàññû f k( )� ñõåìû ÑÑÑ ñ óêàçàíèåì â êà÷åñ-
òâå ñèíîíèìîâ ñîîòâåòñòâóþùèõ ñèìâîëîâ � k .
�  ÷àñòè WHERE äëÿ ñïåöèôèêàöèè óñëîâèé èñïîëüçóåòñÿ ñîîòâåòñòâóþùåå
èñ÷èñëåíèå. Äëÿ êëàññè÷åñêîé ðåëÿöèîííîé ìîäåëè — ýòî èñ÷èñëåíèå ïðåäèêàòîâ
ïåðâîãî ïîðÿäêà. Óñëîâèÿ ñîåäèíåíèÿ ïî ñâÿçè âñòàâëÿþòñÿ â êîíúþíêöèþ àâòîìà-
òè÷åñêè ñ ó÷åòîì ñòåïåíè çàâèñèìîñòè äóãè: â êîììåð÷åñêèõ ÑÓÁÄ ïîìèìî ïðî-
ñòîãî ñîåäèíåíèÿ (inner join) — � � � �k k k kf f( ) ( )� � 1 ìîæíî ïðèìåíÿòü è âíåø-
íåå ñîåäèíåíèå (left outer join) — � � � �k k k kf f( ) ( )* � � 1 .  ñëó÷àå âíåøíåãî ñîå-
äèíåíèÿ � k äîëæíû âûâîäèòüñÿ â XML íåçàâèñèìî îò íàëè÷èÿ ñâÿçàííûõ ñ íèìè
� k � 1. Ê óñëîâèÿì ñîåäèíåíèÿ ïîñðåäñòâîì êîíúþíêöèé äîáàâëÿþòñÿ
îãðàíè÷åíèÿ, ñîîòâåòñòâóþùèå ñèìâîëàì öåïî÷êè: { }� � �| ( , )k
� .
� Äëÿ óïîðÿäî÷åíèÿ ðåçóëüòàòîâ çàïðîñà äîáàâëÿåòñÿ ORDER BY ñ ïåðå÷èñëå-
íèåì àòðèáóòîâ òî÷íî òàêèì, êàê â ÷àñòè SELECT.
Îïèñàííûå ïðàâèëà îáåñïå÷èâàþò äèíàìè÷åñêóþ (â ïðîöåññå ôîðìèðîâàíèÿ
XML-ïðåäñòàâëåíèÿ) òðàíñëÿöèþ ÃÇ â ñîâîêóïíîñòü çàïðîñîâ ÑÓÁÄ.
Ñîåäèíåíèå, ïîëó÷åííîå â ðåçóëüòàòå âûïîëíåíèÿ ñôîðìèðîâàííîãî îïèñàí-
íûì îáðàçîì çàïðîñà ïî îäíîé ïðàâèëüíîé öåïî÷êå ïîäñõåìû, ñîîòâåòñòâóåò ôðàã-
ìåíòó XML-äîêóìåíòà — ëåñó äåðåâüåâ îáõîäà ÑÑÑ. Âîññòàíîâèòü èåðàðõè÷åñêóþ
ñòðóêòóðó äîñòàòî÷íî ïðîñòî, òàê êàê ïðè ïîñëåäîâàòåëüíîì ïðîñìîòðå çàïèñåé
î ïåðåõîäå ê ñëåäóþùåìó ýêçåìïëÿðó íà êàæäîì óðîâíå èåðàðõèè ñèãíàëèçèðóåò
èçìåíåíèå ñîîòâåòñòâóþùåãî êëþ÷åâîãî àòðèáóòà.
2.3. Äèíàìè÷åñêèå (âèðòóàëüíûå) XML-ïðåäñòàâëåíèÿ ðåàëèçóþòñÿ ñîâðåìåí-
íûìè ÑÓÁÄ â ôîðìå URL-çàïðîñîâ íà îñíîâå SQL/XML èëè çàïðîñîâ XPath íà
îñíîâå XDR. Îáå òåõíîëîãèè õîðîøî ñîãëàñóþòñÿ ñ ÃÇ. Åñëè ê çàïðîñó, ñãåíåðèðî-
âàííîìó äëÿ îäíîé ïðàâèëüíîé öåïî÷êè ïîäñõåìû, äîáàâèòü ÷àñòü FOR XML
AUTO èëè FOR XML AUTO ELEMENTS, ÑÓÁÄ, ïîääåðæèâàþùèå SQL/XML, òà-
êèå êàê Microsoft SQL Server, âîññòàíîâÿò èåðàðõè÷åñêóþ ñòðóêòóðó XML-ïðåä-
ñòàâëåíèÿ ïî ïðàâèëàì, àíàëîãè÷íûì ïðàâèëàì ÃÇ. Ðàçíûì èñõîäíûì òàáëèöàì ñî-
ïîñòàâëÿþòñÿ ðàçíûå óðîâíè èåðàðõèè, àòðèáóòû ïðåäñòàâëÿþòñÿ àòðèáóòàìè èëè
ýëåìåíòàìè, â çàâèñèìîñòè îò îòñóòñòâèÿ èëè íàëè÷èÿ óòî÷íåíèÿ ELEMENTS.
Íàïðèìåð, äëÿ çàïðîñà
SELECT Customers.CustomerID, Customers.ContactName, Orders.OrderID
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
FOR XML AUTO
ðåçóëüòàò ìîæåò èìåòü âèä
176 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2
<Customers CustomerID="ALFKI" ContactName="Maria Anders">
<Orders OrderID="10643"/>
<Orders OrderID="10692"/>
<Orders OrderID="10702"/>
<Orders OrderID="10835"/>
<Orders OrderID="10952"/>
<Orders OrderID="11011"/>
</Customers>
à äëÿ çàïðîñà
SELECT Customers.CustomerID, Customers.ContactName, Orders.OrderID
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
FOR XML AUTO, ELEMENTS
èìåòü âèä
<Customers>
<CustomerID>ALFKI</CustomerID>
<ContactName>Maria Anders</ContactName>
<Orders><OrderID>10643</OrderID></Orders>
<Orders><OrderID>10692</OrderID></Orders>
<Orders><OrderID>10702</OrderID></Orders>
<Orders><OrderID>10835</OrderID></Orders>
<Orders><OrderID>10952</OrderID></Orders>
<Orders><OrderID>11011</OrderID></Orders>
</Customers>
Äëÿ ïîëó÷åíèÿ ïîëíîãî äèíàìè÷åñêîãî XML-ïðåäñòàâëåíèÿ ÃÇ äîñòàòî÷íî ïå-
ðå÷èñëèòü URL-çàïðîñû, ñîîòâåòñòâóþùèå âñåì ïðàâèëüíûì öåïî÷êàì ïîäñõåìû
â òåêñòå çàïðîñà XQuery, íàïðèìåð:
<result>
{
doc(“http://IISServer/db1?sql=SELECT+*+FROM+Providers+FOR+XML+AUTO
&root=Providers”)
doc(“http://IISServer/db1?sql=SELECT+CustomerID+ContactName+FROM
+Customers+Orders+FOR+XML+AUTO&root=Customers”)
}
</result>
Ïðèìåíåíèå çàïðîñîâ XPath àíàëîãè÷íî ïðèìåíåíèþ URL-çàïðîñîâ, çà èñêëþ-
÷åíèåì òîãî, ÷òî ïî êàæäîìó ïîäçàïðîñó òèïà SELECT íóæíî ñîçäàâàòü ðåëÿöèîí-
íîå ïðåäñòàâëåíèå (CREATE VIEW...) è ãåíåðèðîâàòü XDR-ñõåìó — îïèñàíèå ñî-
îòâåòñòâèÿ ìåæäó ñõåìîé ðåëÿöèîííîãî ïðåäñòàâëåíèÿ è ñõåìîé ñîîòâåòñòâóþùåãî
âèðòóàëüíîãî XML-ïðåäñòàâëåíèÿ. Ìåõàíèçì ÃÇ îáåñïå÷èâàåò àâòîìàòè÷åñêîå
ôîðìèðîâàíèå XDR-îïèñàíèé ñ âûáîðîì ôîðìû ïðåäñòàâëåíèÿ êàæäîãî àòðèáóòà
ÁÄ — áîëåå ãèáêèõ, ÷åì FOR XML AUTO, íî íå FOR XML IMPLICIT. Ñ òî÷êè
çðåíèÿ ïðîñòîòû ðåàëèçàöèè èñïîëüçîâàíèå URL-çàïðîñîâ íà îñíîâå SQL/XML äëÿ
ÃÇ ïðåäïî÷òèòåëüíåå.
2.4. Àâòîìàòè÷åñêîå îáíîâëåíèå ÁÄ íà îñíîâå èçìåíåíèé XML-ïðåäñòàâëåíèÿ
â îáùåì ñëó÷àå — òðóäíàÿ çàäà÷à (â ñâÿçè ñ âîçìîæíîñòüþ ïðîÿâëåíèÿ ïîáî÷íûõ
ýôôåêòîâ). Îñíîâíûå ïîäõîäû â ýòîé îáëàñòè:
1) ñâåäåíèå çàäà÷è ê îáíîâëåíèþ ðåëÿöèîííûõ ïðåäñòàâëåíèé;
2) âûäåëåíèå êëàññîâ èåðàðõè÷åñêèõ ïðåäñòàâëåíèé, äëÿ êîòîðûõ îïåðàöèè èç-
ìåíåíèÿ çíà÷åíèé àòðèáóòîâ, âñòàâêè è óäàëåíèÿ ìîãóò áûòü îòòðàíñëèðîâàíû
â áåçîïàñíóþ ñ òî÷êè çðåíèÿ ïîáî÷íûõ ýôôåêòîâ ïîñëåäîâàòåëüíîñòü îïåðàöèé.
 ðàìêàõ âòîðîãî ïîäõîäà íà îñíîâå ìîäåëè âëîæåííûõ îòíîøåíèé âûäåëåí
êëàññ õîðîøî âëîæåííûõ NPSJ-ïðåäñòàâëåíèé (îò Nest-last Project-Select-Join —
âëîæåííîñòü â ôîðìå ïðîåêöèè ðåçóëüòàòîâ ïðîñòîãî îòáîðà è îáúåäèíåíèÿ), îáëà-
äàþùèé óêàçàííûì ñâîéñòâîì [18]. Ïðèçíàê äàííîãî êëàññà — íàëè÷èå åäèíñòâåí-
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 177
íîé çàïèñè-èñòî÷íèêà (ýêçåìïëÿðà) ëþáîãî ýëåìåíòà èåðàðõèè. Õîðîøàÿ âëîæåí-
íîñòü íå ãàðàíòèðóåò êîððåêòíîñòè ëþáîé ìîäèôèêàöèè XML-ïðåäñòàâëåíèÿ. Îíà
ãàðàíòèðóåò òîëüêî âíóòðåííþþ íåïðîòèâîðå÷èâîñòü ìîäèôèöèðîâàííîãî
XML-äîêóìåíòà: èçìåíåíèå êàæäîãî àòðèáóòà è ýëåìåíòà âûïîëíÿåòñÿ íåçàâèñèìî
îò äðóãèõ (îòñóòñòâèå èçáûòî÷íîñòè). Îäíàêî èçìåíåíèå çíà÷åíèÿ ìîæåò ïðèâåñòè
ê íàðóøåíèþ îãðàíè÷åíèé ïî çíà÷åíèÿì, çàëîæåííûõ â ÃÇ, èëè óñëîâèé
öåëîñòíîñòè ÁÄ.
Äëÿ XML-ïðåäñòàâëåíèÿ íà îñíîâå ER-QBE ïðèíàäëåæíîñòü ê êëàññó õîðîøî
âëîæåííûõ NPSJ-ïðåäñòàâëåíèé îáåñïå÷èâàåòñÿ àëãîðèòìîì òðàíñëÿöèè ÃÇ â ÿçûê
âìåùàþùåé ÑÓÁÄ, èçëîæåííûì â ï. 2.2 ïðè âûïîëíåíèè ñëåäóþùèõ îãðàíè÷åíèé:
1) îòîáðàæåíèå n2 âåðøèí ïîäñõåìû íà êëàññû ñõåìû — âçàèìíî îäíîçíà÷-
íîå: q N p N q p n q n p
�
� �
�2 2 2 2( ) ( ) ;
2) åñòåñòâåííûé èåðàðõè÷åñêèé ïîðÿäîê: p P P f s tL L� �2
2 2
� �
* ( ( ), , )
� �L t s1 ! , èíà÷å ãîâîðÿ, n2 ( )� — ñâÿçü òèïà (1:N) èëè (0:N).
Ïîñêîëüêó îáíîâëÿåìûå XML-ïðåäñòàâëåíèÿ íà îñíîâå ER-QBE âñåãäà ñîäåð-
æàò ID ýêçåìïëÿðà, ñòàíäàðòíûå ïàðàìåòðè÷åñêèå çàïðîñû ÑÓÁÄ íà èçìåíåíèå çíà-
÷åíèé àòðèáóòîâ, âñòàâêó è óäàëåíèå ýêçåìïëÿðà äëÿ êàæäîé âåðøèíû ÃÇ ãåíåðèðó-
þòñÿ ýëåìåíòàðíî. Îäíàêî â ðåàëüíûõ ïðèëîæåíèÿõ èõ, êàê ïðàâèëî, íåîáõîäèìî
äîðàáàòûâàòü.  ÑÓÁÄ «ÌèêðîÏîèñê» ýòè çàïðîñû õðàíÿòñÿ â âèäå èñõîäíûõ òåê-
ñòîâ ïàðàìåòðè÷åñêèõ çàïðîñîâ â âåðøèíàõ ÃÇ. Îòñóòñòâèå òåêñòà çàïðîñà îçíà÷àåò
çàïðåò ñîîòâåòñòâóþùåé ìîäèôèêàöèè ÷åðåç èçìåíåíèå XML-ïðåäñòàâëåíèÿ.  îò-
ëè÷èå îò êëàññè÷åñêîãî QBE, ER-QBE íå ïðåäîñòàâëÿåò ñðåäñòâ âèçóàëüíîãî ôîð-
ìèðîâàíèÿ ñëîæíûõ çàïðîñîâ íà ìîäèôèêàöèþ äàííûõ â ÁÄ. Âûáîð ñäåëàí â ïî-
ëüçó ïðîñòîòû, òàê êàê â ðàìêàõ îäíîãî ÃÇ òàêèõ çàïðîñîâ ïîíàäîáèëîñü áû â òðè
ðàçà áîëüøå ÷èñëà âåðøèí è â êàæäîì èç íèõ ìîãëè áû ïîòðåáîâàòüñÿ äàííûå èç
òàáëèö, íå èñïîëüçóåìûõ ïðè ôîðìèðîâàíèè XML-ïðåäñòàâëåíèÿ.
Áîëåå àêòóàëüíûì äëÿ îáíîâëåíèÿ XML-ïðåäñòàâëåíèÿ íà îñíîâå ÃÇ ÿâëÿåòñÿ
âîïðîñ ãåíåðèðîâàíèÿ ïîñëåäîâàòåëüíîñòè íåîáõîäèìûõ èçìåíåíèé ÁÄ â ñâÿçè
ñ ïîñòóïëåíèåì èçìåíåííîãî XML-äîêóìåíòà. Äëÿ õîðîøî âëîæåííûõ XML-ïðåä-
ñòàâëåíèé ïîðÿäîê ìîäèôèêàöèè ñîâïàäàåò ñ ïîðÿäêîì ñëåäîâàíèÿ ñèìâîëîâ âåð-
øèí � k â ñòðîêàõ ãðàììàòèêè ïîäñõåìû. Ïóñòü URL èñõîäíîãî XML-äîêóìåíòà —
�1, à URL ìîäèôèöèðîâàííîãî XML-äîêóìåíòà — � 2 . Äëÿ ôîðìèðîâàíèÿ â âèäå
XML-äîêóìåíòà çàäàíèÿ íà ìîäèôèêàöèþ ýêçåìïëÿðîâ, ñîîòâåòñòâóþùèõ ýëåìåí-
òàì � k , âîñïîëüçóåìñÿ ÿçûêîì XQuery, êîòîðûé â íà÷àëå 2007 ãîäà ðåêîìåíäîâàí
êîíñîðöèóìîì W3C äëÿ ïðåîáðàçîâàíèÿ XML-äàííûõ â Èíòåðíåò-ïðèëîæåíèÿõ
[8, 19]. Áóäåì èñïîëüçîâàòü ïîëóôîðìàëüíûå âûðàæåíèÿ XPath, èìåÿ â âèäó, ÷òî
òåêñò XQuery àâòîìàòè÷åñêè ãåíåðèðóåòñÿ äëÿ êàæäîãî ñèìâîëà êàæäîé
ïðàâèëüíîé öåïî÷êè ïîäñõåìû:
<result>{
let $a := doc(“�1”)/� � �1 2/ / ... / k
let $b := doc(“� 2 ”)/� � �1 2/ / ... / k
<delete>{
for $c in $a
where not exists($b[@ID=$c/@ID])
return(<entity dbname="n k2 ( )� " key="n k2 (� .ID)" ID="{$c/@ID/text()}">)
}</delete>
<insert>{
for $c in $b
where not exists($a[@ID=$c/@ID])
return(<entity dbname="n2 2( )� " refname="n k2 1( )� � " refkey="n k2 1( . )� � ID "
refID="{$c/../../@ID/text()}" ID="{$c/@ID/text()}">
for $d in $c/@*
return(<attribute dbname="n k2 ( .[$ / ()])� d nmtoken ">{$d/text()}</attribute>)
for $d in $c/*
where(not(exists($d/*)))
return(<attribute dbname="n k2 ( .[$ / ()])� d nmtoken ">{$d/text()}</attribute>)
</entity>)
}</insert>
178 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2
<update>{
for $c in $b, $d in $a
where $c/@ID=$d/@ID and exists(return(
for $e in $c/@*, $f in $d/@*
where $e/nmtoken()=$f/nmtoken() and $e/text()!=$f/text()
return (<dummy/>)
for $e in $c/*, $f in $d/* where (not exists($e/*))
and $e/nmtoken()=$f/nmtoken() and $e/text()!=$f/text()
return (<dummy/>)
))
return(<entity dbname="n k2 ( )� " key="n k2 ( . )� ID " ID="{$c/@ID/text()}">
for $e in $c/@*, $f in $d/@*
where $e/nmtoken()=$f/nmtoken() and $e/text()!=$f/text()
return(<attribute dbname="n k2 ( .[$ / ()])� e nmtoken ">{$e/text()}</attribute>)
for $e in $c/*, $f in $d/* where (not exists($e/*))
and $e/nmtoken()=$f/nmtoken() and $e/text()!=$f/text()
return(<attribute dbname="n k2 ( .[$ / ()])� e nmtoken ">{$e/text()}</attribute>)
</entity>)
}</update>
}</result>
 ðåçóëüòàòå âûïîëíåíèÿ îïèñàííîãî çàïðîñà äëÿ òåêóùåãî ñèìâîëà � k ïðà-
âèëüíîé öåïî÷êè ïîäñõåìû � ôîðìèðóåòñÿ XML-äîêóìåíò ñ òðåìÿ ðàçäåëàìè:
<delete> (óäàëèòü), <insert> (âñòàâèòü), <update> (èçìåíèòü), â êîòîðûõ ïåðå÷èñëå-
íû ýêçåìïëÿðû ÁÄ è àòðèáóòû, ïîäëåæàùèå ìîäèôèêàöèè íà äàííîì øàãå. Äëÿ
âñòàâêè ñîõðàíÿåòñÿ òàêæå èíôîðìàöèÿ îá ýêçåìïëÿðå íà ïðåäûäóùåì óðîâíå èå-
ðàðõèè. Ñîáñòâåííûé èäåíòèôèêàòîð çàïèñè âûâîäèòñÿ â ýòîì ñëó÷àå òîëüêî äëÿ
îáåñïå÷åíèÿ ññûëî÷íîé öåëîñòíîñòè íà ñëåäóþùèõ óðîâíÿõ èåðàðõèè (äëÿ ñëåäóþ-
ùåãî ñèìâîëà öåïî÷êè �, åñëè îí åñòü). Çàïðîñ ðàáîòàåò äëÿ XML-ïðåäñòàâëåíèé
ñ àòðèáóòàìè ÁÄ êàê â ôîðìå ýëåìåíòîâ, òàê è â ôîðìå àòðèáóòîâ XML.
3. ÏÐÈÌÅÍÅÍÈÅ XML-ÏÐÅÄÑÒÀÂËÅÍÈÉ ÄËß ÈÍÒÅÃÐÀÖÈÈ
ÄÀÍÍÛÕ Â ÏÐÎÌÛÑËÎÂÎÉ ÃÅÎÔÈÇÈÊÅ
Îáðàáîòêà è èíòåðïðåòàöèÿ ãåîôèçè÷åñêèõ äàííûõ — ñëîæíûé ïðîöåññ, âêëþ-
÷àþùèé íåñêîëüêî óðîâíåé äåòàëèçàöèè. Íà êàæäîì óðîâíå ïðèìåíÿþòñÿ
îòäåëüíûå ìåòîäû èññëåäîâàíèÿ, òåõíîëîãèè îáðàáîòêè è èíòåðïðåòàöèè, ïðî-
ãðàììíûå ðåøåíèÿ, à äëÿ îáìåíà äàííûìè ìåæäó íèìè èñïîëüçóþòñÿ êàê âíóò-
ðåííèå, òàê è îòêðûòûå ôîðìàòû äàííûõ. Çàäà÷è èíòåðïðåòàöèè äàííûõ ãåîôè-
çè÷åñêèõ èññëåäîâàíèé â áîëüøèíñòâå ñëó÷àåâ îòíîñÿòñÿ ê êëàññó íåäîîïðåäå-
ëåííûõ ìíîãîïàðàìåòðè÷åñêèõ çàäà÷ ñ íåäîñòîâåðíûìè âõîäíûìè äàííûìè,
ïîýòîìó ãåîëîãî-ãåîôèçè÷åñêèå èññëåäîâàíèÿ ïðåäñòàâëÿþò ñîáîé èòåðàòèâíûé
ïðîöåññ. Â ñâÿçè ñ ïîñòóïëåíèåì äîïîëíèòåëüíîé èíôîðìàöèè ðåãóëÿðíî ïðîâî-
äèòñÿ ïåðåèíòåðïðåòàöèÿ äàííûõ, ïåðåïîäñ÷åò çàïàñîâ è ò.ï. Ãåîôèçè÷åñêàÿ àï-
ïàðàòóðà, ìåòîäû èíòåðïðåòàöèè è ìåòîäû îáðàáîòêè äàííûõ ïîñòîÿííî ñîâåð-
øåíñòâóþòñÿ, ïîýòîìó îãðàíè÷èòüñÿ âíåäðåíèåì åäèíñòâåííîé ïðîãðàììíîé ñèñ-
òåìû ñ åäèíîé ÁÄ íåðåàëüíî.  äîáûâàþùèõ è ãåîôèçè÷åñêèõ êîìïàíèÿõ
ïðèíÿòî õðàíèòü âñå èñõîäíûå äàííûå è âàðèàíòû èõ èíòåðïðåòàöèè. Ê íàñòîÿ-
ùåìó âðåìåíè íàêîïëåíû îãðîìíûå îáúåìû òàêîé èíôîðìàöèè â âèäå ôàéëîâ è
ÁÄ ðàçëè÷íûõ ïðîãðàìì, ÷àñòî óñòàðåâøèõ. Àêòóàëüíîé çàäà÷åé ÿâëÿåòñÿ ñîçäà-
íèå è ïîääåðæêà èíôîðìàöèîííûõ õðàíèëèù ãåîôèçè÷åñêîé èíôîðìàöèè [20].
Èíôîðìàöèîííîå õðàíèëèùå äîëæíî îáåñïå÷èâàòü åäèíóþ, ïîëíîöåííóþ, ñèñòå-
ìàòèçèðîâàííóþ è íåïðîòèâîðå÷èâóþ ñîâîêóïíîñòü äàííûõ, èçâëå÷åííûõ èç ðàç-
ëè÷íûõ èñòî÷íèêîâ è ñòàâøèõ äîñòóïíûìè êîíå÷íûì ïîëüçîâàòåëÿì äëÿ
ïîíèìàíèÿ è ïðèìåíåíèÿ.
Äëÿ ñèíõðîíèçàöèè ãåîôèçè÷åñêèõ äàííûõ ìåæäó ðàçëè÷íûìè ÁÄ, â ÷àñòíîñ-
òè ñ öåëüþ ïîääåðæêè èíôîðìàöèîííîãî õðàíèëèùà, XML îáëàäàåò ðÿäîì âàæíûõ
ïðåèìóùåñòâ ïî ñðàâíåíèþ ñ òàáëèöàìè ÁÄ:
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 179
� èåðàðõè÷åñêàÿ ñòðóêòóðà XML-äîêóìåíòîâ ñîîòâåòñòâóåò îáùåé èåðàðõè÷åñ-
êîé ñòðóêòóðå ãåîôèçè÷åñêèõ äàííûõ (ðåãèîí-ìåñòîðîæäåíèå-êóñò-ñêâàæè-
íà-ñòâîë-èññëåäîâàíèå) è îáëåã÷àåò ïðåäñòàâëåíèå ìíîãîîáðàçèÿ âëîæåííûõ èå-
ðàðõèé íà îäíîì óðîâíå (ñ ìåñòîðîæäåíèåì ñâÿçàíû ïëàñòû, ðàçëîìû, ñêâàæèíû,
ñåéñìè÷åñêèå èññëåäîâàíèÿ è ò.ï., â ñâîþ î÷åðåäü ñòðóêòóðèðîâàííûå); ðåëÿöèîí-
íàÿ ìîäåëü «ïåðåâîðà÷èâàåò» ýòó èåðàðõèþ, òàê êàê ñâÿçè 1:N ðåàëèçóþòñÿ âíåøíè-
ìè êëþ÷àìè è îãðàíè÷åíèÿìè öåëîñòíîñòè, è ðàçáèâàåò íà ôðàãìåíòû, ïîñêîëüêó
ïðåäñòàâëåíèå âñåé áàçû äàííûõ îäíèì «ñóïåðîòíîøåíèåì» íåýôôåêòèâíî;
� êîíñòðóêöèÿ «//» XQuery ïîçâîëÿåò èñêàòü äàííûå íà ëþáîì óðîâíå èåðàðõèè
áåç äåòàëüíîé ñïåöèôèêàöèè ïóòè; â SQL-çàïðîñàõ íåîáõîäèìî ó÷èòûâàòü âñå ïðîìå-
æóòî÷íûå óðîâíè èåðàðõèè, ò.å. äåòàëüíî çíàòü ñõåìó êàæäîãî èñòî÷íèêà äàííûõ;
� XQuery ïîçâîëÿåò ïåðåíîñèòü âëîæåííûå èåðàðõèè öåëèêîì; â ðåëÿöèîííûõ
áàçàõ äëÿ ðåàëèçàöèè îäíîé òàêîé îïåðàöèè íóæíî íàïèñàòü ïðîöåäóðó, ñîñòîÿ-
ùóþ èç ñïåöèàëüíîé ïîñëåäîâàòåëüíîñòè çàïðîñîâ;
� òðàäèöèîííûå êëèåíò-ñåðâåðíûå èíòåðôåéñû ÑÓÁÄ òðåáóþò íàëè÷èÿ ñïåöèàëü-
íîãî ïðîãðàììíîãî îáåñïå÷åíèÿ äëÿ äîñòóïà ê ÁÄ (äðàéâåðîâ, áèáëèîòåê). Äëÿ èíòåãðà-
öèè äàííûõ äâóõ ðàçíûõ ÁÄ íåîáõîäèìî îðãàíèçîâàòü ñîâìåñòíóþ ðàáîòó ñ äâóìÿ
ÑÓÁÄ. XML-ïðåäñòàâëåíèÿ ïîñòðîåíû ïî ïðèíöèïó «òîíêîãî êëèåíòà» — íå òðåáóþò
àäìèíèñòðèðîâàíèÿ è ñïåöèàëüíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ íà ñòîðîíå êëèåíòà;
� ðåàëèçîâàòü ýêñïîðò â XML äàííûõ ëþáîãî èçâåñòíîãî ôîðìàòà, êàê è ýêñïîðò
XML èç ïðîãðàìì, ïîääåðæèâàþùèõ ãåíåðàöèþ òåêñòîâûõ îò÷åòîâ, ãîðàçäî ëåã÷å,
÷åì îáåñïå÷èòü äîñòóï ê òàêèì äàííûì â SQL (íàïðèìåð, ïóòåì ðàçðàáîòêè ODBC-
èëè OLE-DB-ïðîâàéäåðà); â ãåîôèçè÷åñêèõ ôàéëîâûõ àðõèâàõ òàêèå ñïåöèàëüíûå äàí-
íûå ïðåîáëàäàþò, ïðåäâàðèòåëüíîå ñîõðàíåíèå âñåõ äàííûõ ôàéëà â îäèí XML-äîêó-
ìåíò óìåíüøàåò ðèñêè ðàññîãëàñîâàíèÿ äàííûõ è ïîòåðè ÷àñòè èíôîðìàöèè;
� XML — îñíîâà ìåæïðîãðàììíîãî âçàèìîäåéñòâèÿ ñîãëàñíî ìåæäóíàðîäíûì
ñòàíäàðòàì ebXML (ISO/TS 15000:2004) è OpenXML (ECMA 376).
 ðàìêàõ îïèñàííîé çàäà÷è èíòåãðàöèè äàííûõ öåëåñîîáðàçíî ïðåíåáðå÷ü
ïðîèçâîäèòåëüíîñòüþ (ñêîðîñòüþ âûïîëíåíèÿ àâòîìàòè÷åñêèõ îïåðàöèé) ðàäè ñíè-
æåíèÿ îáúåìà ðó÷íîãî òðóäà. ×àñòî àðõèâíûå ñèñòåìû ÁÄ óñïåâàþò ìîðàëüíî
óñòàðåòü äî òîãî, êàê â íèõ óäàåòñÿ îðãàíèçîâàòü èíôîðìàöèîííûé ïîèñê ïî äåñÿò-
êàì èëè ñîòíÿì òûñÿ÷ ñêâàæèí ãåîôèçè÷åñêîãî àðõèâà.
Ðàññìîòðèì âàðèàíò èñïîëüçîâàíèÿ XQuery äëÿ ñâåäåíèÿ ê óíèôèöèðîâàííîé
ôîðìå äàííûõ XML-ïðåäñòàâëåíèé ðàçëè÷íûõ ÁÄ íà ïðèìåðå èíòåãðàöèè äàííûõ ïà-
êåòîâ «ÃåîÏîèñê» [21] (ÑÓÁÄ «ÌèêðîÏîèñê»), è «Tesseral Pro» (ÑÓÁÄ Microsoft SQL
Server 2003). Ýêñïîðò XML-äîêóìåíòîâ, ôðàãìåíòû êîòîðûõ ïîêàçàíû íà ðèñ. 2, âû-
ïîëíåí ñ ïîìîùüþ ïðîãðàììû «Ñåëåêòîð». Èçâåñòíû íåñêîëüêî ðåàëèçàöèé XQuery:
Saxon [22]), Galax [23], Quizx [24], SEDNA [25]. Äëÿ âûïîëíåíèÿ XQuery-çàïðîñîâ èñ-
ïîëüçîâàí Saxon. Íà ðèñ. 3 ïðèâåäåí XQuery-çàïðîñ, íàïèñàííûé äëÿ èõ èíòåãðàöèè.
180 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2
Ðèñ. 2. XML-äîêóìåíòû äëÿ ÁÄ: à — ìåñòîðîæäåíèå-ñêâàæèíà-êàðîòàæ; á — ìåñòîðîæäåíèå–
ñêâàæèíà–ïðîïëàñòêè
a á
ÇÀÊËÞ×ÅÍÈÅ
ßçûê ER-QBE íà îñíîâå ãðàôîâûõ çàïðîñîâ îáåñïå÷èâàåò èíòóèòèâíûé âèçóàëü-
íûé ñïîñîá ñïåöèôèêàöèè XML-ïðåäñòàâëåíèé ðåëÿöèîííûõ, îáúåêòíî-ðåëÿöè-
îííûõ è îáúåêòíî-îðèåíòèðîâàííûõ ÁÄ. Ãðàôîâûå çàïðîñû îáëàäàþò ïîëíîòîé
ñ òî÷êè çðåíèÿ âûäåëåíèÿ èåðàðõè÷åñêè-óïîðÿäî÷åííûõ ôðàãìåíòîâ ÁÄ íà îñíî-
âå ER-ïîäîáíîé êîíöåïòóàëüíîé ìîäåëè. ER-QBE ïðîñòî è ýôôåêòèâíî ðåàëèçó-
þòñÿ â ëþáîé ÑÓÁÄ ñ SQL-ïîäîáíûì ÿçûêîì çàïðîñîâ. Ðåàëèçàöèÿ ER-QBE àâ-
òîìàòè÷åñêè îáåñïå÷èâàåò âîçìîæíîñòü îáíîâëåíèÿ ÁÄ íà îñíîâå èçìåíåíèÿ
XML-ïðåäñòàâëåíèé, â ñî÷åòàíèè ñ SQL/XML ïîääåðæèâàåò äèíàìè÷åñêèå
XML-ïðåäñòàâëåíèÿ. Ñîâìåñòíîå èñïîëüçîâàíèå ãðàôîâûõ çàïðîñîâ è XQuery
ïîçâîëÿåò ñóùåñòâåííî óïðîñòèòü èíòåãðàöèþ äàííûõ ðàçíûõ ÁÄ, ïîääåðæêó ñî-
ãëàñîâàíèÿ äàííûõ â èíôîðìàöèîííûõ õðàíèëèùàõ. Ðåàëèçàöèÿ ER-QBE â ñî-
ñòàâå ÑÓÁÄ «ÌèêðîÏîèñê» îïðîáîâàíà â çàäà÷àõ èíòåãðàöèè ãåîôèçè÷åñêèõ
äàííûõ. Â õîäå äàëüíåéøåãî èññëåäîâàíèÿ ïðåäñòàâëÿåò èíòåðåñ ðàññìîòðåíèå
âîçìîæíîñòè ïðèìåíåíèÿ ãðàôîâûõ çàïðîñîâ äëÿ ñïåöèôèêàöèè ïðåîáðàçîâàíèÿ
XML-äîêóìåíòîâ ñðåäñòâàìè XQuery.
ÏÐÈËÎÆÅÍÈÅ
Äîêàçàòåëüñòâî òåîðåìû 1. Ðàññìîòðèì ïðîèçâîëüíóþ ãðàììàòèêó ÑÑÑ �. Ïîñ-
òðîèì ïî L* ( )� ãðàô ïåðåõîäîâ àâòîìàòà â âèäå äåðåâà ñ âåòâÿìè, ñîîòâåòñòâóþ-
ùèìè ïðàâèëüíûì öåïî÷êàì. Ïî ïîñòðîåíèþ îí ÿâëÿåòñÿ ÑÑÑ. ßçûê ãðàììàòèêè
Ã1 ïî ïîñòðîåíèþ — ñîêðàùåíèå ÿçûêà ãðàììàòèêè � � �: ( ) ( )*L L� 1 .
Ïîêàæåì, ÷òî ëþáàÿ ãðàììàòèêà ÑÑÑ ñ êîíå÷íûì ÿçûêîì èìååò ïîëíóþ ïîä-
ñõåìó ñ êîíå÷íûì ÿçûêîì. Äëÿ ýòîãî äîñòàòî÷íî ïðèâåñòè àëãîðèòì ïîñòðîåíèÿ òà-
êîé ïîäñõåìû. Îáîçíà÷èì k-é ñèìâîë òåðìèíàëüíîé öåïî÷êè �
L( )�1 êàê � k . Ðàñ-
ñìîòðèì ïàðû âèäà o f k n o n f kk k� �[ ( ), ], ( ) [ ( ( )), ]� � â êà÷åñòâå ñèìâîëîâ
àëôàâèòà ñ èíäåêñîì k. Ïóñòü
�2 2 2� �
� �( ( ) |
~
,N n o o O N A{ } { }
T O B N2 � � �( )
~
, A P P P P PE E L L2 2 2 2 2 2, )* *
� � � � ,
ãäå
~
N — ìíîæåñòâî öåëûõ ÷èñåë,
P p A f x n f x L xE x2
2
2 1 11 2�
� �{ }: [ ( ), ] ([ ( ), ]) | ( )� �� ,
P p A f x L xE x2
2
2 1 11* : [ ( ), ] | ( )�
� �{ }� �� ,
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 181
Ðèñ. 3. Èíòåãðàöèÿ äàííûõ ñèñòåì «ÃåîÏîèñê» è «Tesseral Pro»: à — XQuery-çàïðîñ; á — ðåçóëüòàò
èíòåãðàöèè XML-äîêóìåíòîâ
áa
P p n f n X k f y n f n Z kL y2
2 1 11 1� �
� �{ : ([ ( ( )), ]) [ ( ), ] ([ ( ( )), ]) | ( )�
�L �1
� � �
y X yZ Pk L� ( ) 1},
P p n f n X k f y L yL y k2
2 1
11* : ([ ( ( )), ]) [ ( ), ] | ( ) (�
� � �
�{ � �� X y PL
) *
1}.
Ïîìåòèì êàæäóþ ïðîäóêöèþ åå íèæíèì èíäåêñîì — òåðìèíàëüíûì ñèìâî-
ëîì ñîîòâåòñòâóþùåé ïðîäóêöèè èç �1.
Óñëîâèÿ 1–5 ïîäñõåìû îáåñïå÷èâàþòñÿ äëÿ �2 ïî ïîñòðîåíèþ.
Åñëè öåïî÷êà �
L( )�1 è � �� , ïî ïîñòðîåíèþ �
L( )�1 . Òàê êàê ÿçûê L( )�1 êî-
íå÷íûé, äëèíà öåïî÷åê îãðàíè÷åíà ñâåðõó. Òàêèì îáðàçîì, èíäåêñû íåòåðìèíàëîâ �2
îãðàíè÷åíû. Åñëè ïðîäóêöèÿ �2 ñîäåðæèò â ïðàâîé ÷àñòè íåòåðìèíàë, åãî èíäåêñ íà
åäèíèöó ïðåâîñõîäèò èíäåêñ íåòåðìèíàëà â åå ëåâîé ÷àñòè. Îòñþäà ñëåäóåò, ÷òî äëèíà
öåïî÷åê, âûâîäèìûõ â �2 , îãðàíè÷åíà. Ñëåäîâàòåëüíî, ÿçûê L( )�2 — êîíå÷íûé.
Äîêàæåì, ÷òî ëþáîé òåðìèíàëüíîé öåïî÷êå � ãðàììàòèêè �1 ñîîòâåòñòâóåò õîòÿ
áû îäíà ïîñëåäîâàòåëüíîñòü ïðîäóêöèé �2 , âûâîäÿùàÿ òåðìèíàëüíóþ öåïî÷êó. Äëÿ
öåïî÷åê èç îäíîãî ñèìâîëà ýòî óòâåðæäåíèå î÷åâèäíî. Ïóñòü îíî î÷åâèäíî äëÿ öåïî-
÷åê äëèíîé k. Äëÿ | |� � �k 1 çàìåíèì ïîñëåäíþþ ïðîäóêöèþ â ïîñëåäîâàòåëüíîñòè,
âûâîäÿùåé öåïî÷êó, ñîîòâåòñòâóþùóþ � � �1 2 . . . k , íà ïàðíóþ ê íåé ñ íåòåðìèíàëîì â
ïðàâîé ÷àñòè. Ïî ïîñòðîåíèþ �2 ñîäåðæèò ïðîäóêöèþ, ïðèâîäÿùóþ ïîñëåäíèé íå-
òåðìèíàë ê òåðìèíàëüíîìó ñèìâîëó. Ïî èíäóêöèè �2 ÿâëÿåòñÿ ïîëíîé ïîäñõåìîé �1.
Òåîðåìà äîêàçàíà.
Äîêàçàòåëüñòâî òåîðåìû 2. Äîñòàòî÷íî ïðèâåñòè àëãîðèòì ïîñòðîåíèÿ ÃÇ,
óäîâëåòâîðÿþùåãî óñëîâèþ äàííîé òåîðåìû. Ðàçîáüåì èñõîäíîå ìíîæåñòâî öåïî÷åê
L� ( )�1 íà îäíîòèïíûå ãðóïïû. Äëÿ ýòîãî êàæäîé öåïî÷êå ýêçåìïëÿðîâ � ñîïîñòàâèì
òàêóþ öåïî÷êó êëàññîâ �, ÷òî � �k kf� ( ) , è îòíåñåì ê îäíîé ãðóïïå s� âñå öåïî÷êè
�
�L ( )�1 , ñîïîñòàâëåííûå �. Ðàññìîòðèì ãðàô ïåðåõîäîâ àâòîìàòà â âèäå äåðåâà ñ
âåòâÿìè, ñîîòâåòñòâóþùèìè èçáðàííûì èç êàæäîé ãðóïïû ïðåäñòàâèòåëÿì. Ïî ïî-
ñòðîåíèþ îí ÿâëÿåòñÿ ÑÑÑ ñ êîíå÷íûì ÿçûêîì. Îáîçíà÷èì ñîîòâåòñòâóþùóþ ãðàì-
ìàòèêó �2 ; åå ìîæíî âûáðàòü â êà÷åñòâå ïîëíîé ïîäñõåìû �1 ïî îïðåäåëåíèþ. Ïî
ïîñòðîåíèþ L( )�2 ñîäåðæèò ðîâíî îäíó öåïî÷êó äëÿ êàæäîé òåðìèíàëüíîé âåðøè-
íû. Íàãðóçèì ýòó öåïî÷êó � îãðàíè÷åíèåì íà ÿçûêå âìåùàþùåé ÑÓÁÄ òàê, ÷òîáû
çàïðîñ, ïîñòðîåííûé ïî îïèñàííûì â ï. 2.2 ïðàâèëàì, îïèñûâàë ïîäìíîæåñòâî
s L�
� ( )�1 . Ýòî âîçìîæíî ïî óñëîâèþ. Ñîïîñòàâèì ïîëó÷åííîå îãðàíè÷åíèå òåðìè-
íàëüíîé âåðøèíå �2 , ñîîòâåòñòâóþùåé ïîñëåäíåìó ñèìâîëó öåïî÷êè �. Ïîëó÷åí-
íûé ÃÇ íàçîâåì G2 2� ( , )� � . Îáîçíà÷èì ìíîæåñòâî öåïî÷åê G2 êàê M G( )2 . Ïî
ïîñòðîåíèþ ( ( ) ( )M G L2 1� � � . Äîïóñòèì, �
� � �� �L M G( ) ( )�1 2 .  ñèëó òîãî, ÷òî
�2 — ïîëíàÿ ïîäñõåìà, òåðìèíàëüíîé öåïî÷êå � ñîîòâåòñòâóåò ðîâíî îäíà òåðìè-
íàëüíàÿ öåïî÷êà �
L( )�2 . Ñëåäîâàòåëüíî, � íå óäîâëåòâîðÿåò åäèíñòâåííîìó óñëî-
âèþ, îïèñûâàþùåìó s� . Ïîëó÷åíî ïðîòèâîðå÷èå.
Òåîðåìà äîêàçàíà.
ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ
1. B r a y T . , P a o l i J . Extensible Markup Language (XML) 1.0 (2nd Edition) / Sperberg-McQueen (Eds).
— W3C Recommendation. (http://www.w3.org/TR/2000/REC-xml-20001006)
2. L e e D . , C h u W . Comparative analysis of six XML schema languages // ACM SIGMOD Record. —
2000. — N 29. — P. 76–87.
3. S h a n m u g a s u n d a r a m J . , S h e k i t a E . , B a r r R . e t a l . Efficiently publishing relational data
as XML documents // Proc. of VLDB. — Cairo, Egipt: ACM SIGMOD, 2000. — P. 65–76.
4. C a r e y M . , F l o r e s c u D . , I v e s Z . e t a l . XPERANTO: Publishing object-relational data as XML
// Informal Proc. of WebDB 2000. — Dallas, USA: ICM SIGMOD, 2000. — P. 105–110.
5. R y s M . Bringing the internet to your database: using SQLServer 2000 and XML to build loosely-coupled
systems // Proc. of ICDE’01. — Heidelberg, Germany: IEEE Comp. Soc., 2001. — P. 465–472.
6. www.sqlxml.org.
182 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2
7. D e u t s c h A . , F e r n a n d e z M . , F l o r e s c u D . e t a l . A query language for XML // Proc. of
WWW8. — Toronto, Canada: CNRC, 1999. — P. 77–91.
8. C h a m b e r l i n D . , F l o r e s c u D . , R o b i e J . e t a l . XQuery: a query language for XML. — 2001.
(http://www.w3.org/TR/query)
9. R o d r i g u e z - G i a n o l l i P . , M y l o p o u l o s J . A semantic approach to XML-based data integration
// Proc. of ER’01. — Yokohama, Japan: Springer-Verlag, 2001. — P. 117–132.
10. L e e D . , M a n i M . , C h i u F . e t a l . NeT and CoT: Translating relational schemas to XML schemas
using semantic constraints // Proc. of ACM CIKM. — McLean, Virginia, USA: ACM SIGMOD, 2002. —
P. 206–217.
11. Ñ à ì î õ â à ë î â Í . À . Ïîääåðæêà îáíîâëåíèé XML-ïðåäñòàâëåíèé íàä ðåëÿöèîííûìè áàçàìè //
Ïðîáë. ïðîãðàììèðîâàíèÿ — 2006. — ¹ 2–3. — Ñ. 455–457.
12. Ã ð å ÷ ê î Â . Î . , Ò ó ë ü ÷ è í ñ ê è é Â . Ã . , Ò ó ë ü ÷ è í ñ ê è é Ï . Ã . Îò QBE ê ãðàôîâûì çàïðîñàì
// Òð. VI Ìåæäóíàð. êîíô. «Çíàíèå–Äèàëîã–Ðåøåíèå». — Êèåâ: Àññîöèàöèÿ ñîçäàòåëåé è
ïîëüçîâàòåëåé èíòåëëåêòóàëüíûõ ìàøèí, 1997. — Ò. 1. — Ñ. 216–224.
13. Ò ó ë ü ÷ è í ñ ê è é Â . Ã . , Ò ó ë ü ÷ è í ñ ê è é Ï . Ã . Ãðàôîâûé ïðîòîòèï ïðèëîæåíèÿ // Ïðîáë.
ïðîãðàììèðîâàíèÿ. — 2002. — ¹ 1-2. — Ñ. 489–498.
14. A g r a w a l S . , C h a u d h u r i S . , N a r a s a y y a V . Automated selection of materialized views and in-
dexes in SQL databases // Proc. of VLDB, 2000. — Cairo, Egypt: VLDB, 2000. — P. 496–505.
15. M i l l e r R . J . , H a a s L . , H e r n a n d e z M . A . Schema mapping as query discovery // Proc. of
VLDB, 2000. — Cairo, Egypt: VLDB, 2000. — P. 227–236.
16. Z l o o f M . M . Query by Example // Proc. of AFIPS, 1975. — Anaheim, CA, USA: AFIPS, 1975. —
N 44. — P. 431–438.
17. Ò ó ë ü ÷ è í ñ ê è é Â . Ã . , Ò ó ë ü ÷ è í ñ ê è é Ï . Ã . Ãðàôîâûå çàïðîñû äëÿ èíòåãðàöèè äàííûõ
ïîñðåäñòâîì XML // Òð. III Ìåæäóíàð. êîíô. «Òåîðåòè÷í³ òà ïðèêëàäí³ àñïåêòè ïîáóäîâè
ïðîãðàìíèõ ñèñòåì». — Êèåâ: Êè¿â. íàö. óí-ò ³ì. Ò.Ã. Øåâ÷åíêà. — 2006. — Ò. 1. — Ñ. 92–95.
18. B r a g a n h o l o V . On Updatability of XML Views over Relational Databases // Proc. of WebDB 2003.
— 2003. (http://www.cse.ogi.edu/webdb03/presentations/06.pdf)
19. D e u t s c h A . , F e r n a n d e z M . , F l o r e s c u D . e t a l . A query language for XML // Proc. of
WWW8. — Toronto, Canada: CNRC, 1999. — P. 77–91.
20. Ã ð å ÷ ê î Â . Î . , Ò ó ë ü ÷ è í ñ ê è é Â . Ã . , Ò ó ë ü ÷ è í ñ ê è é Ï . Ã . , Õ à ð ÷ å í ê î À . Â .
Èíôîðìàöèîííûå õðàíèëèùà â ïðîìûñëîâîé ãåîôèçèêå // Ïðîáë. ïðîãðàììèðîâàíèÿ. — 2000. —
¹ 1–2. — Ñ. 81–90.
21. www.geopoisk.com.
22. saxon.sourceforge.net.
23. www.galaxquery.org.
24. www.axyana.com/xquest.
25. modis.ispras.ru/sedna/index.htm.
Ïîñòóïèëà 16.05.2007
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 2 183
|