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

Тастери базе података представљају најлакши начин за стварање ефикасне релацијске базе података

Као што већ већ знате, базе података користе табелу за организовање информација. (Ако немате основно познавање концепата базе података, прочитајте Шта је база података? ) Свака табела се састоји од неколико редова, од којих свака одговара јединственом запису базе података. Дакле, како базе података држе све ове документе исправне? То је кроз употребу кључева.

Примарни кључеви

Први тип кључа о коме ћемо разговарати је примарни кључ . Свака табела базе података треба да има једну или више ступаца означених као примарни кључ . Вредност овог кључа треба да буде јединствена за сваки запис у бази података.

На пример, претпоставимо да имамо таблу под називом Запослени који садржи информације о особљу за сваког запосленог у нашој фирми. Морали бисмо изабрати одговарајући примарни кључ који би јединствено идентификовао сваког запосленог. Ваша прва мисао може бити да користите име запосленог. Ово не би добро функционисало јер је могуће замислити да запослите два запослена са истим именом. Бољи избор би могао бити коришћење јединственог ИД броја запослених који доделите сваком запосленом кад су ангажовани. Неке организације одлуче да користе овај налог за социјално осигурање (или сличне владине идентификаторе), јер сваки запослени већ има један и гарантовано је да су јединствени. Међутим, употреба бројева социјалног осигурања за ову сврху је веома контроверзна због проблема везаних за приватност. (Ако радите за владину организацију, употреба броја социјалног осигурања може бити чак и незаконита према Закону о приватности из 1974. године.) Из тог разлога, већина организација се померила на коришћење јединствених идентификатора (ИД радне снаге, ИД ученика итд. .) који не деле те проблеме везане за приватност.

Када одлучите о примарном кључу и поставите базу података, систем управљања базом података ће осигурати јединственост кључа.

Ако покушате да убаците рекорд у таблицу са примарним кључем који дуплира постојећи запис, уметак ће пропасти.

Већина база података такође може да генерише сопствене примарне кључеве. Мицрософт Аццесс, на пример, може бити конфигурисан да користи тип података АутоНумбер да додели јединствени ИД сваком запису у табели. Иако је ефикасан, ово је лоша пракса дизајна, јер вам оставља бесмислену вредност у сваком запису у табели. Зашто не користите тај простор да бисте ускладили нешто корисно?

Страни кључеви

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

Претпоставимо да табела Одељења користи примарни кључ као назив одељења. Да бисте креирали однос између две табеле, додали смо нову колону Табли Запослени под називом Одјељење. Затим попуњавамо назив одељења којем припада сваки запосленик. Такође информирамо систем управљања базом података да је ступањ одељења у табели Запослени инострани кључ који се односи на табелу Одјељења.

База података ће потом применити референтни интегритет тако што ће осигурати да све вриједности у ступцу Одељења Табеле Запослени имају одговарајуће уносе у табели Одјељења.

Имајте на уму да не постоји ограничење јединствености за инострани кључ. Ми можемо (и највероватније имамо) имати више од једног запосленог који припада једном одељењу. Слично томе, не постоји услов да улаз у табели Одељења има одговарајући унос у табели Запослени. Могуће је да имамо одељење без запослених.

Више о овој теми прочитајте Креирање страних кључева .