INF.03 · Bazy danych i SQL
INF.03, zadanie SQL 3: serwis telefonów
Pełne zadanie praktyczne na poziomie trudnym. Serwis telefonów łączy raporty, NULL, agregację, podzapytanie i kontrolowaną aktualizację danych. Koszt i data zakończenia mogą być nieznane, dopóki naprawa nie zostanie ukończona, więc uważaj na wartości puste.
- 45–60 minut
- poziom trudny
- baza: inf03_serwis
Po tej lekcji: wykonasz pełne zadanie egzaminacyjne samodzielnie: od importu, przez pięć kwerend, po dokumentację i kartę kontroli.
1 · Sytuacja
Warunki wykonania
Czas orientacyjny: 45–60 minut. Pracuj samodzielnie w XAMPP i phpMyAdmin. Pobierz plik bazy (zip) z sekcji „Pliki do pracy”, rozpakuj go i zaimportuj plik .sql. Nie zmieniaj danych źródłowych poza poleceniami, które tego wyraźnie wymagają.
W katalogu rozwiązania zapisz kwerendy.sql oraz zrzuty kwerenda1.png, kwerenda2.png itd. Baza zawiera klientów, ich urządzenia i naprawy. Nie zastępuj NULL zerem.
2 · Do wykonania
Pięć poleceń egzaminacyjnych
Pracuj samodzielnie. Przy każdym poleceniu podano oczekiwany wynik, żebyś mógł sprawdzić się bez zaglądania do rozwiązania.
-
Wyświetl numer naprawy, klienta, markę, model, opis i status wszystkich napraw. Posortuj od najnowszej daty przyjęcia (przy tej samej dacie od największego numeru naprawy).Oczekiwany wynik8 wierszypierwszy wiersz: 8 · Marek Nowak
-
Wyświetl niezakończone naprawy, czyli rekordy bez daty zakończenia. Pokaż klienta, urządzenie i status.Oczekiwany wynik4 wiersze
-
Dla każdej marki pokaż liczbę napraw i średni znany koszt, zaokrąglony do dwóch miejsc. NULL nie zastępuj zerem.Oczekiwany wynik4 wiersze
-
Za pomocą podzapytania wyświetl klientów, którzy mają więcej niż jedną naprawę. Nie wpisuj identyfikatorów ręcznie.Oczekiwany wynik2 wiersze
-
Zakończ naprawę o numerze 3: ustaw koszt 240, status „zakonczona” i datę zakończenia 2026-09-23. Najpierw
SELECTkontrolny.Oczekiwany wynikzmienionych wierszy: 1
3 · Sprawdź się
Czy Twoje wyniki się zgadzają?
To szybka kontrola, a nie ocena. Liczba wierszy jest pierwszym sygnałem, że warunek albo złączenie działa tak, jak trzeba.
4 · Zanim się pomylisz
Typowe błędy w tym zadaniu
Rozwiń każdą z nich.
= NULL zamiast IS NULL
WHERE data_zakonczenia = NULLZero wierszy, choć są cztery niezakończone naprawy.
WHERE data_zakonczenia IS NULLBrak wartości sprawdzasz przez IS NULL.
Zastępowanie NULL zerem w średniej
AVG(COALESCE(n.koszt, 0))Naprawy bez znanego kosztu zaniżają średnią, bo liczą się jako 0 zł. Polecenie zabrania takiej zamiany.
AVG(n.koszt)AVG sam pomija NULL, więc liczy tylko znane koszty.
UPDATE jednego pola zamiast trzech
UPDATE Naprawy SET status = 'zakonczona' WHERE id_naprawy = 3;Naprawa jest „zakończona”, ale nadal bez kosztu i daty. Polecenie wymaga zmiany trzech kolumn naraz.
UPDATE Naprawy SET koszt = 240, status = 'zakonczona', data_zakonczenia = '2026-09-23' WHERE id_naprawy = 3;Zmieniaj dokładnie to, co wymaga polecenie.
5 · Sprawdź sam siebie
Zanim oddasz pracę
Ta lista odpowiada temu, co sprawdza komisja egzaminacyjna: poprawną bazę, poprawne wyniki i dokumentację.
Podsumowanie
Co warto zapamiętać
- Pracuj według procedury: import, struktura, zapytania etapami, kontrola, zapis i ponowne otwarcie.
- Przed
UPDATEzawszeSELECTz tym samym warunkiem. - Dokumentuj pracę: pliki, zrzuty, liczby rekordów.
- Karta kontroli to ostatni krok przed oddaniem.
Dalej na swoim koncie
Rozgrzewki, quiz i zadania są w biurku ucznia.
Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.
Zaloguj się →