Rodzaje relacji: jeden do jednego, jeden do wielu, wiele do wielu
Relacje między tabelami w bazach danych definiują sposób, w jaki dane w jednej tabeli są powiązane z danymi w innej tabeli. W relacyjnych bazach danych istnieją trzy główne typy relacji:
-
Jeden do jednego (1:1): Każdy rekord w jednej tabeli odpowiada dokładnie jednemu rekordowi w drugiej tabeli.
-
Przykład: Tabela
Użytkownicy
zawiera dane użytkowników, a tabelaProfile
przechowuje szczegóły ich profilów. Każdy użytkownik ma dokładnie jeden profil.Użytkownicy Profile ID Imię 1 Jan
-
-
Jeden do wielu (1:N): Jeden rekord w tabeli jest związany z wieloma rekordami w drugiej tabeli.
-
Przykład: Tabela
Klienci
i tabelaZamówienia
. Jeden klient może złożyć wiele zamówień.Klienci Zamówienia ID Imię 1 Anna 2 Jan
-
-
Wiele do wielu (N:M): Wiele rekordów w jednej tabeli może być powiązanych z wieloma rekordami w drugiej tabeli. Taka relacja wymaga tabeli pośredniej.
-
Przykład: Tabela
Studenci
i tabelaKursy
. Student może zapisać się na wiele kursów, a kurs może być wybierany przez wielu studentów.Tabela
Studenci
:ID Imię 1 Anna 2 Jan Tabela pośrednicząca
Student_Kurs
:Student_ID Kurs_ID 1 1 2 1 1 2
-
Tworzenie relacji w bazie danych
Relacje tworzone są za pomocą kluczy obcych (FOREIGN KEY), które wskazują na powiązania między tabelami.
Przykład:
- Tworzona jest tabela
Klienci
z kluczem głównym:CREATE TABLE Klienci ( ID INT PRIMARY KEY, Imię VARCHAR(50) );
- Tworzona jest tabela
Zamówienia
z kluczem obcym związanym zKlienci
:CREATE TABLE Zamowienia ( ID INT PRIMARY KEY, Klient_ID INT, Data DATE, FOREIGN KEY (Klient_ID) REFERENCES Klienci(ID) );
Relacje pomagają zachować integralność danych i łatwiej łączyć powiązane dane w zapytaniach SQL.