Co sprawia, że iSeries 400 jest tak popularny

Transkrypt

Co sprawia, że iSeries 400 jest tak popularny
QUERY –język zapytań do tworzenia raportów w AS/400
Dariusz Bober
Katedra Informatyki Politechniki Lubelskiej
Streszczenie:
W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora systemu
AS/400, służący tworzeniu zapytań do bazy DB2
QUERY – język zapytań.
Nawet najlepiej działający system stał by się nieprzydatny, gdyby nie było narzędzi
z pomocą których możliwa była by praca na nim.
QUERY jest to wbudowane w system AS/400 narzędzie do tworzenia raportów.
W swej strukturze jest podobne do języka SQL – użytkownik definiuje które zbiory
chce przeglądać, które dane z tych zbiorów mają być wyświetlone, w jakiej chronologii,
czy mają być posumowane, itp.
QUERY różni się jednak od SQL w zasadniczy sposób – nie daje możliwości zmiany
wartości rekordu w bazie. Pozwala jedynie na zapytanie o tą wartość, stąd nazwa:
QUERY – język zapytań.
Pracę z QUERY rozpoczynamy poprzez wpisanie w linii komend polecenia WRKQRY
(work with query). Powoduje to wywołanie ekranu „Praca z zapytaniami”, rys 1.
Rys 1. Ekran do pracy z zapytaniami
Ekran ten zawiera szereg opcji pozwalających na przeprowadzenie określonego
działania na konkretnym QUERY.
Dostępne opcje pozwalają na:
1- tworzenie nowego zapytania,
2- zmianę definicji istniejącego zapytania,
3- skopiowanie definicji zapytania do innej biblioteki niż bieżąca
(*CURQRY)
4- usunięcie definicji istniejącego zapytania,
5- wyświetlenie definicji/zapytania
6- druk definicji zapytania
8- skierowania zapytania do kolejki zadań baczowych
9- uruchomienie zapytania interaktywnie,
W linii „zapytanie” podaje się nazwę QUERY, na którym ma być wykonana operacja.
Zdefiniowane QUERY nie jest niczym innym jak obiektem, zatem należy określić
bibliotekę, w której znajduje się (ma się znaleźć) zapytanie. W linii „biblioteka”
domyślnie jest przyjmowana nazwa biblioteki bieżącej.
Zarówno nazwy zapytań w bibliotece, jak i nazwy dostępnych bibliotek można uzyskać
poprzez naciśnięcie klawisza <F4> na odpowiedniej linii. Wyświetla się wówczas lista
obiektów które mogą być wywołane w danej linii. Jest to standard w systemie AS/400.
2. Definiowanie „zapytania”
Tworzenie zapytania w QUERY wspomagane jest przez zestaw opcji definicji
zapytania umieszczonych na oddzielnym ekranie, rys 2. Poszczególne opcje wybierane
są przez ustawienie „1” w kolumnie „Opc” na wysokości wybieranej opcji
i potwierdzeniu wyboru enterem. Uruchamiany jest wówczas kolejny ekran zwierający
ustawienia danej opcji.
Rys 2. Ekran definiowania zapytań „QUERY”
W funkcyjności poszczególnych opcji można doszukiwać się analogii do języka SQL.
• Wybór zbiorów – pozwala na zbioru lub kilku zbiorów, których ma dotyczyć
zapytanie. W przypadku wyboru kilku zbirów ukazuje się kolejny ekran na
którym określa się zasady łączenia zbiorów (zbiory zgodne, występujące
w zbiorze podstawowym, nie występujące w zbiorze podstawowym) oraz
kluczy głównych. Ekran wyboru zbiorów przedstawia rys. 3.
W najprostszym przypadku - wybór jednego zbioru - QUERY odpowiada
SQL’owemu zapytaniu:
Select * from nazwa_tabeli
Gdzie w systemie AS/400 nazwa tabeli jest równoznaczna
z nazwą_biblioteki/nazwa_zbioru.
Jest to jedyna wymagana opcja QUERY (zapytanie nie ma sensu jeżeli nie jest
podany zbiór, którego zapytanie ma dotyczyć), pozostałe opcje nie muszą być
definiowane. W wyniku takiego zapytania uzyskany wynik będzie
przedstawiał wszystkie rekordy ze zbioru w zupełnie nieuporządkowanej
kolejności.
• Definiowanie pól wynikowych – pozwala na przeprowadzenie prostych
operacji na kolumnach raportu. Możliwe jest łączenie, fragmentacja pól,
doklejania do nich ciągów znakowych, a także przeprowadzenie
podstawowych operacji matematycznych. Jest to opcja nie spotykana w SQL,
jednak często przydatna podczas tworzenia raportów. Ekran definiowania pól
wynikowych przedstawia rys. 4.
• Wybór i układ pól – służy do wyboru poszczególnych pól rekordów tablicy,
oraz ułożenia ich w odpowiednich kolumnach. W języku SQL realizuje się tą
samą funkcję poprzez wypisanie nazw pól w zapytaniu, z zachowaniem
oczekiwanej kolejności:
Select pole1, pole2, pole3 from tabela
W QUERY wybór pól i ich kolejności dokonywany jest poprzez
ponumerowanie w kolejności rosnącej wybranych pól.
Wybór odpowiedniej kolejności pól ma duże znaczenie w przypadku
rozbudowanych raportów, gdzie nie wszystkie pola mieszczą się na ekranie
monitora. Wówczas częste sięganie do kolumn ukrytych (do nawigacji służą
klawisze Shift <F7>,<F8>), jeżeli okażą się bardziej istotne, staje się
uciążliwe.
• Wybór rekordów - służy nałożeniu warunków na wybór rekordów, tylko
rekordy spełniające warunki zostaną wybrane. Składnia budowania warunków
odpowiada SQL’owemu „where”:
Select * from tabela where warunek1 and warunak2 and …
W QUERY na definicja warunku, wspomagana ekranem przedstawionym na
rys 6., sprowadza się do umieszczenia w odpowiednich kolumnach ekranu:
nazwy pola, relacji z wartością wpisaną w kolumnę „wartość”. Umieszczone
na tym samym ekranie: lista pól przeglądanego zbioru, wraz z opisem,
znacznie ułatwiają proces tworzenia zapytania. Szczególnie jest to przydatne
przy rozbudowanych zbiorach, gdzie jest wiele pól i dodatkowo nazwy tych
pól nie zawsze jednoznacznie kojarzą się z zawartością pola.
•
Wybór pól do sortowania – pozwala wybrać pola według których winny być
posortowane wyniki zapytania. Jest tu pewne podobieństwo z SQL’owym
„order by”.
• Wybór porządku sortowania – czy malejąco, domyślnie obrany jest rosnący
porządek sortowania.
• Określenie formatu kolumn – pozwala na zmianę nagłówków kolumn
(domyślnie są to nazwy pól) oraz ewentualnie ich szerokości.
• Wybór funkcji podsumowania - służy do wykonywania podsumowań na
poszczególnych kolumnach. Podsumowanie może być wykonane na całej
kolumnie jak i na jej części w ramach potworzonych grup. Dostępne funkcje
podsumowania to: suma, średnia, minimum, maksimum oraz liczba wystąpień
danej wartości w rekordach. Ekran wyboru funkcji podsumowania
przedstawiony jest na rys 6.
• Wybór grupowania wierszy – poszczególne poszeregowane wg pól rekordy,
mogą zostać wierszami pogrupowane. Pozwala to na separację wydzielonych
fragmentów raportu oraz przeprowadzenie podsumowań w obrębie danych
grup.
• Wybór typu i formatu wyniku. Wynikiem zapytania
stworzonego
w QUERY może być raport wyświetlony na ekranie, wydruk, bądź inny zbiór
danych. Jest to jedyny moment, kiedy QUERY zapisuje cokolwiek do bazy
danych, jednak nawet taka własność nie daje możliwości modyfikacji wartości
w wybranym rekordzie, co wynika z całej procedury tworzenia zapytania.
• Określenie opcji wykonania – jest to opcja rzadziej niż pozostałe
wykorzystywana. Odpowiada ona m.in. za wykonywanie zaokrągleń,
pomijania komunikatów o błędach itp.
Każda modyfikacja wybranej opcji może być natychmiast sprawdzana przez naciśnięcie
klawisza <F5>, powoduje to wywołanie zapytania w bieżącej postaci i wyświetlenie
wyników na ekranie.
Po zdefiniowaniu zapytania należy zakończyć pracę z QUERY, służy do tego
standardowy klawisz <F3>. W momencie wychodzenia z zapytania jest ono
wykonywane. Rezultat przykładowego zapytania przedstawia rys 8.
3. Podsumowanie
QUERY to język który nie może konkurować z SQL’em z powodu braku możliwości
nadpisywania wartości rekordów w bazie. Jednak ta cecha sprawia, że jest to
bezpieczny język zapytań, a intuicyjna wręcz prostota sprawia, że jest to chętnie
używane przez użytkowników systemu AS/400 narzędzie do tworzenia raportów.
Literatura:
[1] Administrowanie systemem AS/400 – Kurs E4AD, IBM Polska 1999
[2] AS/400 System Administration and Control – Course Code OL19, IBM 1999
Rys 3. Tworzenie zapytania - Ekran wyboru zbiorów
Rys 4. Tworzenie zapytania - Ekran definiowania pól wynikowych
Rys 5. Tworzenie zapytania - Ekran wyboru rekordów.
Rys 6. Tworzenie zapytania - Ekran wyboru funkcji podsumowania.
Rys 7. Tworzenie zapytania - Ekran wyboru typu i formatu wyniku.
Rys 8. Przykład raportu wykonanego w QUERY

Podobne dokumenty