KWALIFIKACJA INF3 - TEST WIEDZY NR 2

PYTANIE NR 40.
Załóżmy, że tworzysz diagram E/R dla sklepu internetowego. Jaki typ relacji powinien istnieć między encjami "Klient" i "Zamówienie"?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W typowym sklepie internetowym jeden klient może złożyć wiele zamówień w czasie (relacja 1:N). Jedno zamówienie jest przypisane do dokładnie jednego klienta, co w bazie danych zwykle realizuje się przez klucz obcy klienta w tabeli zamówień.
To klasyczny przypadek "jeden-do-wielu".

Pełne wyjaśnienie:

W modelu E/R (Entity-Relationship) relacja między encjami opisuje, ile wystąpień jednej encji może być powiązanych z wystąpieniami drugiej encji. Dla encji "Klient" i "Zamówienie" w typowym systemie e-commerce przyjmuje się kardynalność 1:N (jeden-do-wielu):

  • Klient może mieć wiele zamówień – klient może składać zakupy wielokrotnie w różnych dniach, tworząc wiele rekordów zamówień.
  • Zamówienie ma jednego klienta – pojedyncze zamówienie (jako dokument transakcyjny) jest zwykle przypisane do jednego konta/klienta, aby zachować jednoznaczność rozliczeń, danych kontaktowych i historii zakupów.

Dlatego poprawne jest stwierdzenie: "Klient może mieć wiele zamówień, ale zamówienie może mieć tylko jednego klienta."

Pozostałe propozycje są niepoprawne, bo sugerują nietypowe lub sprzeczne z podstawową logiką modelowania przypadki:

  • Twierdzenie, że "klient może mieć tylko jedno zamówienie, ale zamówienie może mieć wielu klientów" odwraca typową zależność i prowadziłoby do trudnej interpretacji własności zamówienia (kto jest płatnikiem, gdzie wysłać paczkę, czyja to historia zakupów).
  • Stwierdzenie, że "mogą mieć tylko jedną relację" jest zbyt ogólne i nie opisuje kardynalności; w E/R kluczowe jest właśnie określenie 1:1, 1:N lub N:M.
  • Teza, że "nie mają żadnej relacji" przeczy istocie procesu zakupowego: zamówienie jest składane przez klienta (lub przez konto klienta), więc związek jest fundamentalny.

Wskazówka egzaminacyjna: aby szybko rozpoznać kardynalność, zadaj sobie dwa pytania: "Ile zamówień może mieć jeden klient?" oraz "Ilu klientów może mieć jedno zamówienie?". Odpowiedzi prowadzą wprost do 1:N.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Relacja 1:N (jeden-do-wielu) oznacza, że jedno wystąpienie encji po stronie "1" może być powiązane z wieloma wystąpieniami encji po stronie "N", a każde wystąpienie po stronie "N" wskazuje na dokładnie jedno po stronie "1".
Najczęściej jest to 1:N: jeden klient może złożyć wiele zamówień w czasie, natomiast pojedyncze zamówienie jest przypisane do jednego klienta (jednego konta). Takie założenie upraszcza historię zakupów i rozliczenia.
Zamówienie jest dokumentem transakcyjnym, który musi mieć jednoznacznego właściciela: do kogo przypisać płatność, fakturę, adresy oraz historię zakupów. Przypisanie jednego zamówienia do wielu klientów komplikuje spójność danych i reguły biznesowe.
W modelu relacyjnym relację 1:N realizuje się zwykle przez klucz obcy po stronie "N". Przykład: w tabeli zamówień przechowujesz identyfikator klienta, co pozwala łatwo wyszukać wszystkie zamówienia danego klienta.
W typowym sklepie nie, bo jedno zamówienie ma jednego właściciela. N:M pojawia się częściej w innych miejscach, np. Zamówienie–Produkt (wiele produktów w zamówieniu i produkt w wielu zamówieniach), co zwykle wymaga tabeli pośredniej.
Najczęściej myli się kierunek relacji (odwraca 1:N), pomija się fakt, że klient może składać zamówienia wielokrotnie, albo błędnie zakłada się wielu "właścicieli" zamówienia. Pomaga zadanie dwóch pytań: "ile zamówień ma klient?" i "ilu klientów ma zamówienie?".
Encja to obiekt lub pojęcie, o którym chcesz przechowywać dane w systemie, np. klient, zamówienie, produkt. Encja ma atrybuty (np. e-mail klienta, data zamówienia) i może być powiązana relacjami z innymi encjami.
Typowo są to: identyfikator zamówienia, data złożenia, status, kwota, sposób płatności, dane dostawy oraz identyfikator klienta. Dokładny zestaw zależy od wymagań, ale kluczowe jest, by zamówienie dało się jednoznacznie przypisać do klienta.
Tabela pośrednia jest potrzebna głównie przy relacji N:M. W sklepie internetowym klasyczny przykład to Zamówienie–Produkt: jedno zamówienie zawiera wiele produktów, a ten sam produkt może wystąpić w wielu zamówieniach.
Ćwicz rozpoznawanie encji, atrybutów i relacji na przykładach (sklep, biblioteka, rezerwacje). Zawsze określaj kardynalność (1:1, 1:N, N:M) i umiej przełożyć ją na klucze w tabelach. Pomaga też rysowanie kilku wariantów i uzasadnianie wyboru.
info

To pytanie poprawnie rozwiązuje 66% zdających egzamin. średnie

Specjaliści zwracają uwagę: "W typowym sklepie internetowym jeden klient może złożyć wiele zamówień w czasie (relacja 1:N)."

Źródła:

  • R. Elmasri, S.B. Navathe, "Fundamentals of Database Systems", 7th Edition, rozdziały o modelu Entity-Relationship i constraints (kardynalności).
  • T. Connolly, C. Begg, "Database Systems: A Practical Approach to Design, Implementation, and Management", rozdziały o modelowaniu konceptualnym i diagramach ER.
  • Microsoft Learn: "Database design basics" (projektowanie bazy danych i relacje), https://learn.microsoft.com/en-us/office/troubleshoot/access/database-design-basics (dostęp: 2026-02-27)

Materiały:

  • Podręcznik do podstaw baz danych (rozdziały o modelu E/R i kardynalnościach)
  • Materiały szkolne/kwalifikacyjne INF.3 dotyczące projektowania baz danych w aplikacjach webowych
  • Ćwiczenia praktyczne: zaprojektowanie E/R dla e-commerce i implementacja w SQL (PK/FK)

Aktualizacja pytania: 31.03.2026

Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego