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ń

 

3. Zastosowania języków zapytań

Istnieje praktycznie nieograniczone pole różnorodnych zastosowań języków zapytań w systemach baz danych i językach programowania. Wśród nich wymienimy następujące:

  • Narzędzie dla powszechnego użytkownika umożliwiające interakcyjne zapytania (tzw. ad hoc), z generacją odpowiedzi lub raportów w pewnych z góry zadanych formatach.

  • Interakcyjne (ad hoc) aktualizacje bazy danych. Tego rodzaju udogodnienia mogą również być wykorzystane przez powszechnego użytkownika.

  • Konstrukcje języka programowania umożliwiające programowanie na bardzo wysokim poziomie abstrakcji i konceptualizację programów.

  • Definiowanie ograniczeń integralnościowych (integrity constraints), inaczej więzów integralności, zapobiegających niedopuszczalnym operacjom na bazie danych lub wykrywających błędy w danych.

  • Definiowanie podschematów, ograniczeń dostępu i innych środków autoryzacji lub bezpieczeństwa danych.

  • Definiowanie wirtualnych perspektyw (views), zmaterializowanych perspektyw (materialized views), danych pochodnych (derived), replikacji danych, procedur zapamiętanych w bazie danych (stored procedures, database procedures) i innych abstrakcji lub udogodnień w danych lub programach.

  • Składowe konstrukcji językowych skryptów (scripts) w językach czwartej generacji (4GL) i narzędziach do prototypowania.

  • Definiowanie aktywnych reguł, dedukcyjnych reguł, aktywnych agentów i innych elementów w bazie danych umożliwiających zwiększenie jej "inteligencji".

  • Sterowanie przetwarzaniem transakcji i równoległym (concurrent) dostępem do bazy danych.

  • Określanie danych do transmisji w rozproszonych bazach danych.

  • Określanie danych do transmisji pomiędzy różnymi rodzajami pamięci, np. pomiędzy pamięcią optyczną typu jukebox a pamięcią dyskową.

  • Umożliwienie współpracy pomiędzy heterogenicznymi i/lub odległymi bazami danych.

  • Narzędzia do wyszukiwania informacji w danych półstrukturalnych (semi-structured), w natywnych repozytoriach XML, RDF i innych repozytoriach zasobów Internetu; definiowanie perspektyw nad danymi określanymi jako półstrukturalne i nad repozytoriami XML.

  • Narzędzia do eksploracji danych (data mining) i analitycznego przetwarzania (OLAP).

Zbudowanie języka zapytań, który odpowiadałby wszystkim wymienionym wyżej zastosowaniom, jest trudne. Tym bardziej istotne staje się więc stworzenie precyzyjnej i uniwersalnej podstawy semantycznej dla tej klasy języków.

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