Notatka Podstawowy

13. Zaprojektuj relacje zamiast duplikować dane

Opisać relację jeden-do-wielu i dobrać prosty typ danych.

15 września 2026 ok. 2 min czytania

Po tej lekcji potrafisz

Opisać relację jeden-do-wielu i dobrać prosty typ danych.

Jedna kategoria ma wiele książek, a jedna książka wiele wypożyczeń. Dlatego identyfikator kategorii znajduje się w książce, a identyfikator książki w wypożyczeniu. Nie zapisujemy listy numerów książek w jednej kolumnie tekstowej. Każde wypożyczenie ma swój wiersz, co umożliwia filtrowanie i liczenie.

W ćwiczeniu czytelnik jest fikcyjną etykietą. Gdyby system miał zarządzać czytelnikami, osobna tabela czytelnicy przechowywałaby identyfikator i tylko potrzebne dane. Wypożyczenie odwoływałoby się do niej przez klucz obcy. W przeciwnym razie zmiana nazwy czytelnika wymagałaby poprawiania wielu wierszy.

kategorie 1 ─── wiele ksiazki
ksiazki   1 ─── wiele wypozyczenia
czytelnicy 1 ── wiele wypozyczenia (rozszerzenie)

Teraz Twoja kolej

Na kartce zaprojektuj tabelę czytelnicy z id oraz pseudonimem. Jaką kolumnę dodasz do wypozyczenia? Nie modyfikuj jeszcze wspólnego zestawu.

Sprawdź rozwiązanie i oczekiwany efekt

Czytelnicy: id INT PRIMARY KEY, pseudonim VARCHAR(60) NOT NULL. Wypozyczenia: czytelnik_id INT NOT NULL z kluczem obcym do czytelnicy.id. Jeżeli pseudonim ma być unikalny, trzeba to jawnie przyjąć w wymaganiach i wymusić UNIQUE.

Na co uważać

Nazwa nie jest dobrym stabilnym kluczem: może się zmienić i nie musi być unikalna. W prawdziwym systemie nie zbieraj danych, których nie potrzebujesz.

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ę