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