Det er ikke strengt nødvendigt for forespørgslen, det er sandt. Det findes af flere årsager:
- Som en begrænsning på bordet for at forhindre dig i at indsætte noget, der ikke peger på noget;
- Som et fingerpeg til optimeringsværktøjet; og
- Af historiske årsager var det mere nødvendigt.
(1) er sandsynligvis den vigtige af de tre. Dette kaldes henvisningsintegritet . Det betyder, at hvis der er en værdi i en fremmednøgle, vil der være en tilsvarende post med denne værdi som en primær nøgle i den overordnede tabel.
Når det er sagt, understøtter ikke alle databaser referentiel integritet (f.eks. MySQL/MyISAM-tabeller), og de, der gør det, håndhæver det ikke nødvendigvis (af ydeevnemæssige årsager).