KWALIFIKACJA INF3 - STYCZEŃ 2021 (test 2)

PYTANIE NR 22.
Ustalenie relacji pomiędzy tabelami w systemie bazodanowym MySQL umożliwia klauzula
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
REFERENCES jest elementem składni MySQL używanym przy definiowaniu klucza obcego (FOREIGN KEY) i wskazuje tabelę oraz kolumnę, do której następuje odwołanie. To właśnie umożliwia powiązanie rekordów między tabelami. Pozostałe opcje dotyczą sortowania (ORDER BY), indeksowania (INDEX) lub klucza głównego (PRIMARY KEY).

Pełne wyjaśnienie:

Relacje między tabelami w relacyjnej bazie danych realizuje się przez klucze obce (FOREIGN KEY). Klucz obcy przechowuje wartości, które muszą odpowiadać wartościom istniejącym w tabeli nadrzędnej (zwykle w jej kluczu głównym lub unikalnym). Dzięki temu baza może pilnować integralności referencyjnej, czyli spójności powiązań między danymi.

W MySQL, podczas definiowania klucza obcego w poleceniu CREATE TABLE (lub przy modyfikacji tabeli), używa się słowa kluczowego REFERENCES. To ono wskazuje, do jakiej tabeli i jakich kolumn odnosi się klucz obcy, a więc formalnie ustanawia zależność pomiędzy tabelą podrzędną i nadrzędną.

Dlaczego pozostałe odpowiedzi nie pasują:

  • ORDER BY służy do sortowania wyników zapytania SELECT. Nie definiuje żadnych ograniczeń ani powiązań w schemacie bazy.
  • INDEX dotyczy tworzenia indeksów przyspieszających wyszukiwanie. Indeks może wspierać działanie kluczy, ale sam w sobie nie ustanawia relacji logicznej między tabelami ani nie wymusza integralności referencyjnej.
  • PRIMARY KEY identyfikuje jednoznacznie wiersze w obrębie tej samej tabeli. Jest często celem odwołania dla klucza obcego, ale nie jest klauzulą służącą do "odwołania się" do innej tabeli.

W praktyce warto zapamiętać: PRIMARY KEY identyfikuje rekord "u siebie", a REFERENCES (w kontekście FOREIGN KEY) wskazuje, do kogo rekord się odwołuje.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
REFERENCES wskazuje tabelę i kolumnę, do której odwołuje się klucz obcy (FOREIGN KEY). Dzięki temu baza danych może wymuszać integralność referencyjną, czyli pilnować, aby w tabeli podrzędnej nie pojawiały się wartości bez odpowiadającego rekordu w tabeli nadrzędnej.
Relację definiuje się przez klucz obcy: w tabeli podrzędnej dodajesz FOREIGN KEY, a następnie używasz REFERENCES, aby wskazać tabelę nadrzędną i jej kolumnę. To jest schematowy sposób "połączenia" danych na poziomie struktury bazy, nie tylko w zapytaniach.
ORDER BY dotyczy wyłącznie kolejności wyników zapytania (najczęściej SELECT). Nie zmienia struktury bazy ani nie dodaje ograniczeń spójności. Relacje to element projektu schematu (DDL), a ORDER BY jest elementem pracy na danych (DML/SELECT).
PRIMARY KEY nie tworzy relacji samodzielnie. Klucz główny identyfikuje rekordy w jednej tabeli. Relacja powstaje dopiero, gdy inna tabela zdefiniuje klucz obcy (FOREIGN KEY) odwołujący się do tego klucza, zwykle przy użyciu REFERENCES.
Integralność referencyjna to zasada spójności, według której wartości w kluczu obcym muszą odpowiadać istniejącym rekordom w tabeli nadrzędnej. Dzięki temu nie powstają "osierocone" rekordy. W MySQL mechanizm ten realizują ograniczenia FOREIGN KEY z użyciem REFERENCES.
Częste błędy to: różne typy danych kolumn (np. INT vs BIGINT), brak indeksu/unikalności po stronie klucza nadrzędnego, różne zestawy znaków/kollacje w kolumnach tekstowych oraz użycie silnika tabeli bez obsługi kluczy obcych. Warto też sprawdzić kolejność tworzenia tabel.
Nie. INDEX to struktura przyspieszająca wyszukiwanie i łączenie danych. FOREIGN KEY to ograniczenie spójności danych między tabelami. Klucz obcy zwykle wymaga indeksu, ale indeks nie wymusza integralności referencyjnej i nie zastępuje FOREIGN KEY z REFERENCES.
Stosuje się go, gdy dane mają zależności: użytkownik–profil, zamówienie–pozycje zamówienia, post–komentarze. Klucz obcy chroni przed niespójnymi wpisami i ułatwia utrzymanie danych przy operacjach CRUD. To ważne w projektach baz danych dla aplikacji webowych.
Możesz użyć polecenia SHOW CREATE TABLE nazwa_tabeli, aby zobaczyć pełną definicję tabeli, w tym CONSTRAINT i REFERENCES. Alternatywnie można odczytać metadane ze schematu information_schema. Na egzaminie najczęściej wystarcza rozumienie składni CREATE TABLE.
Jeśli w treści pojawia się "ustalenie relacji", "powiązanie tabel", "klucz obcy" albo "odwołanie do rekordu w innej tabeli", to najczęściej chodzi o FOREIGN KEY i składnię z REFERENCES. Dla kontrastu: sortowanie wyników to ORDER BY, a szybkie wyszukiwanie to INDEX.
info

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

W praktyce zawodowej kluczowe jest to, że rEFERENCES jest elementem składni MySQL używanym przy definiowaniu klucza obcego (FOREIGN KEY) i wskazuje tabelę oraz kolumnę, do której następuje odwołanie.

Źródła:

  • MySQL 8.0 Reference Manual: CREATE TABLE Statement (syntax), https://dev.mysql.com/doc/refman/8.0/en/create-table.html - accessed 2026-02-27
  • MySQL 8.0 Reference Manual: Foreign Key Constraints, https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html - accessed 2026-02-27
  • MySQL 8.0 Reference Manual: Using FOREIGN KEY Constraints, https://dev.mysql.com/doc/refman/8.0/en/innodb-foreign-key-constraints.html - accessed 2026-02-27

Materiały:

  • Dokumentacja MySQL: CREATE TABLE oraz FOREIGN KEY Constraints
  • Ćwiczenia praktyczne: tworzenie dwóch tabel i dodawanie FOREIGN KEY z REFERENCES
  • Materiały dydaktyczne z modelowania relacyjnego (ERD, klucze PK/FK)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego