Dział I

Bazy Danych: Fundamenty i Import

Najdrobniejszy, ale najbardziej krytyczny etap. Błąd tutaj sprawi, że żadna z późniejszych kwerend nie zadziała poprawnie.

Wstęp: Błąd na starcie to 0 punktów na mecie

Zadanie z baz danych na maturze to system naczyń połączonych. Import plików tekstowych to najdrobniejszy, ale absolutnie najbardziej krytyczny etap. Jeśli tutaj źle ustawisz separator, zignorujesz polskie znaki albo nadasz zły typ danych – żadna, absolutnie żadna z Twoich późniejszych, skomplikowanych kwerend nie zwróci poprawnego wyniku. Zaczynamy od zera błędów na wejściu.

1Import plików TXT: Omijanie Min CKE

Na maturze nigdy nie dostaniesz gotowego pliku programu MS Access. Dostajesz surowe pliki tekstowe (zazwyczaj 3 lub 4), które musisz samodzielnie podłączyć. Kreator importu to Twoje pierwsze pole bitwy. Wystarczą trzy szybkie, świadome kliknięcia, aby upewnić się, że dane są bezpieczne i gotowe do pracy.

📥 Święta Trójca Kreatora Importu

1
Kodowanie Znaków (Krzaczki vs Polskie Litery)

Zanim klikniesz "Dalej", spójrz na podgląd danych na samym dole okna. Widzisz MikoÂłaj zamiast Mikołaj? To wina złego kodowania. Kliknij przycisk Zaawansowane... (Advanced) i w polu Strona kodowa zmień ustawienie.

Maturalny standard: Zazwyczaj trzeba przełączyć między Środkowoeuropejski (Windows) a UTF-8. Zmieniaj tak długo, aż w podglądzie polskie znaki będą idealne.

2
Ustalenie Separatora

System zapyta, czym oddzielone są kolumny w pliku tekstowym. W 95% zadań maturalnych CKE używa Tabulatora. Czasami jest to śorangenik (;). Jeśli wybierzesz źle, zamiast np. 5 kolumn otrzymasz jedną wielką kolumnę ze zbitką tekstu. Zawsze sprawdzaj podgląd – muszą pojawić się wyraźne pionowe linie oddzielające dane.

3
Złoty ptaszek: "Pierwszy wiersz zawiera nazwy pól"

Jeśli zapomnisz zaznaczyć tego okienka, Access potraktuje Twoje nagłówki (np. ID_klienta, Nazwisko, Wiek) jako zwykłego klienta i wrzuci go do bazy jako rekord numer 1. Zepsuje to sortowanie, późniejsze obliczenia i wymusi traktowanie całej kolumny z liczbami jako zwykły tekst!

💀
Największa pułapka Accessa (Auto-ID)
Pod koniec importu Access uprzejmie zaproponuje: "Pozwól programowi Access dodać klucz podstawowy". NIGDY się na to nie zgadzaj! Wybierz opcję "Wybierz własny klucz podstawowy" i wskaż odpowiednią kolumnę (np. ID_ucznia) z Twojego pliku. Jeśli plik w ogóle nie ma unikalnego ID, wybierz "Brak klucza". Zgoda na auto-klucz zniszczy relacje, tworząc nową, sztuczną numerację (1, 2, 3...), która absolutnie nie pasuje do ID podanych przez egzaminatora w innych plikach z arkusza.
2Typy Danych: Fundament Poprawnych Obliczeń

Baza danych nie jest na tyle mądra, by domyślić się, co oznaczają Twoje liczby. Jeśli zadeklarujesz datę urodzenia jako "Krótki tekst", nie zadziała żadna kwerenda pytająca o osoby urodzone "po 2000 roku". Jeśli zadeklarujesz ułamek jako "Liczbę całkowitą", Access po prostu obetnie wszystko po przecinku, bezpowrotnie fałszując wyniki.

🧭 Przewodnik po podstawowych typach (Access)

