У контексту релационих база података, страни кључ је референцијално ограничење између две табеле.[1] Страни кључ идентификује колону или скуп колона у једној (референцирајућој) табели, која реферише на колону или скуп колона у другој (референцираној) табели. Колоне у референцирајућој табели морају да буду примарни кључ или кандидат за кључ у референцираној табели. Вредности референцирајућих колона из једног реда морају да се појављују у тачно једном реду референциране табеле. Стога, ред у референцирајућој табели не сме да садржи вредности које не постоје у референцираној табели (изузев можда вредности NULL). На овај начин референце могу да повезују податке из различитих табела. Страни кључ представља суштински део нормализације база података. Више редова у референцирајућој табели може да показује на исти ред у референцираној табели.

Референцирајућа и референцирана табела могу да буду иста табела, то јест страни кључ може да показује на исту табелу. Такав страни кључ је у SQL:2003 познат као самореференцирајући или рекурзивни страни кључ.

Једна табела може да има више страних кључева, и сваки страни кључ може да показује на различиту табелу. О интегритету сваког страног кључа се систем базе података стара појединачно.

Неисправни односи страни кључ/примарни кључ или нефорсирање спровођења тих односа често представљају узрок многих проблема при моделирању података.

Види још

уреди

Референце

уреди

Спољашње везе

уреди