Strani ključ
U kontekstu relacionih baza podataka, strani ključ je referencijalno ograničenje između dve tabele.[1] Strani ključ identifikuje kolonu ili skup kolona u jednoj (referencirajućoj) tabeli, koja referiše na kolonu ili skup kolona u drugoj (referenciranoj) tabeli. Kolone u referencirajućoj tabeli moraju da budu primarni ključ ili kandidat za ključ u referenciranoj tabeli. Vrednosti referencirajućih kolona iz jednog reda moraju da se pojavljuju u tačno jednom redu referencirane tabele. Stoga, red u referencirajućoj tabeli ne sme da sadrži vrednosti koje ne postoje u referenciranoj tabeli (izuzev možda vrednosti NULL). Na ovaj način reference mogu da povezuju podatke iz različitih tabela. Strani ključ predstavlja suštinski deo normalizacije baza podataka. Više redova u referencirajućoj tabeli može da pokazuje na isti red u referenciranoj tabeli.
Referencirajuća i referencirana tabela mogu da budu ista tabela, to jest strani ključ može da pokazuje na istu tabelu. Takav strani ključ je u SQL:2003 poznat kao samoreferencirajući ili rekurzivni strani ključ.
Jedna tabela može da ima više stranih ključeva, i svaki strani ključ može da pokazuje na različitu tabelu. O integritetu svakog stranog ključa se sistem baze podataka stara pojedinačno.
Neispravni odnosi strani ključ/primarni ključ ili neforsiranje sprovođenja tih odnosa često predstavljaju uzrok mnogih problema pri modeliranju podataka.
Vidi još
urediReference
uredi- ^ Za jednostavniju vizualizaciju videti VisualCase.com, Pristupljeno 25. 4. 2013.