Przejdź do treści

Listopadowa cena: matura z informatyki za 100 zł zamiast 120 zł za lekcję. Zgłoś się do 30.11. Umów bezpłatną konsultację →

Dział I

Bazy Danych: Fundamenty, Import i Relacje

Import pliku tekstowego bez utraty danych, typy pól, klucz główny i obcy oraz relacje — czyli etap, który przesądza o wszystkich późniejszych kwerendach.

Wstęp: pięć minut, od których zależy całe zadanie

Zadanie z bazy danych na maturze prawie zawsze zaczyna się tak samo: dostajesz pliki tekstowe albo CSV i masz zbudować z nich bazę. To nudny etap, ale każdy błąd popełniony tutaj wraca z odsetkami. Data wczytana jako tekst nie da się posortować chronologicznie, kwota z przecinkiem zamiast kropki nie zsumuje się w agregacji, a brak relacji zamieni złączenie w iloczyn kartezjański. Ten dział to lista kontrolna pierwszych pięciu minut pracy przy komputerze.

1 Import pliku tekstowego krok po kroku

Zanim cokolwiek zaimportujesz, otwórz plik w notatniku. Trzydzieści sekund oglądania danych oszczędza kwadrans poprawiania tabeli. Sprawdzasz cztery rzeczy: czym rozdzielone są kolumny, czy pierwszy wiersz to nagłówki, jaki jest separator dziesiętny i czy polskie znaki wyświetlają się poprawnie.

Cztery decyzje w kreatorze importu
  • Ogranicznik. Tabulator, średnik albo przecinek. W polskich plikach CSV najczęściej jest to średnik, bo przecinek pełni rolę separatora dziesiętnego.
  • Pierwszy wiersz zawiera nazwy kolumn. Jeśli tego nie zaznaczysz, nagłówki wylądują jako zwykły rekord i zepsują typ całej kolumny.
  • Kodowanie znaków. Gdy zamiast „ą” widzisz krzaki, wróć i wybierz inne kodowanie: pliki CKE bywają w UTF-8, starsze w Windows-1250.
  • Typ każdej kolumny. Kreator zgaduje i często się myli, zwłaszcza przy datach i kwotach. To jedyny moment, w którym możesz to ustawić bez przepisywania danych.
Przecinek kontra kropka

Jeśli w pliku kwoty zapisano jako 1234,50, a system oczekuje kropki, kolumna wczyta się jako tekst. Objaw jest charakterystyczny: wartości wyrównują się do lewej, a funkcja sumująca zwraca zero albo błąd. Ratunek to import kolumny jako tekstu i konwersja w kwerendzie albo poprawienie separatora w pliku przed importem, w edytorze tekstu, opcją zamiany wszystkich wystąpień.

2 Typy pól i skutki złego wyboru

Typ pola nie jest kosmetyką. Decyduje o tym, jak dane się sortują, czy da się na nich liczyć i czy porównanie zadziała. Najczęstsze pomyłki dotyczą trzech kolumn: daty, kwoty i numeru, który tylko wygląda na liczbę.

Ustaw jako liczbę lub datę
  • ceny, kwoty, oceny, wagi — typ liczbowy lub walutowy
  • daty zamówień, urodzenia, wypożyczenia — typ data i godzina
  • wszystko, co będziesz sumować, uśredniać albo porównywać zakresem
Zostaw jako tekst
  • kod pocztowy — myślnik i zera wiodące
  • numer telefonu, PESEL, numer indeksu
  • identyfikatory z literami, na przykład ZAM/2026/041
Data jako tekst: cichy zabójca punktów

Data wczytana jako tekst posortuje się alfabetycznie. Przy zapisie 01.02.2026 i 15.01.2026 tekstowo „pierwszy lutego” wyląduje przed „piętnastym stycznia”, bo porównywane są kolejne znaki, a nie momenty w czasie.

Format RRRR-MM-DD jest jedynym, który sortuje się poprawnie także jako tekst. Jeśli musisz ratować kolumnę tekstową, przekształć ją funkcją konwersji daty w polu obliczeniowym, zanim zaczniesz filtrować zakresem.

3 Klucz główny i klucz obcy

Klucz główny jednoznacznie wskazuje rekord w tabeli: nie może się powtarzać ani być pusty. Klucz obcy to pole, które przechowuje wartość klucza głównego z innej tabeli i w ten sposób łączy dane. W typowym zadaniu tabela Zamowienia ma kolumnę ID_klienta, która wskazuje rekord w tabeli Klienci.

Klienci
ID          <- klucz glowny, unikalny
Nazwisko
Miasto

Zamowienia
Numer       <- klucz glowny
ID_klienta  <- klucz obcy, wskazuje Klienci.ID
Wartosc
Data
Dlaczego nie trzymamy wszystkiego w jednej tabeli

Gdyby przy każdym zamówieniu powtarzać nazwisko i adres klienta, to jedna zmiana adresu wymagałaby poprawienia setek wierszy, a literówka w jednym z nich rozbiłaby grupowanie: „Kowalski” i „Kowaski” policzyłyby się jako dwie osoby. Rozdzielenie danych na tabele powiązane kluczami to właśnie sens normalizacji — dane opisujące jeden byt trzymamy w jednym miejscu.

4 Relacje i rodzaje złączeń

