Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Most Wiedzy - po co łączyć regały

Witaj @name na Moście Wiedzy - kamiennej kładce, która łączy dwa skrzydła Wielkiej Biblioteki. Po jednej stronie stoi regał z księgami, po drugiej regał z opisami autorów. Sam zwój z księgą nie powie Ci, kim był jej twórca - musisz przejść po moście odsyłaczy.

Dane podzielone na regały

W naszej Bibliotece nie trzymamy wszystkiego na jednym zwoju. Imię autora nie powtarza się przy każdej jego książce - byłby to chaos i marnotrawstwo papirusu. Zamiast tego mamy osobny regał

autorzy
, a każda księga nosi tylko odsyłacz do niego.

| ksiazki.id | tytul | autor_id | |------------|-------|----------| | 1 | Iliada | 3 | | 2 | Odyseja | 3 |

| autorzy.id | imie | nazwisko | |------------|------|----------| | 3 | Homer | z Jonii |

Klucz obcy - odsyłacz między regałami

Kolumna

ksiazki.autor_id
to klucz obcy (foreign key). Wskazuje wiersz w innym regale przez jego klucz główny:
autor_id
w tabeli
ksiazki
pokazuje na
id
w tabeli
autorzy
.

Tak właśnie działa cała relacyjna baza danych - regały połączone odsyłaczami:

  • ksiazki.autor_id
    autorzy.id
  • ksiazki.kategoria_id
    kategorie.id
  • wypozyczenia.ksiazka_id
    ksiazki.id
  • wypozyczenia.czytelnik_id
    czytelnicy.id

Aby w jednym wyniku zobaczyć tytuł księgi i nazwisko autora, musimy nauczyć się przechodzić po tych odsyłaczach. Tę sztukę nazywamy JOIN - łączeniem tabel. Wejdźmy na most, @name!

Przejdź do CodeWorlds