I.
Wprowadzenie do  języków zapytań (1)
  Wstęp
  1. Co to są języki zapytań?
  2. Znaczenie języków zapytań
  3. Zastosowania języków zapytań
  4. Własności języków zapytań
  Podsumowanie
  Zadania
II.
Wprowadzenie do  języków zapytań (2)
III.
Pojęcia obiektowości w bazach danych (1)
IV.
Pojęcia obiektowości w bazach danych (2)
V.
Podstawy semantyczne języków zapytań
VI.
Modele składu obiektów
VII.
Stos środowisk, rezultaty zapytań, funkcja nested
VIII.
Język SBQL (Stack-Based Query Language) (1)
IX.
X.
Dalsze własności SBQL
XI.
Operatory order by i group by
XII.
Przetwarzanie struktur nieregularnych
XIII.
Rozszerzenie języków zapytań o konstrukcje imperatywne
XIV.
Procedury, procedury funkcyjne, metody, reguły zakresu
XV.
Parametry procedur i metod, procedury rekurencyjne, optymalizacja poprzez modyfikację zapytań

 

2. Znaczenie języków zapytań

Istnieje szereg powodów ogromnego zainteresowania językami zapytań. Pierwszym z nich jest chęć obniżenia poziomu profesjonalizmu niezbędnego do programowania aplikacji związanych z zastosowaniem baz danych. W powszechnej opinii tego rodzaju zadania wymagają profesjonalnych, wysoko opłacanych programistów, których dostępność na rynku jest zwykle niewystarczająca. Drugim powodem jest podwyższenie wydajności programistów poprzez dostarczenie do ich dyspozycji pojęciowych, makroskopowych operacji, pozwalających zapisać złożone przetwarzanie w zwartej, czytelnej i zrozumiałej formie. Powszechną stała się opinia, że jedno zdanie napisane w SQL może zastąpić kilka stron programu napisanego w językach, takich jak Cobol, C lub Pascal. Skutki tej cechy języków zapytań dla tempa tworzenia oprogramowania, jego kosztu, pielęgnacyjności i modyfikowalności są oczywiste. Następnym powodem jest dążenie do podwyższenia niezawodności produktów programistycznych, czemu sprzyja zwartość zapisu programu, konceptualizacja myślenia programisty i tzw. niezależność danych (data independence), przejawiająca się m.in. w abstrahowaniu od ich fizycznej organizacji. Dodatkowym powodem jest otwarcie nowych możliwości dla automatycznej optymalizacji programów. Jak należy oczekiwać, operacje makroskopowe określane w sposób deklaracyjny (które można wykonywać na wiele sposobów) dają w tym względzie większe możliwości niż kodowanie problemu w językach niższego poziomu. Ten fakt jest potwierdzony przez badania empiryczne, które pokazały, że dla złożonych zapytań automatyczny optymalizator daje lepsze wyniki niż ręczna optymalizacja.

Projektanci języków zapytań starają się uwolnić projektanta i programistę od mniej istotnych komputerowych bytów, pozwalając im skoncentrować myślenie na tym, co ma być zrobione, a nie jak; myśleć bardziej w kategoriach problemu i dziedziny zastosowań niż w kategoriach operacji dostępnych w danym języku lub systemie komputerowym. Języki zapytań mają więc ogromne znaczenie kulturotwórcze w dziedzinie informatyki.

Copyrights © 2006 PJWSTK
Materiały zostały opracowane w PJWSTK w projekcie współfinansowanym ze środków EFS.