Моћ страних кључева у релацијским базама података

Страни кључ отвара врата целом свету података

Дизајнери база података широко користе кључеве када развијају релацијске базе података. Међу најчешћим од ових кључева су примарни кључеви и инострани кључеви. Спољни кључ базе података је поље у релационој табели која одговара стубу примарног кључа друге табеле. Да бисмо разумели како функционира инострани кључ, погледајмо идеју релацијске базе података.

Неке основе релационих база података

У релацијској бази података, подаци се чувају у табелама које садрже редове и ступце, што олакшава претраживање и манипулацију. Постоји нека озбиљна математика иза концепта релацијске базе података (релацијска алгебра, предложена од стране ЕФ

Цодд на ИБМ-у 1970. године), али то није тема овог чланка.

За практичне потребе (и не-математичари), релацијска база података чува "повезане" податке у редовима и колонама. Даље - и ту је занимљиво - већина база података је дизајнирана тако да подаци у једној табели могу приступити подацима у другој табели. Ова способност стварања односа између табела је права снага релацијске базе података.

Коришћење страних кључева

Већина табела, посебно оне у великим, сложеним базама података, имају примарне кључеве. Табеле које су дизајниране да приступе другим таблицама морају такође имати инострани кључ.

Да бисте користили најчешће цитирану Нортхвиндс базу података, овдје је извод из табеле производа:

Извод из таблице производа Нортхвинд Датабасе
ИД производа Назив производа ЦатегориИД КуантитиПерУ Цена по јединици
1 Цхаи 1 10 кутија к 20 кеса 18.00
2 Цханг 1 24 - 12 оз боца 19.00
3 Анисеед Сируп 2 12 - 550 мл боце 10.00
4 Цхеф Антон'с Цајун сезонирање 2 48 - 6 оз тегле 22.00
5 Цхеф Антон'с Гумбо Мик 2 36 кутија 21.35
6 Бајина боксерска раса 2 12 - 8 оз тегле 25.00
7 Ујка Бобова органска осушена крушка 7 12 - 1 лб пкгс. 30.00

Цолумн ПродуцтИД је примарни кључ ове табеле. Сваком производу додељује јединствену идентификацију.

Ова табела садржи и ступац страног кључа, ЦатегориИД . Сваки производ у табели производа односи се на унос у табели Категорије које дефинише категорију производа.

Обратите пажњу на овај одломак из табеле Категорије базе података:

Нортхвинд Датабасе Категорије Извод табела
ЦатегориИД Име категорије Опис
1 Пиће Безалкохолна пића, кафа, чајеви, пива и алес
2 Цондиментс Слатке и слане сосеве, сластице, шири и зачине
3 Конфекције Десерти, бомбоне и слаткиши
5 Млечни производи Сиреви

Колона категорије ИД је примарни кључ ове колоне. (Она нема инострани кључ јер нема потребе за приступом другој таблици.) ​​Сваки страни кључ у табели производа повезује на примарни кључ у табели Категорије. На пример, производу Цхаи додељена је категорија "Пића", док је Анисеед Сируп у категорији Цондиментс.

Ова врста повезивања ствара мноштво начина за кориштење и поновну употребу података у релационој бази података.