Krótki tekst
Do nazwisk, miast, ale przede wszystkim – do numerów, na których nie wykonujesz operacji matematycznych!
Przykłady: Kod pocztowy (02-230), PESEL, Numer telefonu, ID klienta (np. K001). Ustawienie PESELu jako liczby to błąd (zgubi wiodące zera lub przekroczy zakres limitu liczby!).
Liczba całkowita (Długa)
Używamy wyłącznie do wartości wymiernych, pełnych, na których będziemy robić SUMĘ lub ŚorangeNIĄ.
Przykłady: Wiek ucznia, Ilość sztuk w magazynie, Rok wydania książki (jako samo 2025).
Data i godzina
Kluczowy typ. Pozwala na używanie funkcji wyciągających (np. samo Year()) i filtrowanie przedziałów czasu (od - do).
Przykłady: Data wypożyczenia, Czas logowania.
Liczba (Podwójna precyzja)
Inaczej typ zmiennoprzecinkowy (Double). Używamy tam, gdzie ułamki są niezbędne.
Przykłady: Cena produktu, Waga paczki, Oceny uczniów (np. 4.5).
🚨
Gigantyczna pułapka: Kropka vs Przecinek
Polski system Windows (i polski Access) oczekuje, że ułamki będą oddzielone przecinkiem (np. 3,14). Tymczasem pliki maturalne z CKE bardzo często formatowane są w systemie amerykańskim, używającym kropki (np. 3.14).
Co się stanie, jeśli to zignorujesz?

Gdy Access zobaczy 3.14 (z kropką), uzna, że to dziwny tekst. Automatycznie zmieni typ tej kolumny na Krótki tekst. W efekcie nie policzysz później łącznego zysku ani śorangeniej ceny (bo nie da się zsumować liter).

💡
Rozwiązanie: Zaawansowane opcje importu
Aby tego uniknąć, podczas kreatora importu pliku tekstowego (na etapie wyboru separatora kolumn), kliknij przycisk Zaawansowane... (Advanced) w lewym dolnym rogu.

Znajdź pole Symbol dziesiętny (Decimal Symbol). Jeśli w pliku widzisz kropki, zmień domyślny przecinek na kropkę (.). Access grzecznie przetłumaczy wszystkie kropki na liczby zmiennoprzecinkowe, a kwerendy obliczeniowe zadziałają bez zarzutu.

3Klucz Podstawowy i Obcy: Detektywistyka CKE

W zadaniach maturalnych CKE prawie nigdy nie dostajesz gotowego rysunku (schematu) pokazującego, jak połączyć tabele. Otrzymujesz tylko "surowe" pliki tekstowe z setkami wierszy i musisz samodzielnie odkryć, co jest z czym powiązane. Do tego służą klucze – specjalne kolumny pełniące rolę unikalnych identyfikatorów i łączników.

🔑 Klucz Podstawowy (Primary Key)

Szef tabeli. Absolutnie unikalny.
Jego zadaniem jest odróżnienie od siebie dwóch identycznych elementów (np. dwóch Janów Kowalskich). W danej tabeli wartość klucza podstawowego nigdy nie może się powtórzyć ani być pusta.

Jak wygląda w plikach CKE? Zazwyczaj jest to pierwsza kolumna od lewej. Nosi nazwy takie jak: ID_ucznia, PESEL, Kod_produktu, Nr_rejestracyjny.

🔗 Klucz Obcy (Foreign Key)

Łącznik. Odwiedzający z innej tabeli.
To kolumna, która "wskazuje" na klucz podstawowy w innej tabeli. W przeciwieństwie do podstawowego, klucz obcy może się powtarzać setki razy (np. jeden klient może złożyć wiele zamówień).

Gdzie go szukać? Zazwyczaj znajduje się w tabelach rejestrujących zdarzenia (np. tabela Wypożyczenia będzie miała ID_czytelnika oraz ID_ksiazki jako klucze obce).

Zobaczmy to na klasycznym przykładzie z matury – systemie bibliotecznym. Zwróć uwagę, jak nazwy kolumn zdradzają ich powiązania.

