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.