INF.03 · Bazy danych i SQL

INF.03, zadanie SQL 1: sklepik szkolny

Pełne zadanie praktyczne na poziomie podstawowym. Dostajesz bazę szkolnego sklepiku i pięć wymagań. Sam wybierasz klauzule, kolejność pracy i sposób kontroli. Zadanie sprawdza import, analizę struktury, SELECT, relacje, agregację i bezpieczną modyfikację rekordów.

  • 45–60 minut
  • poziom podstawowy
  • baza: inf03_sklepik

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, kategorie, produkty i zamówienia szkolnego sklepiku. Relacje odczytaj samodzielnie po imporcie.

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.

  1. Wyświetl nazwę, cenę i stan produktów dostępnych w liczbie większej niż 10. Posortuj malejąco według ceny.
    Oczekiwany wynik7 wierszypierwszy wiersz: Kanapka serowa · 8.50
  2. Wyświetl imię, nazwisko i klasę klientów bez podanego adresu e-mail.
    Oczekiwany wynik2 wiersze
  3. Wyświetl datę zamówienia, klienta, produkt, ilość oraz wartość pozycji. Nadaj kolumnie obliczanej alias wartosc.
    Oczekiwany wynik12 wierszy
  4. Dla każdej kategorii pokaż jej nazwę, liczbę produktów i średnią cenę zaokrągloną do dwóch miejsc.
    Oczekiwany wynik3 wiersze
  5. Zwiększ cenę artykułów szkolnych o 5%. Przed UPDATE wykonaj SELECT kontrolny z identycznym warunkiem.
    Oczekiwany wynikzmienionych wierszy: 3

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.

Ta interakcja wymaga włączonego JavaScriptu.

4 · Zanim się pomylisz

Typowe błędy w tym zadaniu

Rozwiń każdą z nich.

Identyfikator zamiast nazwy
Tak nie
SELECT z.id_klienta, z.id_produktu, ...

Raport pokazuje liczby, których człowiek nie rozumie. Polecenie wymaga imienia, nazwiska i nazwy produktu.

Tak
JOIN Klienci k ...  JOIN Produkty p ...

Złączenie służy zamianie identyfikatorów na opisy.

Brak aliasu kolumny obliczanej
Tak nie
SELECT z.ilosc * p.cena FROM ...

Nagłówek kolumny to całe wyrażenie. Polecenie wymaga aliasu wartosc.

Tak
SELECT z.ilosc * p.cena AS wartosc FROM ...

Alias nadaje czytelny nagłówek.

UPDATE kategorii bez warunku
Tak nie
UPDATE Produkty SET cena = cena * 1.05;

Drożeją wszystkie produkty, a polecenie dotyczyło tylko artykułów szkolnych.

Tak
UPDATE Produkty SET cena = ROUND(cena * 1.05, 2)
WHERE id_kategorii = (SELECT id_kategorii FROM Kategorie WHERE nazwa = 'Artykuly szkolne');

Najpierw SELECT z tym samym warunkiem, potem UPDATE.

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ć

  1. Pracuj według procedury: import, struktura, zapytania etapami, kontrola, zapis i ponowne otwarcie.
  2. Przed UPDATE zawsze SELECT z tym samym warunkiem.
  3. Dokumentuj pracę: pliki, zrzuty, liczby rekordów.
  4. 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ę →
Źródła i dalsza nauka