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.