Tabela: CZYTELNICYTabela: KSIAZKITabela: WYPOZYCZENIA
PKID_czytelnikaPKID_ksiazkiPKID_wypozyczenia
ImieTytulFKID_czytelnika
NazwiskoAutorFKID_ksiazki
KlasaRok_wydaniaData_zwrotu
🧠
Maturalna zasada zgodności typów
Aby w ogóle móc połączyć dwie tabele, Klucz Podstawowy i Klucz Obcy muszą mieć ten sam typ danych!
Jeśli w tabeli Czytelnicy ustawiłeś ID_czytelnika jako Krótki Tekst (bo zawierało np. literę "C01"), to w tabeli Wypożyczenia kolumna ID_czytelnika również musi być ustawiona jako Krótki Tekst. Jeśli jedna będzie tekstem, a druga liczbą, Access wyrzuci błąd przy próbie utworzenia relacji (tzw. konflikt typów danych).
4Budowanie Relacji: Zamykanie systemu

Kiedy masz już poprawnie zaimportowane tabele z przypisanymi kluczami podstawowymi, czas je ze sobą spiąć. Przechodzisz do zakładki Narzędzia bazy danych i klikasz Relacje. Otwiera się puste pole, na które wrzucasz swoje tabele. Samo połączenie jest banalnie proste – to dosłownie mechanika "złap i upuść" (Drag & Drop) – jednak to ukryte pod nim opcje decydują o tym, czy baza zadziała.

🔗 Złota zasada łączenia: PK do FK

Łączenie tabel polega zawsze na tym samym: Klikasz i przytrzymujesz Klucz Podstawowy (PK) w jednej tabeli, przeciągasz myszką i upuszczasz go dokładnie na nazwie Klucza Obcego (FK) w drugiej tabeli.
Klienci (PK)
ID_klienta
➡️
Zamówienia (FK)
ID_klienta
🛡️
Więzy integralności (Święty Graal CKE)
Gdy upuścisz klucz, Access wyświetli okienko Edytowanie relacji. Na samym środku znajduje się najważniejszy checkbox na całej maturze: Wymuszaj więzy integralności (Enforce Referential Integrity).

Co to robi? Gwarantuje, że do bazy nie trafią "dane widma". Jeśli zaznaczysz to pole, Access nie pozwoli dodać zamówienia dla ID_klienta = 99, jeśli taki klient w ogóle nie istnieje w tabeli "Klienci". To tarcza ochronna Twoich danych. Na maturze ZAWSZE staraj się to zaznaczać.

Co zrobić, gdy Access krzyczy błędem? (Troubleshooting)

Klikasz "Utwórz relację", a program rzuca oknem błędu. To moment paniki dla wielu maturzystów. Oto trzy jedyne powody, dla których Access odmawia współpracy, oraz błyskawiczne sposoby ich naprawy:

Komunikat błęduCo oznacza?Jak to naprawić (Szybka akcja)
"Aparat bazy danych nie może zablokować tabeli..."Tabela jest otwarta w tle.

Access nie może edytować połączeń tabeli, którą właśnie przeglądasz. Zamknij wszystkie otwarte zakładki tabel (prawy klik na zakładkę na górze -> Zamknij wszystko) i spróbuj połączyć ponownie.

"Relacja musi dotyczyć tej samej liczby pól o takich samych typach..."Konflikt typów danych.

Próbujesz połączyć Krótki Tekst z Liczbą (np. nie zmieniłeś kropek na przecinki podczas importu i PK jest liczbą, a FK tekstem). Przejdź do Widoku Projektu obu tabel, sprawdź typy i zrób tak, by były identyczne (najczęściej: obie na Krótki Tekst lub obie na Długą Liczbę Całkowitą).

"Dane w tabeli 'X' naruszają zasady integralności..."Śmieci w pliku tekstowym CKE.

Zaznaczyłeś "Wymuszaj więzy...", ale Access odkrył, że w pliku CKE jest błąd (np. wypożyczenie wskazuje na książkę nr 500, a w bazie jest tylko 400 książek). Rozwiązanie maturalne: Odznacz checkbox "Wymuszaj więzy integralności" i połącz je "na luźno". Na maturze to sygnał, że CKE celowo podrzuciło uszkodzony rekord, który w jednym z kolejnych poleceń będziesz musiał znaleźć i usunąć!