Aby wymusić, by wartość w kolumnie odwoływała się do istniejącego rekordu w innej tabeli, należy zastosować:
Źle. Widok to zapisane zapytanie prezentujące dane, nie egzekwuje integralności.
Ź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.
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.