Kazimierz Subieta. Teoria i konstrukcja obiektowych języków zapytań. Wydawnictwo PJWSTK, Warszawa 2004, ISBN 83-89244-29-2 (522 stron)

 

Streszczenie

 

Języki zapytań (query languages) są przyjaznymi dla użytkowników interfejsami do bazy danych, umożliwiającymi jej przeszukiwanie według dowolnie wybranych kryteriów i dowolnie określanego wyniku wyszukiwania. Najbardziej popularnym językiem zapytań jest SQL. Jest on uważany za istotny czynnik komercyjnego sukcesu relacyjnych baz danych. SQL jest przedmiotem kilku standardów, w szczególności SQL-89, SQL-92 i SQL-99. Stał się on podstawą wielu interfejsów służących do programowania aplikacji, takich jak ODBC i JDBC. SQL podlegał licznym rozszerzeniom, m.in. poprzez konstrukcje zmieniające bazę danych, w kierunku języków programowania, perspektyw (views), procedur zapamiętanych w bazie danych, oraz wyzwalaczy.

Wraz z językami zapytań pojawiły się różnorodne teorie, takie jak algebra relacji, rachunek relacyjny i odmiany logiki matematycznej. Pojawiło się także wiele metod empirycznych, w szczególności dotyczących optymalizacji zapytań. Istnieją jednak kontrowersje co do ich roli i przydatności. W szczególności, algebra relacji przykrywa co najwyżej kilka procent konstrukcji SQL i nie jest z nim do końca spójna, zaś metody optymalizacyjne są zbytnio przywiązane do fizycznych własności systemów, maja ograniczony zakres stosowalności, oraz mają luki i niejasności koncepcyjne.

Pojawienie się obiektowych (object-oriented) i obiektowo-relacyjnych baz danych stworzyło w tej dziedzinie nową jakość. Dotyczy to także technologii internetowych opartych o standard XML. Nowe modele danych, standardy, rozwiązania praktyczne, metody i teorie spowodowały stan, który można określić jako totalny chaos, brak spójnych, jednorodnych podstaw teoretycznych i przypadkowość rozwiązań praktycznych. Świadectwem tego chaosu są standardy SQL-99 i ODMG OQL, które wielu specjalistów uważa za nieimplementowalne w obecnym kształcie z powodu wad ich specyfikacji.

Książka prezentuje spójne podejście do teorii i konstrukcji języków zapytań. Jest próbą uporządkowania chaosu na gruncie jednolitej teorii określanej jako podejście stosowe (stack-based approach). Podstawą tego podejścia jest założenie, że języki zapytań są odmianą języków programowania, zatem powinno się do nich stosować pojęcia i koncepcje znane i skuteczne w tych językach. Podejście stosowe umożliwiło stworzenie teorii niezależnej od specyficznego modelu danych. Można ją stosować dla relacyjnych, obiektowych i obiektowo-relacyjnych baz danych, oraz dla repozytoriów XML.

Książka jest przeznaczona dla studentów, doktorantów, wykładowców oraz dla tych wszystkich informatyków, którzy chcieliby wiedzieć na temat języków zapytań nieco więcej niż to, co można znaleźć w popularnych podręcznikach z zakresu baz danych. Zrozumienie wprowadzonych tu pojęć i metod umożliwi opracowanie i szybkie zaimplementowanie własnego, bardzo mocnego języka zapytań dla praktycznie dowolnie wybranego celu.


 

Last modified: December 1, 2005