Моќта на странски клучеви во релациони бази на податоци

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

Дизајнерите на бази на податоци прават широка употреба на клучеви при развивање на релациони бази на податоци. Меѓу најчестите од овие клучеви се примарни клучеви и странски клучеви. Странски клуч за базата на податоци е поле во релациона табела која се совпаѓа со колоната на примарен клуч од друга табела. За да разбереме како работи странски клуч, да разгледаме поблиску до идејата за релациона база на податоци.

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

Во релациона база на податоци, податоците се складираат во табели со редови и колони, што го олеснува пребарувањето и манипулирањето. Постои сериозна математика зад концептот на релациона база на податоци (релациона алгебра, предложена од EF

Codd на IBM во 1970 година), но тоа не е тема на оваа статија.

За практични цели (и не-математичари), релациона база на податоци ги складира "поврзаните" податоци во редови и колони. Понатаму - и тука е интересен - повеќето бази на податоци се дизајнирани така што податоците во една табела можат да пристапат до податоците во друга табела. Оваа способност да создава односи меѓу табелите е вистинската моќ на релациона база на податоци.

Користење на странски клучеви

Повеќето табели, особено оние во големи, комплексни бази на податоци, имаат примарни клучеви. Табелите кои се дизајнирани да пристапат до други табели исто така мора да имаат странски клуч.

За да ја користите најчесто цитирана база на податоци Northwinds, тука е извадок од табелата со производи:

Извадок од табелата на производот на Базата на податоци на Northwind
ProductID ProductName КатегоријаID QuantityPerU Единечната цена
1 Чај 1 10 кутии x 20 кеси 18.00
2 Чанг 1 Шишиња од 24 - 12 мл 19.00
3 Анасонски сируп 2 12 - 550 ml шишиња 10.00
4 Готвач на Антон Чајун 2 48 - 6 мл тегли 22.00
5 Готвач на готвач Антон 2 36 кутии 21.35
6 Баба се шири од бобинки 2 12 - 8 мл тегли 25.00
7 Органски сушени круши чичко Боб 7 12 - 1 lb pkgs. 30.00

Колоната ProductID е примарен клуч на оваа табела. Именува уникатна идентификација на секој производ.

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

Забележете го овој извадок од табелата со категории за базата на податоци:

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

Колоната за колона е примарен клуч на оваа колона. (Нема странски клуч, бидејќи нема потреба да пристапи на друга табела.) Секој странски клуч во табелата на производот се поврзува со примарен клуч во табелата Категории. На пример, на производот Чај му се доделува категоријата "Пијалоци", а синусниот сируп е во категоријата "Condiments".

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