Przejdź do głównej treści

Relacja jeden do wielu

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Relacja jeden do wielu oznacza, że jeden rekord z pierwszej tabeli może być powiązany z wieloma rekordami z drugiej tabeli.

Przykład

Jeden klient może mieć wiele zgłoszeń:

  • tabela Klienci przechowuje dane klientów,
  • tabela Zgloszenia przechowuje zgłoszenia klientów,
  • każde zgłoszenie należy do jednego klienta.

W takiej sytuacji tabela Zgloszenia zawiera klucz obcy, np. Klienci_id, który wskazuje na pole id w tabeli Klienci.

Schemat logiczny

Klienci.id 1 ---- * Zgloszenia.Klienci_id

Oznacza to, że jeden klient może wystąpić przy wielu zgłoszeniach.

Zapytanie z relacją jeden do wielu

Aby pobrać opis zgłoszenia i nazwisko klienta, należy połączyć tabele:

SELECT opis, nazwisko
FROM Zgloszenia
JOIN Klienci
ON Klienci.id = Zgloszenia.Klienci_id;

Jeśli potrzebne jest konkretne zgłoszenie, dodaje się warunek:

WHERE Zgloszenia.id = 5

Najważniejsze jest rozróżnienie, czy filtr dotyczy klienta, czy zgłoszenia.