Како референтен интегритет обезбедува конзистенција на базата на податоци

Референтен интегритет е функција на база на податоци во системите за управување со релациони бази на податоци. Тоа обезбедува врските помеѓу табелите во базата на податоци да останат точни со примена на ограничувања за да спречат корисниците или апликациите да влезат во неточни податоци или да укажуваат на податоци што не постојат.

Базите на податоци користат табели за да ги организираат информациите што ги содржат. Тие се слични на табеларни пресметки, како Excel, но многу повеќе способни за напредни корисници. Базите на податоци функционираат со употреба на примарни клучеви и странски клучеви, кои ја одржуваат врската помеѓу табелите.

Примарен клуч

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

Меѓутоа, поради проблеми со приватноста, доделениот број на компанија е подобар избор за да функционира како примарен клуч за вработените. Некои софтверски бази на податоци - како што е Microsoft Access - автоматски го назначува примарен клуч, но случаен клуч нема вистинско значење. Подобро е да се користи клуч со значење на записот. Наједноставниот начин да се спроведе референцијален интегритет не е да дозволи промени на примарниот клуч.

Странски клуч

Странски клуч е идентификатор во табела која се совпаѓа со примарниот клуч на друга табела. Странскиот клуч создава врска со различна табела, а референтниот интегритет се однесува на односот помеѓу овие табели.

Кога една табела има странски клуч во друга табела, концептот на референцијален интегритет наведува дека не смеете да додадете запис во табелата што го содржи странскиот клуч, освен ако не постои соодветен запис во поврзаната табела. Исто така ги вклучува и техниките познати како каскадно ажурирање и каскадно бришење, со што се осигурува дека промените направени на поврзаната табела се рефлектираат во основната табела.

Пример за правилата за референтен интегритет

Размислете за ситуацијата во која имате две табели: Вработени и менаџери. Табелата "Вработените" има атрибут за странски клуче под името ManagedBy, што укажува на запис за менаџерот на секој вработен во табелата на менаџерите. Референтниот интегритет ги спроведува следниве три правила:

Предности на ограничувањата на референтниот интегритет

Користењето на систем за релациони бази на податоци со референцијален интегритет нуди неколку предности: