KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 23.
Relacja w bazach danych jest
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Relacja w relacyjnych bazach danych opisuje logiczne powiązanie między tabelami (najczęściej przez klucze główne i obce). Nie jest to ani pojedynczy klucz, ani "algebraiczne połączenie", ani związek dwóch pól w jednej tabeli, tylko związek między tabelami w modelu danych.

Pełne wyjaśnienie:

Relacja w bazach danych to pojęcie z modelu relacyjnego, które opisuje logiczne powiązanie pomiędzy tabelami (albo szerzej: pomiędzy danymi przechowywanymi w różnych tabelach). W praktyce takie powiązanie jest zwykle realizowane przez parę kluczy: klucz główny w tabeli nadrzędnej oraz klucz obcy w tabeli podrzędnej. Dzięki temu można zachować spójność danych i sensownie je łączyć w zapytaniach.

Odpowiedź "logicznym połączeniem tabel." jest poprawna, bo oddaje istotę relacji: wskazuje, że nie chodzi o fizyczne "sklejenie" tabel, lecz o regułę/strukturę mówiącą, jak rekordy z jednej tabeli odpowiadają rekordom z innej.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "kluczem głównym w relacji tabel." – klucz główny jest jednym z mechanizmów identyfikacji rekordów w tabeli, ale sam w sobie nie stanowi relacji. Relacja dotyczy powiązania danych między tabelami, a nie definicji pojedynczego klucza.
  • "algebraicznym połączeniem tabel." – w teorii baz danych istnieje pojęcie algebry relacyjnej, ale relacja nie jest "algebraicznym połączeniem". To mylenie narzędzi formalnych (operacji/rachunku) z definicją związku w schemacie danych.
  • "połączeniem dwóch pól jednej tabeli." – taki opis sugeruje zależność wewnątrz tabeli, tymczasem relacja (w typowym rozumieniu projektowym) dotyczy przede wszystkim powiązań między tabelami (np. klient–zamówienie, produkt–kategoria).

Wskazówka egzaminacyjna: jeśli w zadaniu pojawiają się słowa "relacja" i "tabele", myśl o modelowaniu danych i spójności referencyjnej (PK/FK), a nie o samym zapytaniu JOIN czy o pojedynczych kolumnach.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Relacja to logiczne powiązanie między tabelami, które opisuje, jak rekordy z jednej tabeli odpowiadają rekordom z innej. Najczęściej realizuje się ją przez klucz główny w tabeli nadrzędnej i klucz obcy w tabeli podrzędnej.
Klucz obcy przechowuje wartość, która wskazuje na klucz główny w innej tabeli. Dzięki temu baza może wymuszać spójność (np. nie da się dodać zamówienia dla nieistniejącego klienta) oraz ułatwia łączenie danych w zapytaniach.
Relacja to element projektu/modelu danych (powiązanie tabel). JOIN to operacja w zapytaniu SQL, która wykorzystuje relacje (lub inne warunki) do połączenia wyników. Możesz zrobić JOIN bez formalnej relacji, ale relacja opisuje zamierzony związek w schemacie.
Najczęściej wyróżnia się relacje: jeden do jednego (1:1), jeden do wielu (1:N) oraz wiele do wielu (N:M). Relacja N:M jest zwykle realizowana przez tabelę pośrednią z dwoma kluczami obcymi.
Integralność referencyjna to zasada, że wartości klucza obcego muszą wskazywać na istniejące rekordy w tabeli nadrzędnej (albo być puste, jeśli to dozwolone). Chroni to przed "osieroconymi" danymi i niespójnymi powiązaniami.
W sensie projektowym relacja może być opisana nawet bez narzuconego ograniczenia FK, ale w praktyce warto definiować klucze obce w DBMS. Wtedy system automatycznie pilnuje spójności, a błędy danych są wykrywane wcześniej.
Relacja 1:N występuje, gdy jeden rekord w tabeli nadrzędnej pasuje do wielu rekordów w tabeli podrzędnej. Przykład: jeden klient może mieć wiele zamówień. Wtedy tabela zamówień zawiera klucz obcy wskazujący klienta.
Klucz główny identyfikuje rekordy w obrębie jednej tabeli. Relacja dotyczy zależności pomiędzy tabelami. Klucz główny jest ważny, bo bywa celem wskazań kluczy obcych, ale nie jest samodzielną definicją relacji.
Tabelę pośrednią stosuje się przy relacji wiele do wielu (N:M), gdy wiele rekordów z tabeli A pasuje do wielu rekordów z tabeli B. Tabela pośrednia przechowuje pary powiązań (zwykle dwa klucze obce) i ewentualne atrybuty relacji.
Typowe błędy to: brak kluczy obcych (spójność tylko "umowna"), zły dobór pól do powiązania (np. nazwisko zamiast identyfikatora), brak indeksów na kluczach obcych (spadek wydajności) oraz niepoprawne odwzorowanie relacji N:M bez tabeli pośredniej.
info

Statystycznie 58% uczniów zna prawidłową odpowiedź. średnie

Specjaliści zwracają uwagę: "Relacja w relacyjnych bazach danych opisuje logiczne powiązanie między tabelami (najczęściej przez klucze główne i obce)."

Źródła:

  • PostgreSQL Documentation: "Foreign Keys" (Concepts) https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK (accessed 2026-02-27)
  • MySQL 8.0 Reference Manual: "InnoDB and FOREIGN KEY Constraints" https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html (accessed 2026-02-27)
  • Microsoft Learn: "PRIMARY KEY and FOREIGN KEY constraints" https://learn.microsoft.com/en-us/sql/relational-databases/tables/primary-and-foreign-key-constraints (accessed 2026-02-27)

Materiały:

  • Dokumentacja systemu baz danych (np. MySQL lub PostgreSQL) dotycząca kluczy obcych i relacji
  • Materiały o modelu encja–związek (ERD) i mapowaniu na model relacyjny
  • Podręcznik do podstaw baz danych i normalizacji

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego