Bazy danych składają się z tabel, w których przechowywane są dane lub informacje. Klucz obcy to mechanizm w relacyjnej bazie danych, który umożliwia skojarzenie tych tabel lub nawiązanie relacji między tabelami. Klucz obcy musi mieć unikalne cechy. Musi to być kolumna lub grupa kolumn w tabeli, której wartości ustanawiają relację z wartościami w innej tabeli w tej samej bazie danych.
Klucz obcy gwarantuje, że wiersze w jednej tabeli odpowiadają wierszom w innej tabeli, ustanawiając w ten sposób relacje lub odwołania obejmujące całą bazę danych. Tabela zawierająca klucz obcy to „dziecko”, a druga tabela to „rodzic”. Możliwe jest, że wartość klucza obcego ma wartość null lub jest pusta i faktycznie odwołuje się lub odnosi się do tego, co jest znane jako klucz podstawowy tabeli, w której został znaleziony. Jest to znane jako odniesienie do siebie.
Przed przystąpieniem do pełnego zrozumienia koncepcji kluczy obcych należy dobrze zrozumieć, czym jest klucz podstawowy. Na przykład, jeśli w bazie danych znajdują się dwie tabele przechowujące informacje o opublikowanych książkach dla witryny internetowej sprzedającej książki, jedna tabela może być tabelą wydawców, a druga tabelą książek. Tabela wydawców może składać się z dwóch kolumn, klucza podstawowego, który jest zawsze unikalny dla każdego rekordu, oraz kolumny z nazwą wydawcy. Na tabelę książek składają się co najmniej trzy kolumny, zawierające klucz podstawowy lub niepowtarzalny identyfikator każdej książki, tytuły książek i kolumnę, za pośrednictwem której zostanie nawiązana relacja z tabelą wydawców. Ta kolumna będzie kluczem obcym.
Kluczem podstawowym tabeli wydawców może być coś w rodzaju „pub_id” z wartościami: P01, P02, P03 itd. Relacja z tabelą książki zostałaby nawiązana, gdyby zawierała kolumnę pub_id z tymi samymi wartościami. Byłby to klucz obcy, który powiązałby tę tabelę podrzędną z jej rodzicem — tabelą wydawców.
Klucz obcy może jednak mieć inną nazwę kolumny niż klucz nadrzędny, do którego się odwołuje. Dokładne zrozumienie działania kluczy podstawowych i obcych jest niezbędne do zachowania integralności referencyjnej. Bardzo duże bazy danych składające się z wielu tabel lub zawierające tabelę połączeń prezentują więcej niż jeden typ relacji, co może skomplikować pracę z kluczami obcymi.