Dział II

Bazy Danych: Kwerendy Wybierające (Siatka)

Zdecydowana większość uczniów rozwiązuje zadania w graficznym kreatorze zamiast pisać czysty kod SQL. To szybsze i bezpieczniejsze.

Wstęp: Siatka Projektowa, czyli Twój Maturalny Miecz

Na maturze z informatyki nikt nie zmusza Cię do pisania zapytań w czystym języku SQL. Graficzny kreator kwerend (Widok Projektu) w programie Access to potężne narzędzie, które wybacza błędy składniowe i pozwala wizualnie kontrolować przepływ danych. Opanowanie siatki projektowej to gwarancja szybkości – a czas na egzaminie to najcenniejsza waluta. Zaczynamy od podstaw wyciągania i układania danych.

1Wybieranie i sortowanie: Prawo Lewej Strony

Tworzenie kwerendy zaczynasz od zakładki Tworzenie -> Projekt kwerendy. Dodajesz interesujące Cię tabele (pamiętaj, aby miały ze sobą relacje!) i dwuklikiem zrzucasz nagłówki kolumn do dolnej siatki. Brzmi prosto, dopóki nie padnie polecenie o zaawansowanym sortowaniu.

🏗️ Anatomia Dolnej Siatki

Pokazywanie (Pokaż)
Mały kwadracik (checkbox) decyduje, czy dana kolumna pojawi się w końcowym wyniku.
Maturalny Tip: Czasami CKE prosi: "Podaj tylko nazwiska osób...". Jeśli zrzucisz do siatki ID_klasy, żeby po niej przefiltrować, pamiętaj, by odznaczyć jej pole "Pokaż". Egzaminator ocenia idealną zgodność wyniku z poleceniem!
Sortowanie (Rosnąco / Malejąco)
Z rozwijanej listy wybierasz kierunek sortowania. Dla tekstów to A-Z (Rosnąco) lub Z-A (Malejąco). Dla dat: od najstarszej do najnowszej.
🚨
Błąd krytyczny: Sortowanie Wielopoziomowe
Klasyczne polecenie z arkusza: "Posortuj wyniki malejąco według nazwy klasy, a w obrębie klasy alfabetycznie po nazwisku ucznia."

Większość uczniów zrzuca kolumny do siatki tak, jak leżą w tabeli (często Nazwisko jest przed Klasą), po czym w obu ustawia sortowanie. To katastrofalny błąd. Access czyta siatkę projektową bezwzględnie od lewej do prawej.

❌ ŹLE (Nazwisko jest po lewej):
Access najpierw posortuje WSZYSTKICH uczniów w szkole alfabetycznie, a dopiero potem spróbuje wewnątrz nazwisk szukać klas. Wynik to chaos.
✅ DOBRZE:
Musisz ręcznie złapać za szary pasek nad kolumną Klasa i przesunąć ją w lewo, przed Nazwisko. Tylko wtedy Access zgrupowuje najpierw klasy (3A, 3B, 3C), a dopiero wewnątrz nich ułoży nazwiska od A do Z.
2Operatory logiczne: Język filtrowania danych

Samo wrzucenie kolumn do siatki to za mało. W 99% zadań musisz przefiltrować dane: "znajdź tylko kobiety z Krakowa", "wypisz zamówienia z maja". Do tego służy wiersz Kryteria (Criteria) oraz słowa kluczowe. Access jest przyjazny – często tłumaczy je na język polski, ale musisz znać ich matematyczną i logiczną bezwzględność.

🧮 Geometria Siatki: AND vs OR

