W tym ćwiczeniu ożywimy strukturę bazy danych (Producenci, Gry, Gatunki) i sprawdzimy, jak tabele „rozmawiają” ze sobą w praktyce. Wszystko wykonasz w przeglądarce, bez instalowania programów.
Skopiuj poniższy blok kodu SQL. Ten skrypt automatycznie zbuduje strukturę tabel i wypełni je przykładowymi grami:
-- 1. Czyścimy stare dane
DROP TABLE IF EXISTS gry_gatunki; DROP TABLE IF EXISTS gatunki;
DROP TABLE IF EXISTS gry; DROP TABLE IF EXISTS producenci;
-- 2. Tworzymy tabele (szufladki na dane)
CREATE TABLE producenci (id_producenta INTEGER PRIMARY KEY, nazwa_studia TEXT, kraj TEXT);
CREATE TABLE gatunki (id_gatunku INTEGER PRIMARY KEY, nazwa_gatunku TEXT);
CREATE TABLE gry (id_gry INTEGER PRIMARY KEY, tytul TEXT, cena DECIMAL, id_producenta INTEGER, FOREIGN KEY(id_producenta) REFERENCES producenci(id_producenta));
CREATE TABLE gry_gatunki (id_gry INTEGER, id_gatunku INTEGER, PRIMARY KEY(id_gry, id_gatunku));
-- 3. Wrzucamy dane do środka
INSERT INTO producenci VALUES (1, 'CD Projekt Red', 'Polska'), (2, 'Rockstar Games', 'USA'), (3, 'FromSoftware', 'Japonia');
INSERT INTO gatunki VALUES (1, 'RPG'), (2, 'Akcja'), (3, 'Souls-like');
INSERT INTO gry VALUES (101, 'Wiedźmin 3', 99.99, 1), (102, 'Cyberpunk 2077', 199.00, 1), (103, 'GTA V', 120.00, 2), (104, 'Elden Ring', 249.00, 3);
INSERT INTO gry_gatunki VALUES (101, 1), (102, 1), (103, 2), (104, 1), (104, 3);
Co zrobić? Wklej kod w edytor i kliknij przycisk Run (ikona błyskawicy). Jeśli po lewej stronie w panelu pojawiły się nazwy tabel – Twoja symulacja działa!
Teraz czas sprawdzić, co potrafi Twoja baza. Wyczyść okno edytora i wpisz poniższe polecenia, by zobaczyć wyniki:
SELECT gry.tytul, producenci.nazwa_studia FROM gry JOIN producenci ON gry.id_producenta = producenci.id_producenta;SELECT tytul, cena FROM gry ORDER BY cena DESC LIMIT 1;UPDATE gry SET cena = 49.99 WHERE tytul = 'Wiedźmin 3';Wskazówka: Po każdym wpisanym zapytaniu kliknij Run, aby zobaczyć tabelę wynikową na dole ekranu!