W Accessie relacje ustawiasz w oknie Narzędzia bazy danych → Relacje, przeciągając klucz główny na klucz obcy. Zaznaczenie więzów integralności blokuje wpisanie zamówienia dla nieistniejącego klienta. W zapytaniu tę samą informację niesie złączenie, a jego rodzaj zmienia wynik.

-- tylko klienci, ktorzy maja zamowienia
SELECT k.Nazwisko, z.Numer
FROM Klienci AS k
INNER JOIN Zamowienia AS z ON k.ID = z.ID_klienta;

-- wszyscy klienci, takze ci bez zamowien
SELECT k.Nazwisko, z.Numer
FROM Klienci AS k
LEFT JOIN Zamowienia AS z ON k.ID = z.ID_klienta;

-- klienci, ktorzy nie zlozyli zadnego zamowienia
SELECT k.Nazwisko
FROM Klienci AS k
LEFT JOIN Zamowienia AS z ON k.ID = z.ID_klienta
WHERE z.Numer IS NULL;
Typowe polecenie: „znajdź tych, którzy niczego nie kupili”

Samo złączenie wewnętrzne takich rekordów nie pokaże, bo one nie mają pary. Potrzebujesz złączenia zewnętrznego i warunku na wartość pustą po stronie drugiej tabeli — wzorzec z ostatniego przykładu wyżej. W siatce projektowej odpowiada mu kwerenda niepasujących rekordów, którą Access potrafi zbudować kreatorem.

5 Kontrola po imporcie

Zanim napiszesz pierwszą kwerendę, poświęć minutę na sprawdzenie, czy baza jest zdrowa. Każdy z tych punktów wyłapuje błąd, który inaczej ujawni się dopiero przy ostatnim podpunkcie zadania, gdy nie będzie już czasu.

  • Liczba rekordów. Porównaj licznik w tabeli z liczbą wierszy w pliku źródłowym. Różnica o jeden zwykle oznacza wczytany nagłówek albo pusty wiersz na końcu pliku.
  • Wyrównanie kolumn. Liczby i daty wyrównują się do prawej. Kolumna kwot wyrównana do lewej to sygnał, że masz tekst.
  • Polskie znaki. Przejrzyj kilka rekordów z nazwiskami.
  • Wartości skrajne. Posortuj kolumnę liczbową rosnąco i malejąco. Kwota ujemna albo data z roku 1899 to ślad błędnej konwersji.
  • Relacje. Otwórz okno relacji i sprawdź, czy linie łączą właściwe pola — łatwo pomylić ID z ID_klienta.

6 Rodzaje relacji i tabela łącząca

W arkuszach spotkasz trzy układy. Jeden do wielu to sytuacja domyślna: jeden klient ma wiele zamówień, jedna klasa wielu uczniów. Jeden do jednego pojawia się rzadko, zwykle gdy dane rozbito na dwie tabele ze względów porządkowych. Wiele do wielu wymaga trzeciej tabeli, bo inaczej nie da się go zapisać.

Uczniowie          Zapisy (tabela laczaca)        Kursy
ID          <---  ID_ucznia                      ID  --->
Nazwisko          ID_kursu                       Nazwa
                  Data_zapisu                    Prowadzacy

Jeden uczeń chodzi na kilka kursów, a na jeden kurs chodzi wielu uczniów. Bez tabeli łączącej musiałbyś wpisywać listę kursów do jednego pola, a wtedy nie da się ani policzyć uczestników, ani odfiltrować po kursie. Z tabelą łączącą pytanie „ilu uczniów chodzi na każdy kurs” to zwykłe grupowanie po ID_kursu.

7 Gdy na stanowisku jest LibreOffice Base

Zestaw oprogramowania wybierasz przed egzaminem z listy ogłoszonej przez CKE, a w zestawach z pakietem LibreOffice rolę Accessa pełni Base. Mechanizmy są te same, ale trzy rzeczy wyglądają inaczej i warto wiedzieć o nich wcześniej niż przy zadaniu.

  • Import danych zwykle prowadzi przez arkusz kalkulacyjny: otwierasz plik tekstowy w Calcu, ustawiasz separatory i typy kolumn, a potem wklejasz zakres do Base jako nową tabelę.
  • Kreator kwerend jest uboższy niż siatka Accessa, więc zapytania szybciej pisze się w widoku SQL. To dodatkowy powód, żeby znać składnię, a nie tylko klikanie.
  • Znaki wieloznaczne to % i _, a nie gwiazdka i pytajnik. Ta sama kwerenda przeniesiona z Accessa bez zamiany symboli zwróci pustkę.
Jak to ćwiczyć

Weź pliki z dowolnego arkusza z naszej bazy i zaimportuj je dwa razy: raz zgadując typy, raz ustawiając je świadomie. Potem policz sumę wybranej kolumny w obu wersjach. Gdy zobaczysz różnicę na własne oczy, żaden kreator importu już Cię nie zaskoczy.

Korepetycje z informatyki

Zdajesz maturę rozszerzoną z informatyki?

Prowadzimy indywidualne przygotowanie do matury z informatyki — algorytmy, Python i C++, bazy danych i arkusz kalkulacyjny. Zajęcia online, na arkuszach CKE. Zobacz program i cennik.

Zobacz korepetycje z informatyki

Uczysz się w technikum informatycznym? Prowadzimy też przygotowanie do kwalifikacji INF.02, INF.03 i INF.04. Zobacz egzaminy zawodowe →