INF.03 · Bazy danych i SQL

Wypożyczalnia filmów, część 1: import gotowej bazy

Na egzaminie zwykle nie budujesz bazy od zera. Dostajesz gotowy plik i pracujesz na nim. Ta umiejętność wydaje się prosta, a to na niej najczęściej gubi się pierwsze minuty: import w złej zakładce, w złej bazie albo bez sprawdzenia wyniku. Dziś ćwiczysz ją dokładnie tak, jak będzie na egzaminie.

  • około 25 minut
  • import pliku .sql
  • kontrola po imporcie

Po tej lekcji: zaimportujesz bazę z pliku, sprawdzisz tabele i liczbę rekordów oraz udokumentujesz import zrzutem ekranu.

1 · Sytuacja

Gotowy projekt od klienta

Dostałeś od klienta gotowy projekt bazy wypożyczalni filmów jako plik wypozyczalnia_filmow.sql. Pobierzesz go z sekcji „Pliki do pracy” w biurku. Nie kopiuj kodu ręcznie: importujesz plik przez zakładkę Importuj, a nie wklejasz go w zakładce SQL.

Plik sam tworzy bazę wypozyczalnia_filmow i wybiera ją, więc import zadziała także wtedy, gdy wcześniej jej nie założyłeś. Jeśli taka baza już istnieje, usuń ją przed importem (DROP DATABASE), żeby nie dostać błędu „table already exists”.

Co powinno powstać po imporcie

TabelaKolumnyRekordów
Gatunkiid_gatunku, nazwa5
Filmyid_filmu, tytul, rok_produkcji, id_gatunku, cena_wypozyczenia12
Klienciid_klienta, imie, nazwisko, email8
Wypozyczeniaid_wypozyczenia, id_klienta, id_filmu, data_wypozyczenia, data_zwrotu15
Cztery tabele. Niezwrócone wypożyczenia mają w kolumnie data_zwrotu wartość NULL.

2 · Do wykonania

Zadania do wykonania

  1. Uruchom Apache i MySQL w XAMPP Control Panel (obie usługi zielone) i otwórz phpMyAdmin.
    Oczekiwany wynikzielone usługi
  2. Wybierz zakładkę Importuj (nie SQL), wskaż pobrany plik i kliknij Wykonaj. Zrób zrzut ekranu z komunikatem o poprawnym imporcie.
    Oczekiwany wynikkomunikat o sukcesie
  3. Wybierz bazę w lewym panelu i wykonaj SHOW TABLES;.
    Oczekiwany wynik4 wiersze
  4. Policz filmy: SELECT COUNT(*) FROM Filmy;
    Oczekiwany wynik1 wierszpierwszy wiersz: 12
  5. Policz gatunki: SELECT COUNT(*) FROM Gatunki;
    Oczekiwany wynik1 wierszpierwszy wiersz: 5
  6. Policz klientów: SELECT COUNT(*) FROM Klienci;
    Oczekiwany wynik1 wierszpierwszy wiersz: 8
  7. Policz wypożyczenia: SELECT COUNT(*) FROM Wypozyczenia;
    Oczekiwany wynik1 wierszpierwszy wiersz: 15
  8. Sprawdź, które wypożyczenia nie zostały jeszcze zwrócone: SELECT * FROM Wypozyczenia WHERE data_zwrotu IS NULL;
    Oczekiwany wynik4 wiersze

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

Trzy pomyłki przy imporcie

Rozwiń każdą z nich.

Import w zakładce SQL zamiast Importuj
Tak nie
Zawartość pliku wklejona do zakładki „SQL”.

Duży plik łatwo uciąć albo wkleić niepełny, a część poleceń może się nie wykonać.

Tak
Zakładka „Importuj”, przycisk „Wybierz plik”, „Wykonaj”.

„Importuj” obsługuje pliki, a „SQL” obsługuje wklejony tekst.

Import do niewłaściwej bazy
Tak nie
Wybrana jest baza „test”, a plik nie zawiera CREATE DATABASE.

Tabele powstają w złej bazie albo import kończy się błędem No database selected.

Tak
Kliknij w lewym panelu właściwą bazę, a dopiero potem importuj. Ten plik sam wybiera bazę, ale sprawdź to po imporcie.

Po każdym imporcie sprawdzaj SELECT DATABASE(); i SHOW TABLES;.

Niekompletny import
Tak nie
Po imporcie widać tylko 2 z 4 tabel.

Import nie dokończył się, na przykład przez przekroczony limit rozmiaru albo przerwane połączenie.

Tak
Przeczytaj komunikat na górze strony, usuń niekompletną bazę (`DROP DATABASE`) i zaimportuj od nowa.

Zawsze porównaj liczbę tabel i rekordów z oczekiwaną.

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. Import wykonujesz w zakładce Importuj, na właściwej bazie.
  2. Po imporcie sprawdzasz tabele i liczby rekordów.
  3. NULL w data_zwrotu oznacza wypożyczenie jeszcze nieoddane.
  4. Zrzut ekranu dokumentuje poprawny import.

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