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żytkownicyzawiera dane użytkowników, a tabelaProfileprzechowuje 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
Kliencii 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
Studencii 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
Klienciz kluczem głównym:CREATE TABLE Klienci ( ID INT PRIMARY KEY, Imię VARCHAR(50) ); - Tworzona jest tabela
Zamówieniaz 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.
