INF.03 · Bazy danych i SQL
Klinika WetVet: złożone zestawienia i widok
Klinika weterynaryjna prowadzi rejestr pacjentów (zwierząt), ich właścicieli i wykonanych zabiegów. Zestawienia wymagają złączeń trzech i czterech tabel. Na końcu zapisujesz raport jako widok gotowy do wielokrotnego użycia.
- około 45 minut
- zadanie w stylu egzaminacyjnym
- baza: klinika_wetvet
Po tej lekcji: wykonasz komplet zapytań w warunkach egzaminacyjnych i udokumentujesz każde zrzutem ekranu.
1 · Sytuacja
Scenariusz i przygotowanie
Zaimportuj bazę klinika_wetvet (Wlasciciele, Zwierzeta, Zabiegi, Wizyty).
2 · Do wykonania
Zapytania do wykonania
Dla każdego zapytania zrób zrzut ekranu. Oczekiwane liczby wierszy podano przy zadaniach, a pełne rozwiązania znajdziesz dopiero po wykonaniu pracy samodzielnie.
-
Pokaż wszystkie wizyty razem z imieniem zwierzęcia, jego gatunkiem i nazwą zabiegu.Oczekiwany wynik10 wierszy
-
Policz łączny koszt leczenia dla każdego zwierzęcia (imię i suma). Od największej kwoty.Oczekiwany wynik6 wierszypierwszy wiersz: Reksio · 500.00
-
Znajdź właściciela, który wydał najwięcej na leczenie swoich zwierząt (cztery tabele, jeden wiersz).Oczekiwany wynik1 wierszpierwszy wiersz: Marta · Olejniczak · 650.00
-
Pokaż zwierzęta, u których nigdy nie wykonano szczepienia (
NOT INz podzapytaniem po zabiegu „Szczepienie”).Oczekiwany wynik3 wiersze -
Pokaż gatunek zwierząt, na którym wydano łącznie najwięcej pieniędzy (jeden wiersz).Oczekiwany wynik1 wierszpierwszy wiersz: pies · 970.00
-
Utwórz widok
HistoriaLeczenia(imię zwierzęcia, nazwisko właściciela, nazwa zabiegu, data). Odczytaj go poleceniemSELECT * FROM HistoriaLeczenia;.Oczekiwany wynik10 wierszy po odczycie widoku
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
Trzy pułapki w tym zadaniu
Rozwiń każdą z nich.
Pominięta tabela w łańcuchu złączeń
FROM Wizyty w JOIN Zwierzeta z ... JOIN Zabiegi zb ...
-- bez tabeli Wlasciciele, a pytanie dotyczy właścicielaNie ma jak pokazać nazwiska właściciela. Brakuje jednego złączenia.
... JOIN Wlasciciele o ON z.id_wlasciciela = o.id_wlascicielaRysuj łańcuch tabel od faktu (Wizyty) do wszystkich potrzebnych opisów.
Sumowanie po złej kolumnie grupującej
GROUP BY o.nazwiskoDwie osoby o tym samym nazwisku zostaną zsumowane razem.
GROUP BY o.id_wlasciciela, o.imie, o.nazwiskoGrupuj po kluczu głównym i dodaj opisujące kolumny.
Widok jako zapis wyniku
„Widok HistoriaLeczenia przechowuje dane.”Widok zapisuje zapytanie, a nie dane. Gdy dodasz wizytę, pojawi się w widoku automatycznie.
CREATE VIEW HistoriaLeczenia AS SELECT ...;Widok jest zapisanym zapytaniem.
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ć
- Czytaj polecenie jak opis wyniku: kolumny, tabele, warunek, kolejność.
- Złączenia buduj po jednym i kontroluj liczbę wierszy.
- Pusty wynik też może być poprawny, więc sprawdź go kontrolnym zapytaniem.
- Dokumentuj pracę zrzutami i zapisanym plikiem.
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ę →