INF.03 · Bazy danych i SQL
Dwa kompletne arkusze egzaminacyjne
To próba generalna: dwa arkusze w konwencji części praktycznej egzaminu INF.03, każdy z importem, kilkoma zapytaniami i dokumentacją. Na oba masz 150 minut. Jeśli nie zdążysz ze wszystkim, zanotuj, na którym punkcie utknąłeś. To cenniejsza informacja do dalszej nauki niż domknięcie arkusza na siłę.
- 150 minut
- 2 arkusze, 13 zapytań
- SnowRent i DanceStudio
Po tej lekcji: wykonasz kompletny arkusz egzaminacyjny od importu po dokumentację i ocenisz, które umiejętności wymagają jeszcze ćwiczeń.
1 · Sytuacja
Arkusz 1: SnowRent
Wypożyczalnia sprzętu narciarskiego prowadzi ewidencję sprzętu, klientów i wypożyczeń. Uruchom Apache i MySQL, zaimportuj plik snowrent.sql (baza snowrent, trzy tabele: Sprzet, Klienci, Wypozyczenia) i zapisz zrzut importu jako import1.png. Zapytania dokumentuj zrzutami zap1.png … zap6.png.
Dokumentacja: zapisz wszystkie zapytania w pliku zapytania_snowrent.txt i opisz w nim system operacyjny oraz wersję MySQL lub MariaDB, na której pracowałeś.
Kryteria oceny: poprawność importu, poprawność i skuteczność każdego zapytania, czytelny zapis SQL oraz kompletność dokumentacji.
2 · Do wykonania
Arkusz 1: sześć zapytań
Przy zmianie danych (zadanie 4) najpierw SELECT, potem UPDATE.
-
Wybierz wszystkie pola z tabeli Sprzet.Oczekiwany wynik8 wierszy
-
Wybierz nazwę i cenę za dzień sprzętu typu „narty”, posortowane rosnąco po cenie.Oczekiwany wynik3 wierszepierwszy wiersz: Narty Rossignol Experience · 55.00
-
Wybierz nazwę sprzętu, którego stan techniczny to „do przeglądu”.Oczekiwany wynik2 wiersze
-
Zaktualizuj cenę całego sprzętu typu „deska”, podwyższając ją o 15%. Najpierw
SELECTz tym samym warunkiem.Oczekiwany wynikzmienionych wierszy: 2 -
Wyświetl dla każdego wypożyczenia imię i nazwisko klienta, nazwę sprzętu oraz liczbę dni (trzy tabele).Oczekiwany wynik8 wierszy
-
Oblicz łączny przychód wypożyczalni z wypożyczeń sprzętu typu „narty” (cena za dzień razy liczba dni).Oczekiwany wynik1 wierszpierwszy wiersz: 805.00
3 · Drugi arkusz
Arkusz 2: DanceStudio (baza dancestudio)
Centrum kursów tanecznych prowadzi zapisy kursantów do instruktorów. Przygotuj stanowisko jak w arkuszu 1: baza dancestudio z pliku (cztery tabele: StyleTanca, Instruktorzy, Kursanci, Zapisy), zrzut importu import2.png, a potem siedem zapytań zap1.png … zap7.png. Czas: 150 minut na oba arkusze.
-
Wybierz wszystkie style taneczne dostępne w ofercie.Oczekiwany wynik5 wierszy
-
Wybierz imię i nazwisko każdego instruktora razem z nazwą prowadzonego stylu.Oczekiwany wynik5 wierszy
-
Wybierz kursantów, którzy zapisali się na zajęcia, ale jeszcze nie zapłacili.Oczekiwany wynik3 wiersze
-
Policz, ilu kursantów zapisało się do każdego instruktora (
JOINiGROUP BY).Oczekiwany wynik5 wierszy -
Znajdź styl taneczny z największą liczbą zapisów (jeden wiersz).Oczekiwany wynik1 wierszpierwszy wiersz: Salsa · 3
-
Oznacz jako opłacone wszystkie zapisy kursanta o adresie e-mail „amelia.k@gmail.com”. Najpierw
SELECT.Oczekiwany wynikzmienionych wierszy: 1 -
Znajdź kursantów zapisanych na więcej niż jedne zajęcia (
GROUP BYpo kursancie iHAVING).Oczekiwany wynik3 wiersze
4 · Sprawdź się
Samokontrola: arkusz 2
Wpisz liczbę wierszy każdego zapytania z arkusza 2.
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
Pułapki egzaminacyjne w obu arkuszach
Rozwiń każdą z nich.
UPDATE o 15% bez sprawdzenia warunku
UPDATE Sprzet SET cena_za_dzien = cena_za_dzien * 1.15;Wszystkie ceny wzrosły o 15%, a polecenie dotyczyło tylko desek.
SELECT * FROM Sprzet WHERE typ = 'deska';
UPDATE Sprzet SET cena_za_dzien = ROUND(cena_za_dzien * 1.15, 2) WHERE typ = 'deska';Skopiuj warunek do SELECT i sprawdź zakres.
Przychód z ceny bez liczby dni
SUM(s.cena_za_dzien)Pomijasz, że wypożyczenie trwało kilka dni.
SUM(s.cena_za_dzien * w.liczba_dni)Przychód to cena za dzień razy liczba dni.
Wartość logiczna jako tekst
UPDATE Zapisy SET oplacone = 'TRUE';W MySQL wartość logiczna to liczba: 1 lub 0. Tekst „TRUE” w apostrofach nie jest wartością logiczną.
UPDATE Zapisy SET oplacone = 1 WHERE ...;TRUE i FALSE bez apostrofów to 1 i 0.
Brak dokumentacji
Dobre zapytania bez zrzutów i pliku tekstowego.Egzaminator nie ma dowodu pracy, więc punkty za dokumentację przepadają.
Zrzuty z całym wynikiem i plik z zapytaniami oraz opisem środowiska.Dokumentacja jest częścią oceny.
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ć
- Arkusz to import, zapytania i dokumentacja: wszystkie trzy części liczą się do oceny.
- Zmiany danych zawsze z kontrolą warunku.
- Przychód liczysz z ceny razy liczba dni lub sztuk.
- Zanotuj, na czym utknąłeś. To plan dalszej nauki.
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ę →