I.
Wprowadzenie do  języków zapytań (1)
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
  Wstęp
  1. Operator sortowania order by
  2. Operator group by - czy potrzebny?
  Podsumowanie
  Zadania
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ń

 

Wstęp

Operator sortowania order by występuje w SQL i jest proponowany w innych językach, takich jak ODMG OQL. Operator ten umożliwia posortowanie wyniku według wybranego klucza. Sortowanie jest bardzo ważną operacją w językach zapytań z następujących powodów:

  • Wyprowadzanie wyników wyszukiwania: wynik powinien być posortowany dla zwiększenia jego czytelności i umożliwienia podjęcia szybkiej decyzji. Np. kierownikowi działu może zależeć na posortowaniu wyniku wyszukiwania według malejących zarobków lub według rosnącego wieku.

  • Sortowanie zwiększa moc języka zapytań. Niektóre zapytania nie mogą być zadane bez sortowania, np. zapytanie "podaj 50-ciu najlepiej zarabiających pracowników". Zapytania takie są zwane "zakresowymi" (range queries).


W modelu relacyjnym sortowanie było uważane za operator pomocniczy służący wyłącznie do wyprowadzania wyniku. Nie był oczywiście objęty modelem relacyjnym, ponieważ relacje są zbiorami nie narzucającymi porządku swoich elementów. Operator był w związku z tym niewyrażalny w algebrze relacyjnej i innych formalizmach uważanych za podstawę semantyczną języków zapytań. Niektóre implementacje SQL wprowadziły jednak zapytania zakresowe, dzięki którym można wydobyć z tabeli relacyjnej i-ty wiersz lub wiersze od i-tego do j-tego.

W obiektowych bazach danych sekwencje uzyskały status kolekcji zapisywalnych w bazie danych oraz zwracanych przez zapytania, w związku z czym operator sortowania stał się naturalny i konieczny. W ODMG OQL wprowadzono operator order by na wzór SQL. Podobnie w technologiach XML: plik XML ustala porządek poddokumentów i przez to użytkownicy mogą wykorzystywać ten porządek dla zapisu informacji. Np. jeżeli pewna pozycja bibliograficzna ma wielu autorów, to ich porządek ustala, który z nich jest najważniejszy, a który najmniej ważny. Wymagania dla języków zapytań dla XML [XQue03] explicite żądają operatora ustalającego porządek w wyprowadzanym rezultacie.

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