W siatce projektowej Accessa ułożenie kryteriów ma kluczowe znaczenie. To, czy wpiszesz warunek w tym samym wierszu, czy o wiersz niżej, drastycznie zmienia wynik zapytania (kwerendy).
Koniunkcja (AND) = Ten sam wiersz
Jeśli wpiszesz "K" w kolumnie Płeć, a "Kraków" w kolumnie Miasto dokładnie w tym samym wierszu (Kryteria), to Access szuka rekordu, który spełnia OBA warunki naraz. Musi to być bezwzględnie kobieta i bezwzględnie z Krakowa.
Wiersz Kryteria: [Płeć]="K" | [Miasto]="Kraków"
Alternatywa (OR) = Różne wiersze
Jeśli "K" wpiszesz w pierwszym wierszu (Kryteria), a "Kraków" wpiszesz w wierszu poniżej (Lub), szukasz WSZYSTKICH kobiet z dowolnego miasta świata ORAZ wszystkich mieszkańców Krakowa (w tym mężczyzn). Baza jest o wiele szersza.
Wiersz Kryteria: [Płeć]="K"
Wiersz Lub:      --------   |  [Miasto]="Kraków"

🛠️ Skrzynka narzędziowa operatorów CKE

BETWEEN ... AND ...
Zastępuje pisanie brzydkiego i podatnego na błędy >= 10 AND <= 20. Co kluczowe na maturze: BETWEEN włącza granice! Jeśli napiszesz BETWEEN 10 AND 20, to liczby 10 i 20 również zostaną wyciągnięte. Access używa polskiego tłumaczenia: Między ... Oraz ...
Przykład: Between #2024-01-01# And #2024-12-31#
IN (x, y, z)
Królowa elegancji. Używasz jej, gdy zadanie mówi: "Podaj zyski z województw: Mazowieckiego, Śląskiego i Małopolskiego". Zamiast męczyć się wpisując je w trzech schodkowych wierszach "Lub", wpisujesz wszystko w jednym.
Przykład: IN ("Mazowieckie", "Śląskie", "Małopolskie")
NOT
Odwraca warunek. Bardzo przydatne przy szybkim wykluczeniu z dużej puli: "Zlicz wszystkie zamówienia, z wyjątkiem tych o statusie Anulowane".
Przykład: NOT "Anulowane" (w polskim Accessie często: Nie "Anulowane")
💀
Pułapka poprzecznych warunków (Śmiertelna)
Wyobraź sobie zadanie: "Znajdź wszystkich chłopców z klasy 3A lub 3B". Wpisujesz "M" (Płeć) i "3A" w wierszu Kryteria. Następnie w wierszu poniżej (Lub) wpisujesz samo "3B". Twój wynik będzie błędny i tracisz punkty!
Dlaczego? Ponieważ drugi wiersz (Lub) to zupełnie nowa, "czysta" linia zapytań. Access zrozumie to jako: "Daj mi chłopców z 3A ORAZ dodaj do tego absolutnie każdego ucznia z 3B (zarówno chłopców, jak i dziewczyny)" – ponieważ w drugim wierszu zabrakło sprecyzowania płci!

Rozwiązanie: Jeśli korzystasz z wiersza "Lub", musisz zduplikować w nim pozostałe, nadrzędne warunki (czyli pod spodem jeszcze raz wpisać "M"). Albo dużo bezpieczniej: nie używaj w ogóle wiersza "Lub", tylko użyj operatora IN ("3A", "3B") w pierwszym wierszu, zaraz obok pola płci.

3Wildcards (Znaki wieloznaczne): Wzorce tekstowe

Często na maturze CKE nie prosi o znalezienie konkretnego słowa, ale pewnego wzorca. Na przykład: "Znajdź wszystkich uczniów, których nazwisko kończy się na -ski" albo "Wypisz ulice, w których nazwie występuje słowo Dębowa". Do takich zadań używamy znaków wieloznacznych oraz operatora LIKE (w polskim Accessie często tłumaczonego automatycznie jako Podobne do).

Gwiazdka (*)

Zastępuje DOWOLNY ciąg znaków.
Może zastąpić jedno słowo, sto liter, a nawet brak jakichkolwiek znaków. Używasz jej, gdy wiesz, co ma być na początku lub końcu, ale nie obchodzi Cię, co znajduje się po drodze.

Znak zapytania (?)

Zastępuje DOKŁADNIE JEDEN znak.
Używasz go, gdy interesuje Cię konkretna pozycja litery (np. druga litera imienia) lub chcesz wymusić na bazie znalezienie wyrazu o bardzo dokładnej długości.

