Ciekawym przykładem relacyjnej bazy danych jest Access. Umożliwia on wyklikanie wielu złożonych zapytań SQLowych w szybkim tempie. Najlepszym przykładem jest jedno z zadań jakie daję moim uczniom. Jest to trochę bardziej skomplikowane zapytanie i rozwiązanie jego zajmuje ok 20-30 min. W Accessie osobie nie znającej SQLa zajęło to ok 3 min. Niestety sprawia on też sporo problemów, ale o tym innym razem 🙂
Odpowiednikiem zapytań SQLowych są tu kwerendy. W języku SQL mamy różne rodzaje zapytań (SELECT, INSERT, CREATE TABLE itd.) i część z nich ma swoje odpowiedniki w postaci właśnie kwerend:
Kwerenda wybierająca:
Jest to nic innego jak wyciąganie danych z tabel. Mamy tu kilka możliwości, aby wyświetlić interesujące nas dane.
Łączenie tabel osiągniemy poprzez przeciągnięcie pola z jednej tabelki na odpowiadające jej pole w drugiej tabeli.
Kolejną możliwością jest filtrowanie danych. Jeśli chcemy wybrać asortyment o cenie wyższej niż 20zł, wystarczy przeciągnąć pole Cena do siatki na dole i w wierszu kryteria wpisać >20. Można również wybrać które kolumny mają wyć wyświetlane w wyniku zaznaczając fajkę w wierszu pokaż. W poniższym przykładzie kolumna w której podane są kryteria filtrowania nie będzie wyświetlana.
Można również grupować dane. W zakładce Projektowanie klikając przycisk sumy do naszej siatki zostanie dodany wiersz Suma. W nim ustawiamy jaką akcję na danej kolumnie chcemy wykonać. Do wyboru mamy m.in.:
Grupuj według – dane w kolumnie będą połączone w grupy. Jeśli będziemy grupowali wg kolumny TypyAsortymentu, wtedy dla każdego typu będzie tylko jeden wiersz, a pozostałe dane będziemy mogli agregować.
Funkcje agregujące:
Policz – zliczanie ilości wierszy w danej grupie. Jeśli wybrane pole będzie miało wartość null wtedy nie zostanie policzone.
Suma – sumowanie wartości w wybranej kolumnie. Różnica między Sumą a Policz: jeśli mamy dwa wiersze, w których będą liczby odpowiednio 2 i 3, wtedy policz zwróci wynik 2 (mamy dwa wiersze), a suma 5 (sumujemy wartość wierszy).
Średnia – wyliczana jest średnia arytmetyczna z danej grupy. Wykorzystać można do wyliczenia np. średniej sprzedaży danego produktu albo średniej ocen z przedmiotów.
Minimum – znajdowane jest minimum w danej grupie. Ten agregat można wykorzystać np. do znalezienia najtańszego produktu z danej grupy produktów.
Maksimum – znajdowane jest maksimum w danej grupie. Ta funkcja agregująca może nam pomóc w znalezieniu najlepiej zarabiającego pracownika.
Kwerenda tworząca tabelę:
Dzięki tej kwerendzie możemy skopiować dane z innej tabeli i utworzyć dla nich nową. Możemy w niej wykorzystywać opcje z kwerendy wybierającej. Czyli za jej pomocą zamiast wyświetlić danych, to zapisujemy je w postaci nowej tabeli.
Kwerenda dołączająca:
Tu również możemy wykorzystać możliwości kwerendy wybierającej, aby przetworzyć dane. Kwerendę dołączającą od wybierającej różni to, że w przypadku tej drugiej dostajemy wynik na ekranie, a ta pierwsza wybrane dane dokleja do istniejącej tabeli.
Kwerenda aktualizująca:
Pozwala nam ona zaktualizować dane. Np. gdy chcemy dać wszystkim pracownikom podwyżkę zamiast ręcznie wszystko przeliczać, wystarczy użyć tej kwerendy.
Kwerenda usuwająca:
Jak sama nazwa wskazuje służy ona do usuwania danych. Należy jednak uważać, aby nie skasować ważnych informacji. Dużo lepszym rozwiązaniem od usuwania danych jest utworzenie dodatkowej kolumny w tabeli i trzymanie w niej statusu danego wiersza (np. usunięty/nieusunięty). Dzięki temu w przypadku pomyłki nie stracimy danych i jeśli będziemy chcieli w przyszłości do nich wrócić będą one nadal w tabeli. Odbywa się to kosztem miejsca na dysku, ale lepiej kupić większy dysk niż stracić dane 😉 Przykład z opisem wykonania znajdziesz we wpisie o iloczynie zbiorów.
„drógiej” Serio?
haha, faktycznie 😀 dzięki za znalezienie błędu 🙂
Fajne porównanie, przypomniałam sobie rzeczy ze szkoły przed testem 🙂