[ Pobierz całość w formacie PDF ]
Zaawansowane Systemy Baz Danych – ZSBD
Bazy danych dokumentów XML
wykład 2 – XQuery
Wykład przygotował:
Krzysztof Jankiewicz
Bazy danych dokumentów XML – wykład 2 – XQuery
Drugi wykład z baz danych dokumentów XML zostanie poświęcony językowi zapytań XQuery.
W roku 2005 język XQuery stał się standardem zatwierdzonym przez W3C.
1
Zaawansowane Systemy Baz Danych – ZSBD
Wymagania W3C dotyczące języka zapytań
wymagania ogólne
• Ogólne wymagania W3C dotyczące języka zapytań
dotyczą następujących zagadnień:
–Składnia języka
–Deklaratywność
–Niezależność od protokołów
– Warunki wystąpienia błędów
– Modyfikacje
Bazy danych dokumentów XML – wykład 2 – XQuery (2)
W dokumencie "XML Query Requirements" organizacja W3C zebrała podstawowe wymagania
dotyczące języków zapytań przeznaczonych do przetwarzania dokumentów XML.
Wymagania te dotyczą następujących zagadnień: składnia języka, deklaratywność,
niezależność od protokołów, warunki wystąpienia błędów, modyfikacje.
I tak dla przykładu wymagania dotyczące składni języka są następujące:
-język zapytań
może
mieć więcej niż jedną składnię,
-
musi
być zrozumiały w czytaniu i pisaniu przez człowieka,
- co najmniej jedna składnia
musi
być wyrażona w formacie XML.
Ponadto język przeznaczony do przetwarzania dokumentów XML:
-
musi
być deklaratywny,
-
musi
być niezależny od wykorzystywanych protokołów,
-
musi
definiować zestawy standardowych informacji o błędach, które pojawiają się podczas
ewaluacji zapytania,
-
nie może
, wykluczać możliwości rozszerzania go o klauzule przeznaczone do definiowania
modyfikacji dokumentów XML
2
Zaawansowane Systemy Baz Danych – ZSBD
Wymagania W3C dotyczące języka zapytań
wymagania dotyczÄ…ce modelu danych
• Wymagania W3C dotyczące modelu danych obejmują
następujące kwestie:
– Oparcie się na informacji XML
– Typy danych
– Kolekcje
– Referencje
–Dostępność schematu
–Uwzględnienie przestrzeni nazw
Bazy danych dokumentów XML – wykład 2 – XQuery (3)
Wymagania W3C dotyczÄ…ce modelu danych XML wykorzystywanego przez zapytania
obejmują następujące kwestie: oparcie się na informacji XML, typy danych, kolekcje,
referencje, dostępność schematu, uwzględnienie przestrzeni nazw.
Przykładowe ogólne wymagania W3C są następujące:
- Model danych opiera się na informacjach udostępnianych przez procesory XML i procesory
schematów i musi gwarantować, że żadna dodatkowa informacja nie będzie wymagana.
- Model danych powinien umożliwiać tworzenie wszystkich elementów informacyjnie istotnych.
W przypadku elementów pominiętych powinien udostępniać informacje o powodzie ich
pominięcia.
- Model danych musi posiadać reprezentacje zarówno dla ciągów znaków (XML 1.0) jak i
prostych i złożonych typów danych zgodnie ze specyfikacją XML Schema.
- Model danych musi posiadać reprezentacje kolekcji dokumentów oraz kolekcji wartości
prostych i złożonych.
- Model danych musi wspierać referencje występujące zarówno wewnątrz dokumentu jak i
pomiędzy dokumentami.
- Zapytania powinny być możliwe niezależnie od tego czy schematy dla przepytywanych
dokumentów są dostępne czy też nie.
-Jeżeli schemat jest dostępny, wówczas model danych musi reprezentować każdy z
elementów zgodnie z definicją schematu. Dotyczy to dla przykładu domyślnych atrybutów,
encji lub typów danych. Elementy te nie są prezentowane jeśli schematy nie istnieją.
- Model danych musi uwzględniać istnienie przestrzeni nazw.
3
Zaawansowane Systemy Baz Danych – ZSBD
Wymagania W3C dotyczące języka zapytań
wymagania dotyczące funkcjonalności języka (1/2)
• Wymagania W3C dotyczące funkcjonalności języka
obejmują między innymi następujące zagadnienia:
– Operacje na typach danych
– Warunki na elementach tekstowych
– Hierarchie i sekwencje
– Kombinacje
– Agregacje
– Sortowanie
–Obsługa wartości pustych
Bazy danych dokumentów XML – wykład 2 – XQuery (4)
Wymagania W3C dotyczące funkcjonalności języka obejmują między innymi następujące
zagadnienia: operacje na typach danych, warunki na elementach tekstowych, hierarchie i
sekwencje, kombinacje, agregacje, sortowanie, obsługę wartości pustych.
Przykładowe wymagania dotyczące funkcjonalności języka zapytań są następujące:
-Język zapytań musi uwzględniać operacje na wszystkich typach danych dostępnych w
ramach modelu danych.
- Zapytania muszą umożliwiać definiowanie prostych warunków dotyczących tekstu i jego
zawartości.
- Operacje na kolekcjach muszą wspierać kwantyfikatory ilościowe oraz kwantyfikatory
istnienia.
- Zapytania muszą umożliwiać wykonywanie operacji na hierarchiach oraz sekwencjach
występujących w strukturze dokumentu.
-Język zapytań przeznaczony do przetwarzania dokumentów XML musi umożliwiaćłączenie
powiązanej informacji znajdującej się w różnych częściach dokumentu lub wielu różnych
dokumentów.
- Musi umożliwiać obliczanie podsumowań w oparciu o grupy elementów.
- Musi umożliwiać porządkowanie generowanych wyników.
- Musi umożliwiać tworzenie wyrażeń, które będą składały się ze złożonych operandów,
będących dla przykładu zapytaniami.
- Musi uwzględniać możliwość występowania wartości pustych, dotyczy to również operatorów
logicznych.
4
Zaawansowane Systemy Baz Danych – ZSBD
Wymagania W3C dotyczące języka zapytań
wymagania dotyczące funkcjonalności języka (2/2)
• Wymagania W3C dotyczące funkcjonalności języka
obejmują między innymi następujące zagadnienia:
– Zachowywanie struktury
– Transformacje
– Referencje
– Operacje na nazwach elementów
– Operacje na schematach
– Rozszerzalność
•Wększość wymagań ogólnych, dotyczących modelu
danych oraz funkcjonalności języka jest przez XQuery
spełniona.
Bazy danych dokumentów XML – wykład 2 – XQuery (5)
Wymagania W3C dotyczące funkcjonalności języka obejmują dodatkowo między innymi
następujące zagadnienia: zachowywanie struktury, transformacje, referencje, operacje na
nazwach elementów, operacje na schematach, rozszerzalność.
Przykładowe wymagania dotyczące funkcjonalności języka zapytań dotyczące tych zagadnień
są następujące:
Zapytania muszą być zdolne do zachowywania (w wyniku) oryginalnej hierarchii lub sekwencji
elementów w źródle.
Zapytania muszą umożliwiać transformacje struktur XML, muszą także umożliwiać tworzenie
nowych struktur XML.
Zapytania muszą umożliwiać poruszanie się wewnątrz dokumentu, oraz pomiędzy różnymi
dokumentami na podstawie referencji.
Zapytania muszą być zdolne do zachowywania tożsamości elementów w ramach modelu
danych.
Zapytania muszą umożliwiać wykonywanie prostych operacji na nazwach. Dla przykładu
porównywanie nazw, testowanie nazw elementów i atrybutów itp..
Język zapytań powinien umożliwiać wykorzystanie zewnętrznie zdefiniowanych funkcji
operujących na dowolnych typach modelu danych. Interfejs takich funkcji powinien być
definiowany za pomocą języka zapytań. Powinna być możliwość rozróżnienia funkcji
zewnętrznych od funkcji zdefiniowanych w ramach języka zapytań.
Należy w tym momencie zaznaczyć, że znakomita większość wymagań W3C jest przez język
XQuery spełniona. Z wymagań funkcjonalnych nie są spełnione wymagania dotyczące operacji
na schematach. Wymagania te są następujące:
Zapytania powinny umożliwiać dostęp do schematów XML lub do DTD jeśli tylko one istnieją
dla określonego dokumentu.
Jeśli schemat jest zdefiniowany w oparciu o DTD może być wymagane odpowiednie
mapowanie na schemat XML.
5
[ Pobierz całość w formacie PDF ]