pobierz plik referatu

Transkrypt

pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 44
w
Grupowanie dokumentów XML ze względu na ich
strukturę, z wykorzystaniem XQuery
w
1 Wstęp
da
.b
w
Streszczenie. Popularność języka XML oraz jego powszechne użycie spowodowały rozwój systemów przechowujących dokumenty XML. Istnieje więc
możliwość implementacji algorytmów eksploracji danych w bazach danych
XML. Opracowanie przedstawia analizę metod grupowania dokumentów
XML ze względu na ich strukturę oraz wnioski z implementacji jednego
z rozwiązań w środowisku bazy danych XML, w języku XQuery.
pl
s.
XML (ang. eXtensible Markup Language) [14] jest od kilku lat powszechnie wykorzystywanym standardem strukturalnego opisu danych. Duża popularność standardu i jego liczne
zastosowania stworzyły potrzebę wykorzystania systemów składowania i przetwarzania
dokumentów XML oraz zawartej w nich informacji. W odpowiedzi na istniejące zapotrzebowanie zaczęły powstawać nowe systemy zarządzania bazami danych dedykowane dla
XML, a funkcjonalność istniejących systemów relacyjnych baz danych jest stopniowo dostosowywana do specyfiki standardu XML [3], [12]. Stale rosnąca liczba dokumentów
XML oraz istnienie poważnych systemów pozwalających na ich składowanie sprawia, że
coraz bardziej interesujące staje się zastosowanie algorytmów eksploracji danych do dokumentów XML. Interesująca może być również ocena zastosowania do eksploracji danych
istniejących w bazach danych XML narzędzi oraz implementowanych w nich standardów
związanych z przetwarzaniem dokumentów XML, takich, jak np. język zapytań XQuery
[15].
W przypadku dokumentów XML analizie mogą podlegać zarówno dane opisane w dokumencie jak i same dokumenty XML traktowane jako szczególna postać danych o charakterystycznej drzewiastej strukturze.
Jedną z metod eksploracji danych, która ma zastosowanie do dokumentów XML jest
grupowanie dokumentów XML ze względu na ich strukturę. Analizy tego typu mogą mieć
następujące zastosowania:
− tworzenie indeksów w systemach zarządzania bazami danych dedykowanymi dla
XML,
− automatyczna ekstrakcja definicji typu dokumentu (DTD) lub jego schematu (XML
Schema),
Michał Kozielski: Politechnika Śląska, Instytut Informatyki,
ul. Akademicka 16, 44-100 Gliwice, Polska
email: [email protected]
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Kozielski
w
− podniesienie efektywności transformacji danych ze struktury dokumentu XML do
struktury relacyjnej bazy danych [10],
− wstępne grupowanie dokumentów XML wyszukiwanych w sieci Internet w celu ich
dalszego przetworzenia,
− wyszukiwanie źródeł takiej samej informacji w sieci Internet,
− analiza struktur proteinowych, danych geoprzestrzennych lub innych danych o strukturze hierarchicznej opisanych, w drzewiastej strukturze dokumentu XML.
W dalszej części rozdziału przedstawione są metody stosowane do grupowania dokumentów XML względem ich struktury (podrozdział 2) oraz szersze omówienie metody wybranej do implementacji z wykorzystaniem języka XQuery (podrozdział 3). Przedstawioną
analizę kończą wyniki przeprowadzonych badań oraz wyciągnięte wnioski.
w
2 Grupowanie dokumentów XML ze względu na ich strukturę
da
.b
w
Rezultat wykonanego grupowania dokumentów XML względem ich struktury zależy od
następujących czynników:
− od metody wyznaczania podobieństwa lub odległości między dokumentami,
− od metody grupowania wykorzystanej do wyznaczenia grup dokumentów XML.
Kolejne punkty przedstawiają metody wykorzystywane do realizacji wymienionych zagadnień.
2.1 Wyznaczanie podobieństwa struktury dokumentów XML
∑∑ δ (doc
Ci
dist (Ci , C j ) =
Cj
Ci
k
k =1 l =1
Ci C j
pl
s.
Metody wyznaczania podobieństwa struktury dokumentów XML można podzielić na wykorzystujące odległość transformacji (ang. edit distance) pomiędzy dokumentami XML
oraz wykorzystujące odległość wyznaczaną na podstawie kodowania dokumentów XML.
Odległość między dwoma dokumentami XML, zwana odległością transformacji (ang.
edit distance) [11], wyznaczana jest poprzez określenie, jaka liczba i jaki rodzaj modyfikacji jednego z dokumentów jest potrzebna do stworzenia dokumentów sobie równoważnych.
Dla tej metody wartość odległości między dwiema grupami dokumentów, która może być
wykorzystana w algorytmie grupowania wyznaczana jest zgodnie ze wzorem:
Cj
, docl
)
(1)
gdzie δ oznacza sumaryczny koszt wykonanych operacji dla porównywanych dokumentów, dockCi określa k-ty dokument w grupie Ci, |Ci| oznacza liczbę dokumentów w grupie
Ci.
Metody podobne lub rozwijające podejście zaprezentowane w [11] przedstawione są
w [1], [8]
Przykładem odmiennego podejścia do wyznaczania odległości między dokumentami
XML są prezentowane w literaturze [4], [10], [18] metody wykorzystujące analizę wektora
cech odzwierciedlającego strukturę dokumentu.
Metoda zaprezentowana w [4] sprowadza grupowanie dokumentów XML względem
struktury do analizy porównawczej sygnałów. Wektor cech charakteryzujący strukturę do438
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery
w
kumentu XML wyznaczany jest jako szereg czasowy zawierający wartości odpowiadające
kolejno pojawiającym się w dokumencie elementom. Postać wektora cech jest wynikiem
złożenia dwóch funkcji, z których jedna definiuje sposób kodowania na poziomie znaczników, druga określa sposób kodowania na poziomie dokumentu. Podejście to pozwala na
uchwycenie cech dokumentu zarówno na poziomie poszczególnych elementów jak i na
poziomie globalnym całego dokumentu.
Odległość między dwoma dokumentami di i dj o strukturze zakodowanej jako sygnał jest
wyznaczana zgodnie z poniższym wzorem:
1
⎛M /2
2 ⎞2
dist (d i , d j ) = ⎜ ∑ ( [DFT (h1 )](k ) ) −( [DFT (h2 )](k ) ) ⎟
⎝ k =1
⎠
(2)
w
da
.b
w
gdzie DFT jest interpolacją transformaty Fouriera do wyznaczonych dla obydwu dokumentów częstotliwości, M jest całkowitą liczbą interpolowanych punktów, h jest zakodowanym sygnałem.
Wektor cech odzwierciedlający strukturę dokumentu XML może mieć również postać
łańcucha bitów [10], [18], gdzie każdy bit odpowiada wystąpieniu lub braku wystąpienia
w strukturze analizowanego dokumentu wybranego fragmentu struktury XML. Wektor
cech dokumentu XML może być w takim przypadku tworzony np. na podstawie występujących w dokumencie ścieżek (ang. path-based method) lub par węzłów (ang. nodepairbased method). Odległość dwóch dokumentów XML może zostać dla tak przedstawionych
metod wyznaczona zgodnie z jednym z poniższych wzorów:
dist (d i , d j ) =
xOR(d i , d j )
(
max d i , d j
)
(3)
gdzie |xOR(di,dj)| oznacza liczbę ścieżek lub par węzłów, którymi różnią się dokumenty
di i dj, |di| oznacza liczbę jedynek występujących w wektorze cech dokumentu di,
dist (d i , d j ) = 1 −
di ∩ d j
(
max d i , d j
)
(4)
2.2 Wykorzystywane algorytmy grupowania
pl
s.
gdzie |di∩dj| oznacza liczbę wspólnych ścieżek lub par węzłów dla dokumentów di i dj,
|di| oznacza liczbę jedynek występujących w wektorze cech dokumentu di.
Mając możliwość mierzenia odległości między dokumentami XML można zastosować wybrany algorytm grupowania w celu wyznaczenia grup dokumentów. Do najpopularniejszych algorytmów grupowania danych należą algorytmy podziałowe oraz algorytmy hierarchiczne [6], [7], [9].
Algorytmy podziałowe cechuje mniejsza złożoność, jednakże dla danych o wymiarach
opisywanych przez wartości nieciągłe lub kategorie właściwsze może być użycie algorytmów hierarchicznych pozwalających na korzystanie jedynie z macierzy podobieństwa (ang.
similarity matrix).
Możliwe jest również wykorzystanie algorytmów stworzonych specjalnie dla danych,
których wymiary są opisane przy pomocy kategorii [1], [5].
439
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Kozielski
3 S-GRACE – algorytm grupowania dokumentów XML ze względu na
ich strukturę
w
Do analizy jakości grupowania dokumentów XML względem ich struktury wybrany został
algorytm S-GRACE [10] wykorzystujący bitowe kodowanie par węzłów [10] dokumentu
XML oraz algorytm grupowania ROCK [5]. Wybór algorytmu, który nie wymaga złożonych przekształceń matematycznych jest uzasadniony przez wykorzystanie do implementacji języka XQuery. Interesujące wydawało się również wykorzystanie algorytmu grupowania stworzonego dla danych opisanych przez kategorie.
w
3.1 Wyznaczanie wektorów cech jako łańcuchów bitów
Metoda wykorzystująca bitowe kodowanie par węzłów w dokumencie XML [10] definiuje
parę węzłów jako parę element-element w relacji rodzic-dziecko lub jako parę elementatrybut.
w
a)
da
.b
b)
<Pracownicy>
<Pracownik>
<Nazwisko> Jaworek </Nazwisko>
<PESEL> 56022812345 </PESEL>
<Zespol> Projektowania </Zespol>
</Pracownik>
</Pracownicy>
<Pracownicy>
<Pracownik>
<Nazwisko> Jaworek </Nazwisko>
<Data_ur> 28.02.1956 </Data_ur>
<Zespol> Projektowania </Zespol>
</Pracownik>
</Pracownicy>
Rys. 1. Przykładowe dokumenty XML
pl
s.
Przykładowo, dla dokumentów z rys. 1.a) i rys. 1.b) można wyróżnić następujące pary węzłów oraz odpowiadające im kodowanie dokumentów przedstawione w tabeli 1.
Tabela 1. Kodowanie par węzłów dla dokumentów przedstawionych na rys. 1
Para węzłów
Pracownicy -> Pracownik
Pracownik -> Nazwisko
Pracownik -> PESEL
Pracownik -> Data_ur
Pracownik -> Zespol
Dokument 1a
Dokument 1b
1
1
1
0
1
1
1
0
1
1
Algorytm grupowania dokumentów XML o tak wyznaczonych wektorach cech może wykorzystać odległość dokumentów obliczaną np. zgodnie ze wzorem (4).
440
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery
3.2 Grupowanie algorytmem ROCK
w
W przypadku bitowego kodowania dokumentu XML uzasadnione jest traktowanie dokumentu XML o pewnej strukturze jako obiektu danych opisanego nie w sposób numeryczny,
lecz przy pomocy kategorii. Przedstawione wcześniej algorytmy grupowania nie operują na
danych o atrybutach opisanych przez kategorie. Dane o takim charakterze mogą być grupowane stosując algorytm o nazwie ROCK zaproponowany w [5].
Algorytm ROCK działa podobnie do algorytmów hierarchicznych scalających traktując
początkowo każdy analizowany obiekt danych jako osobną grupę. W procesie grupowania,
do wyznaczenia grup, które mają zostać połączone, wykorzystuje on jednak nie odległość
między grupami, lecz liczbę wspólnych sąsiadów wyznaczoną dla każdej pary grup. Dwa
obiekty danych są sąsiadami, jeżeli ich podobieństwo jest większe od ustalonego progu θ.
Inicjalizacja algorytmu polega na wyznaczeniu listy wspólnych sąsiadów dla każdej pary
grupowanych obiektów danych. W każdym kroku algorytmu łączone są dwie grupy, dla
których największą wartość przyjmuje miara dobroci wyznaczana zgodnie ze wzorem:
w
w
g (Ci , Ci ) =
(n
i
+ nj )
link (Ci , Ci )
1+ 2 f (γ )
− ni
1+ 2 f (γ )
− nj
1+ 2 f (γ )
(5)
da
.b
gdzie link(Ci,Cj) jest liczbą wspólnych sąsiadów dla grup Ci oraz Cj, ni jest liczbą dokumentów tworzących grupę Ci. Mianownik przedstawionego wyrażenia jest heurystycznym
oszacowaniem spodziewanej liczby wspólnych sąsiadów dla rozważanych grup. Funkcja
f(γ) ma postać:
f (γ ) =
1− γ
1+ γ
(6)
gdzie γ jest dobieranym przez użytkownika parametrem.
Normalizacja w przedstawionym wzorze ma na celu zapobieganie niezrównoważonemu
scalaniu grup.
4 Wyniki
pl
s.
Algorytm S-GRACE został zaimplementowany w języku XQuery [15], [16], [17] w środowisku bazy danych XML X-Hive [13]. Testy działania algorytmu zostały przeprowadzone
na dwóch zbiorach danych: SIGMOD oraz RSS.
Zbiór danych SIGMOD, analogiczny do zbioru, na który powoływali się autorzy metody
S-GRACE [10], tworzyło 55 dokumentów XML zawierających dane artykułów, prac magisterskich i doktorskich, stron WWW i publikacji (ang. proceedings, inproceedings).
Algorytm utworzył 20 wektorów cech analizowanych dokumentów XML. Dwa wektory
cech zostały uznane za wartości skrajne, ponieważ nie posiadały wspólnych sąsiadów z innymi wektorami. Pozostałe wektory cech zostały prawidłowo rozdzielone na cztery grupy
zawierające artykuły, prace magisterskie, prace doktorskie, publikacje (proceedings). Cechą
charakterystyczną analizowanych dokumentów ze zbioru SIGMOD jest fakt, że zbiory par
węzłów tworzone dla poszczególnych grup danych (np. artykułów i prac doktorskich) są
rozłączne. Poprawny wynik grupowania należy w takim przypadku uznać za warunek konieczny, lecz niewystarczający dla zaakceptowania analizowanego algorytmu.
441
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Kozielski
Zbiór danych RSS tworzyło 39 dokumentów XML. RSS jest językiem znaczników wykorzystywanym do opisu krótkich wiadomości (ang. news) publikowanych przez portale
internetowe. Algorytm utworzył 14 wektorów cech analizowanych dokumentów XML.
Intuicyjnie można pogrupować otrzymane wektory cech w sposób przedstawiony na rys. 2.
a) lub b).
w
da
.b
w
w
a)
b)
Rys. 2. Intuicyjnie utworzone grupy wektorów cech dokumentów XML ze zbioru RSS
pl
s.
Wyniki grupowania algorytmem ROCK zależą od dwóch parametrów θ i γ. Proces grupowania został powtórzony wielokrotnie dla różnych wartości parametrów θ i γ w celu
wyznaczenia zależności wyników grupowania od tych wartości. Do porównania wyników
wykorzystany został parametr IS zaproponowany w [10] określający średnie podobieństwo
między parami utworzonych grup. Im mniejsza wartość parametru IS tym wyżej należy
ocenić rezultat grupowania.
W przeprowadzonych testach parametr γ nie wpływał w sposób znaczący na otrzymywane wyniki. Zależność jakości grupowania od wartości parametru θ przedstawiona jest na
rys. 3.
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
0,4
0,5
0,6
0,7
0,8
Wartość parametru theta
Rys. 3. Zależność wartości parametru jakości grup IS od parametru θ, dla γ=0,7
442
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery
Z przedstawionego wykresu wynika, że najlepszy efekt grupowania został otrzymany dla
wartości θ=0.6. Ilustracja otrzymanego podziału na grupy dla wartości θ=0.6 została
przedstawiona na rys. 4.
w
w
w
da
.b
Rys. 4. Rezultat podziału na grupy dla wartości θ=0,6, γ=0,7
Jak widać na powyższym rysunku otrzymany podział jest bardzo niezrównoważony i odbiega od oczekiwań przedstawionych na rys. 2. Porównanie wartości parametru IS dla rezultatów grupowania przedstawionych na rys. 3. z wartościami wyznaczonymi dla podziału
intuicyjnego zostało przedstawione na rys. 5.
0,7
0,6
0,5
0,4
0,3
0,1
0
0,4
0,5
0,6
0,7
pl
s.
0,2
Rys. 5. Porównanie wartości parametru jakości grup IS dla wyników algorytmu grupowania (kolor ciemniejszy) z wartościami wyznaczonymi dla grupowania intuicyjnego
Przedstawione porównanie nie wskazuje na znaczące różnice w rezultatach grupowania,
które w rzeczywistości istnieją. Porównanie zostało więc powtórzone z wykorzystaniem innego parametru jakości tworzonych grup. Nowy parametr, oznaczony jako ISIS, jest wyznaczany jako stosunek średniego podobieństwa par utworzonych grup do średniego podobieństwa wektorów wewnątrz grup. Im mniejsza wartość parametru ISIS tym wyżej należy
ocenić rezultat grupowania. Porównanie z rys. 5. powtórzone dla wartości parametru ISIS
przedstawione zostało na rys. 6.
443
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Kozielski
w
w
Rys. 6. Porównanie wartości parametru jakości grup ISIS dla wyników algorytmu grupowania (kolor ciemniejszy) z wartościami wyznaczonymi dla grupowania intuicyjnego
w
5 Wnioski
da
.b
Rezultaty przeprowadzonych badań pokazują, że zaimplementowana metoda grupowania
dokumentów XML względem ich struktury nie daje satysfakcjonujących rezultatów dla
wszystkich zbiorów analizowanych danych. Ponadto, zastosowany początkowo parametr
oceny jakości grup IS wydaje się być zbyt mało ekspresyjny, by można było w oparciu o jego wartości dokonywać doboru parametrów algorytmu. Zastosowanie innego parametru
oceny jakości grupowania, np. ISIS powinno pozwolić na lepsze sterowanie procesem grupowania.
Wykonana implementacja pozwala również na ocenę języka XQuery jako narzędzia do
analizy struktury dokumentów XML. Język ten nie spełnił pokładanych w nim nadziei, jego
użycie do grupowania dokumentu XML względem ich struktury nie było wygodne, a brak
definicji funkcji realizujących operacje matematyczne (np. potęgowanie) w znaczący sposób ogranicza jego wykorzystanie do implementacji przedstawionych algorytmów. Również warunki analizy rozbudowanego kodu, pomimo wykorzystania środowiska komercyjnej bazy danych, nie były niestety łatwe.
1.
2.
3.
4.
5.
6.
pl
s.
Literatura
Barbara D., Couto J., Li Y., COOLCAT: An entropy-based algorithm for categorical clustering,
CIKM’02, McLean, USA, ACM, 2002.
Dalamagas T., et al., Clustering XML Documents using Structural Summaries EDBT Workshop
on Clustering Information over the Web (ClustWeb04), Heraklion, Greece, 2004.
Duszeńko A., Kozielski M., w: Bazy danych XML, Bazy danych: Modele, technologie,
narzędzia, WKŁ, Warszawa, 2005.
Flesca S. et al., Fast Detection of XML Structural Similarity, IEEE Transactions on Knowledge
and Data Engineering, Vol. 17, No. 2, February 2004.
Guha S., Rastogi R., Shim K., ROCK: A Robust Clustering Algorithm for Categorical
Attributes, 15th International Conference on Data Engineering (ICDE'99), 1999.
Han J., Kamber M., Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers,
Academic Press, San Francisco, 2001.
444
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery
7.
8.
9.
10.
w
11.
Hand D., Mannila H., Smyth P., Eksploracja danych, WNT, Warszawa, 2005.
Jabłoński B., Zakrzewicz M., Ocena podobieństwa dokumentów XML, I Krajowa Konferencja
Naukowa Technologie Przetwarzania Danych, Poznań, 2005.
Jain A. K., Murty M. N., Flynn P. J., Data Clutering: A review, ACM Computing Surveys, Vol.
31, No. 3, September, 1999.
Lian W. et al., An Efficient and Scalable Algorithm for Clustering XML Documents by
Structure, IEEE Transactions on Knowledge and Data Engineering, Vol. 16, No. 1, January
2004.
Nierman A., Jagadish H. V., Evaluating Structural Similarity in XML Documents, Fifth
International Workshop on the Web and Databases (WebDB 2002), Madison, Wisconsin - June
6-7, 2002 http://www.eecs.umich.edu/~andrewdn/papers/webdb2002.pdf, 2002.
Vakali A., Catania B., Maddalena A., XML Data Stores: Emerging Practices, IEEE Internet
Computing, March – April, 2005.
X-Hive Corporation B.V.: X-Hive/DB 6.1 – Manual, release 6.1.0 - Oct 18 2004.
XML Core Working Group: Extensible Markup Language (XML) 1.0 (Third Edition), W3C
Recommendation 04 February 2004, http://www.w3.org/TR/2004/REC-xml-20040204
(04.02.2004).
XML Query Working Group and XSL Working Group: XQuery 1.0: An XML Query Language,
W3C Working Draft 15 September 2005, http://www.w3.org/TR/2005/WD-xquery-20050915/
(05.10.2005).
XML Query Working Group and XSL Working Group: XQuery 1.0 and XPath 2.0 Data Model,
W3C Working Draft 29 October 2004, http://www.w3.org/TR/2004/WD-xpath-datamodel20041029/ (29.10.2004).
XML Query Working Group and XSL Working Group: XQuery 1.0 and XPath 2.0 Functions
and Operators, W3C Working Draft 15 September 2005, http://www.w3.org/TR/2005/WDxpath-functions-20050915/, (05.10.2005).
Yoon J.P., Raghavan V., Chakilam V., Bitmap Indexing-based Clustering and Retrieval of XML
Documents, Proceedings of ACM SIGIR Workshop on Mathematical/Formal Methods in
Information Retrieval, New Orleans, LA, Sept. 2001.
12.
15.
16.
18.
da
.b
17.
w
w
13.
14.
pl
s.
445
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
w
da
.b
w
w
pl
s.
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006