Zadania SQL online
SQL to język zapytań do baz danych - tych samych, które stoją za sklepem internetowym, dziennikiem elektronicznym i aplikacją w telefonie. Najszybciej uczy się go przez praktykę: piszesz zapytanie, uruchamiasz je i od razu widzisz wynik w tabeli. W BitWizards robisz to w przeglądarce, bez instalowania serwera bazy danych.
Masz dwie drogi:
- Bez logowania - kurs SQLite: podstawy i różnice względem MySQL. Baza działa w całości w Twojej przeglądarce, a zadania sprawdzają się same.
- Po zalogowaniu - zadania na prawdziwym serwerze MySQL z własną, izolowaną bazą ucznia, w kursach prowadzonych przez nauczyciela.
Czego się nauczysz
SELECT,WHERE, sortowanie (ORDER BY),LIKE,IN,BETWEENi funkcje.- Funkcje agregujące i grupowanie:
COUNT,SUM,AVG,GROUP BY,HAVING. - Łączenie tabel:
JOINiLEFT JOIN. - Modyfikacja danych:
INSERT,UPDATE,DELETE. - Tworzenie tabel, typy danych, klucze główne i obce, więzy
UNIQUEiCHECK.
Podstawowy SQL wygląda niemal identycznie w SQLite i MySQL. SELECT z WHERE,
JOIN czy GROUP BY napiszesz tak samo w obu bazach, więc to, czego nauczysz
się w przeglądarce, przeniesiesz wprost na egzamin i do pracy.
Zadania SQL z auto-sprawdzaniem
Każde zadanie ma tabelę z danymi startowymi i polecenie, np. “wypisz tytuły gier z oceną powyżej 4 posortowane od najnowszej”. Gdy uruchomisz zapytanie, platforma porównuje wynik z wynikiem wzorcowego rozwiązania. Liczy się zawartość tabeli wynikowej, a nie identyczny tekst zapytania - ten sam wynik da się osiągnąć różnymi zapytaniami i każde poprawne jest zaliczane. Jeśli polecenie wymaga sortowania, kolejność wierszy też ma znaczenie.
W kursie są przykłady (gotowe zapytanie, które uruchamiasz i modyfikujesz) i zadania do samodzielnego rozwiązania. Zaliczone zadania oznacza gwiazdka, więc zawsze wiesz, gdzie skończyłeś.
Różnice między SQLite a MySQL
Ta część kursu przydaje się każdemu, kto zna albo pozna MySQL. Zobaczysz różnice na działających przykładach, a nie tylko w tabelce:
- Typy danych - SQLite ma elastyczne typy i przyjmie tekst do kolumny
INTEGER, MySQL jest ścisły. Zobacz temat Tabele i typy: największa różnica. - Autonumeracja -
INTEGER PRIMARY KEYw SQLite zamiastAUTO_INCREMENTw MySQL. - Daty - SQLite nie ma natywnego typu
DATE; daty zapisuje się jako tekst i obsługuje funkcjamidate()istrftime(). - Klucze obce - w SQLite domyślnie wyłączone, w MySQL (InnoDB) działają od razu.
- UPSERT -
ON CONFLICTw SQLite zamiastON DUPLICATE KEY UPDATEw MySQL.
Całość zbiera ostatni temat kursu, SQLite w praktyce + ściągawka różnic. Więcej o samym SQLite przeczytasz na stronie kurs SQLite.
MySQL po zalogowaniu: własna baza ucznia
W kursach prowadzonych przez nauczyciela zadania SQL mogą działać na prawdziwym serwerze MySQL. Każdy uczeń ma osobną bazę dla każdego zadania i osobnego użytkownika bazy z dostępem tylko do własnych danych. Dzięki temu:
- uczniowie nie widzą i nie psują sobie nawzajem danych,
- przycisk “Przywróć dane startowe” odtwarza bazę zadania jednym kliknięciem,
więc można śmiało testować
UPDATEiDELETE, - zbyt długie zapytania są przerywane limitem czasu i nie blokują serwera.
Na tej samej bazie działa też PHP wykonywany na serwerze: skrypt ucznia łączy się z jego bazą MySQL i generuje stronę z danymi, jak w aplikacji z egzaminu. Podstawy samego PHP przećwiczysz bez logowania w kursie PHP: podstawy w przeglądarce, a publiczne lekcje PHP z MySQL (formularze i praca z bazą w stylu INF.03) są w przygotowaniu.
Nauczyciel widzi pracę ucznia na żywo, może odtworzyć historię pisania zapytań i wystawić ocenę w skali 1-6. Jak założyć klasę, opisujemy na stronach dla szkół i jak zacząć.
SQL a egzamin INF.03
Bazy danych to część nazwy kwalifikacji INF.03: tworzenie
i administrowanie stronami i aplikacjami internetowymi oraz bazami danych.
W części praktycznej egzaminu trzeba przygotować bazę, napisać zapytania SQL
i wykorzystać je w aplikacji internetowej, zwykle razem z
PHP. Na egzaminie używa się MySQL lub MariaDB, ale
zapytania typu SELECT, JOIN, INSERT czy UPDATE ćwiczone w kursie SQLite
zapiszesz tam tak samo. Znajomość różnic pomaga uniknąć pułapek przy typach
i kluczach.
SQL na maturze z informatyki
Na maturze z informatyki pojawiają się zadania z baz danych: kilka powiązanych tabel w plikach tekstowych i pytania o zestawienia, liczności czy rekordy spełniające warunki. Takie zadania można rozwiązywać zapytaniami SQL. Kurs SQLite uczy dokładnie tych umiejętności: filtrowania, grupowania, agregacji i łączenia tabel. Szersze omówienie programowania w szkole znajdziesz na stronie informatyka w szkole.
Powiązane technologie
SQLite - PHP - HTML i CSS - JavaScript