Skip to main content

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

Anonim

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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