Relacyjna Baza Danych: Jej siłą nie są same tabele, ale to, jak są ze sobą powiązane. Dzięki relacjom możemy połączyć "Jana Kowalskiego" z jego "Zamówieniami".
1. Typy relacji (Związków)
Wyróżniamy trzy główne typy powiązań między tabelami:
| Symbol |
Typ |
Przykład |
| 1:1 |
Jeden do Jednego |
Jeden obywatel ma jeden numer PESEL. Jeden PESEL należy do jednego obywatela. |
| 1:N |
Jeden do Wielu |
Jedna klasa ma wielu uczniów. Ale uczeń chodzi tylko do jednej klasy. (Najczęstszy typ!) |
| M:N |
Wiele do Wielu |
Jeden uczeń ma wiele lekcji. Jedna lekcja ma wielu uczniów. (Wymaga tabeli łączącej). |
2. Jak to zrobić w kodzie? (Foreign Key)
-- Tabela Rodzic
CREATE TABLE Klasy (
id_klasy INT PRIMARY KEY,
nazwa VARCHAR(10)
);
-- Tabela Dziecko (Relacja 1:N)
CREATE TABLE Uczniowie (
id_ucznia INT PRIMARY KEY,
imie VARCHAR(50),
id_klasy INT, -- Klucz Obcy
FOREIGN KEY (id_klasy) REFERENCES Klasy(id_klasy)
);