Złożony klucz główny w tabeli relacyjnej bazy danych to
PRIMARY KEY (id_ucznia, id_przedmiotu).Klucz złożony powstaje wtedy, gdy żadna pojedyncza kolumna nie identyfikuje rekordu, a robi to dopiero ich zestaw. Każda kolumna osobno może mieć powtórzenia, ale ich połączenie musi być w tabeli unikalne. Definiuje się go jednym ograniczeniem z kilkoma kolumnami: PRIMARY KEY (id_ucznia, id_przedmiotu).
Typowe miejsce to tabela pośrednia w relacji wiele do wielu, np. oceny_koncowe: ten sam uczeń ma wiele przedmiotów, ten sam przedmiot wielu uczniów, ale para uczeń i przedmiot występuje tylko raz. Baza odrzuci drugi rekord z tą samą parą. Alternatywą jest sztuczny klucz id z AUTO_INCREMENT i osobne ograniczenie UNIQUE na parze kolumn.
Każda błędna odpowiedź łączy prawdziwe pojęcie z niewłaściwą definicją. Kolumna, która jest jednocześnie kluczem głównym i obcym, rzeczywiście się zdarza, np. w relacji jeden do jednego, gdy tabela dane_kadrowe ma id takie samo jak tabela pracownicy. Ale to wciąż jedna kolumna, a złożoność klucza dotyczy liczby kolumn.
Typ danych nie ma związku z tym, czy klucz jest złożony. Kluczem głównym może być napis, np. numer PESEL albo kod ISBN książki, i nadal jest to klucz prosty, jednokolumnowy.
Klucz obcy zawsze wskazuje jedną tabelę nadrzędną. Gdy tabela łączy się z kilkoma innymi, ma kilka osobnych kluczy obcych, po jednym na każde powiązanie. W tabeli pośredniej to właśnie te klucze obce razem tworzą złożony klucz główny, ale definicja złożoności odnosi się do klucza głównego.