Ściągawka Maturalna: Najczęstsze wzorce (Gotowce na egzamin)

Kryteria (Co wpisujesz?)Polecenie CKE (Czego szukasz?)Wynik operacji (Przykłady)
Like "K*"Zaczyna się na literę "K".Kowalski, Kot, Kraków
Like "*ski"Kończy się na "ski".Kowalski, Nowakowski, Piotrowski
Like "Anna"Zawiera słowo "Anna" w DOWOLNYM miejscu.Marianna, Anna, Joanna (wielkość liter ignorowana!)
Like "?a*"Drugą literą jest "a".
(Jeden jakikolwiek znak, potem 'a', potem cokolwiek)
Maria, Jan, Karol
Like "?????"Słowo ma DOKŁADNIE 5 liter.Panda, Rower, Ekran (baza odrzuci słowa: Kot, Samochód)
💡
Automagia Accessa (Pro-Tip na czas)
Nie musisz zawsze ręcznie wpisywać słowa Like. Na maturze wystarczy, że w polu Kryteria wpiszesz po prostu Kowalski i wciśniesz Enter. Access inteligentnie rozpozna, że użyłeś znaków wieloznacznych i sam dopisze odpowiedniego operatora oraz otoczy tekst cudzysłowem. Oszczędzasz w ten sposób cenne sekundy i minimalizujesz ryzyko błędu składniowego!
4Brakujące dane: Potęga pustej komórki (Is Null)

Puste komórki w bazie danych to nie jest błąd – to niezwykle cenna informacja. Na maturze brak danych najczęściej oznacza, że jakaś akcja się jeszcze nie zakończyła (np. paczka nie została wysłana, egzamin nie został oceniony). Aby wyszukać takie "dziury", nie możesz użyć zwykłego znaku równości. Baza danych używa do tego specjalnych operatorów stanu.

🕳️ Is Null (Jest Null)

Szuka absolutnej pustki.
Zwraca tylko te rekordy, w których w danej kolumnie nie ma wpisanej absolutnie żadnej wartości. Ani litery, ani cyfry, ani spacji. Komórka jest "dziewicza".

Wpisz w Kryteria: Is Null

📦 Is Not Null (Nie Jest Null)

Szuka komórek z zawartością.
Zwraca wszystkie rekordy, w których znajduje się cokolwiek. Używamy tego, gdy chcemy odrzucić z wyników osoby, które np. nie podały numeru telefonu.

Wpisz w Kryteria: Is Not Null

📚
Maturalny Klasyk: Książki w rękach czytelników
Co roku na maturze pojawia się zadanie typu: "Podaj nazwiska osób, które wypożyczyły książkę, ale jej jeszcze nie oddały". Tabela Wypożyczenia ma zazwyczaj kolumnę Data_zwrotu. Skoro książka nie została oddana, to nikt nie wpisał tam daty. Rozwiązanie to 10 sekund pracy: wrzucasz kolumnę Data_zwrotu do siatki i w wierszu Kryteria wpisujesz Is Null. (Access prawdopodobnie sam podmieni to na polskie Jest Null – to całkowicie normalne).
💀
Zera to nie Null! (Błąd filozoficzny)
Nigdy nie myl braku wartości (Null) z wartością zerową (0)! To dwa zupełnie różne stany w informatyce.
  • Jeśli na koncie bankowym masz 0 zł, to znaczy, że jesteś spłukany (wartość = 0).
  • Jeśli na koncie masz Null, to znaczy, że konto w ogóle nie istnieje lub bank nie wie, ile masz pieniędzy (stan nieokreślony).

Pułapka CKE: Jeśli spróbujesz znaleźć puste rekordy wpisując w siatkę =0, albo wpisując słowo w cudzysłowie "Null", Access potraktuje to dosłownie i zacznie szukać liczby zero lub tekstu złożonego z liter N-U-L-L. Zawsze używaj operatora Is Null bez żadnych znaków równości czy cudzysłowów.