Notatka Podstawowy

01. Przygotuj bazę biblioteki

Rozpoznać tabelę, wiersz i klucz oraz uruchomić wspólny zestaw danych.

15 września 2026 ok. 3 min czytania

Po tej lekcji potrafisz

Rozpoznać tabelę, wiersz i klucz oraz uruchomić wspólny zestaw danych.

SQL to język pracy z relacyjnymi bazami danych. Tabela przypomina uporządkowany arkusz: kolumny mają określone znaczenie i typ, a każdy wiersz opisuje obiekt. Klucz główny jednoznacznie rozpoznaje wiersz. Klucz obcy łączy go z wierszem innej tabeli. W kursie używamy MariaDB/MySQL i fikcyjnej biblioteki: kategorii, książek oraz wypożyczeń.

Na swoim lokalnym serwerze utwórz w phpMyAdmin nową, pustą bazę kurs_sql_biblioteka z kodowaniem utf8mb4. Wybierz tę bazę w lewym panelu, otwórz zakładkę SQL i wykonaj poniższy zestaw raz. Nie używaj bazy platformy. Wszystkie osoby w danych są fikcyjne. Kolejność tworzenia tabel jest ważna: najpierw powstaje tabela wskazywana przez klucz obcy.

CREATE TABLE kategorie (
  id INT PRIMARY KEY,
  nazwa VARCHAR(60) NOT NULL UNIQUE
) ENGINE=InnoDB;
CREATE TABLE ksiazki (
  id INT PRIMARY KEY,
  tytul VARCHAR(120) NOT NULL,
  kategoria_id INT NOT NULL,
  cena DECIMAL(8,2) NOT NULL,
  rok INT NOT NULL,
  opis VARCHAR(255) NULL,
  FOREIGN KEY (kategoria_id) REFERENCES kategorie(id)
) ENGINE=InnoDB;
CREATE TABLE wypozyczenia (
  id INT PRIMARY KEY,
  ksiazka_id INT NOT NULL,
  czytelnik VARCHAR(60) NOT NULL,
  data_wypozyczenia DATE NOT NULL,
  data_zwrotu DATE NULL,
  FOREIGN KEY (ksiazka_id) REFERENCES ksiazki(id)
) ENGINE=InnoDB;
INSERT INTO kategorie VALUES
 (1,'Web'), (2,'Bazy danych'), (3,'Sieci'), (4,'Robotyka');
INSERT INTO ksiazki VALUES
 (1,'HTML na start',1,39.90,2023,NULL),
 (2,'CSS w praktyce',1,59.00,2024,'Układy stron'),
 (3,'SQL od zera',2,49.00,2024,NULL),
 (4,'Sieci krok po kroku',3,69.00,2022,'Adresacja IP'),
 (5,'JavaScript w projektach',1,79.00,2025,'DOM i API'),
 (6,'Modelowanie danych',2,59.00,2025,NULL);
INSERT INTO wypozyczenia VALUES
 (1,1,'Czytelnik A','2026-01-10','2026-01-17'),
 (2,1,'Czytelnik B','2026-02-01',NULL),
 (3,3,'Czytelnik A','2026-02-02',NULL),
 (4,5,'Czytelnik C','2026-02-03','2026-02-10');

Do czasu lekcji o modyfikacjach nie zmieniaj tych danych — oczekiwane wyniki ćwiczeń odwołują się do tego samego zestawu. Jeśli wykonasz import ponownie, baza zgłosi istniejące tabele; nie usuwaj ich automatycznie, tylko użyj nowej pustej bazy ćwiczeniowej.

Teraz Twoja kolej

Sprawdź, czy utworzono trzy tabele. Otwórz podgląd ksiazki i wskaż klucz główny oraz połączenie z kategorią.

Sprawdź rozwiązanie i oczekiwany efekt

Powinny istnieć 4 kategorie, 6 książek i 4 wypożyczenia. Ksiazki.id identyfikuje książkę, a ksiazki.kategoria_id wskazuje kategorie.id. Kategoria Robotyka celowo nie ma książek — przyda się później.

Na co uważać

Przed uruchomieniem SQL sprawdzaj wybraną bazę. Zestaw inicjalizacyjny służy tylko pustemu środowisku ćwiczeniowemu.

Zanim przejdziesz dalej: wykonaj ćwiczenie samodzielnie i dopiero wtedy oznacz lekcję jako ukończoną. Oznaczenie zapisuje Twój postęp, nie jest oceną nauczyciela.

Potwierdź operację