Aby wymusić, by wartość w kolumnie odwoływała się do istniejącego rekordu w innej tabeli, należy zastosować:
Źle. Klucz główny jednoznacznie identyfikuje wiersze w tej samej tabeli, nie tworzy relacji do innej.
Źle. Indeks przyspiesza wyszukiwanie, ale nie wymusza powiązań między tabelami.
Źle. Widok to zapisane zapytanie prezentujące dane, nie egzekwuje integralności.
Dobrze. Klucz obcy wiąże kolumnę z kluczem głównym innej tabeli i pilnuje spójności tego powiązania.
Klucz obcy to kolumna (lub zestaw kolumn) wskazująca na klucz główny innej tabeli. Baza pilnuje, by można było wpisać tylko wartość istniejącą w tabeli nadrzędnej, dzięki czemu nie powstają „osierocone” rekordy. To podstawowy mechanizm integralności referencyjnej w relacyjnych bazach danych. Dlatego powiązanie z rekordem innej tabeli wymusza klucz obcy.
Pozostałe pojęcia dotyczą innych zadań. Indeks działa wyłącznie na wydajność - tworzy uporządkowany spis wartości, by szybciej wyszukiwać, lecz nie kontroluje powiązań. Klucz główny identyfikuje wiersze w obrębie własnej tabeli i zapewnia ich unikalność, ale nie odwołuje się do tabeli sąsiedniej. Widok to zapamiętane zapytanie, które prezentuje dane w wygodnej formie - również nie wymusza żadnych reguł integralności. Powiązanie kolumny z istniejącym rekordem innej tabeli zapewnia klucz obcy.