Skip to main content

Водич за разумевање зависности базе података

Anonim

Зависност је ограничење које се односи на или дефинише однос између атрибута. Појављује се у бази података када информације које се чувају у истој табели базе података јединствено одређују друге информације које се чувају у истој табели. Такође можете описати то као однос у којем је познавање вриједности једног атрибута (или скупа атрибута) довољно да вам каже вриједност другог атрибута (или скупа атрибута) у истој табели.

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

Зависности зависности и функционалне зависности

Изговарање између атрибута у табели је исто што говори да постоји функционална зависност између тих атрибута. Ако постоји зависност у бази података тако да атрибут Б зависи од атрибута А, ово би написали као:

А -> Б

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

Тривијалне функционалне зависности

Блиствена функционална зависност се јавља када описујете функционалну зависност атрибута на скупу атрибута који укључује изворни атрибут. На пример, {А, Б} -> Б је тривијална функционална зависност, као {име, ССН} -> ССН. Овај тип функционалне зависности назива се тривијално јер се може извести из здравог разума. Очигледно је да ако већ знате вриједност Б онда вриједност Б може бити јединствено одређена том знањем.

Пуна функционална зависност

Пуна функционална зависност се јавља када већ испуњавате услове за функционалну зависност, а скуп атрибута на левој страни функционалне изјаве о зависности не може се даље смањити. На пример, {ССН, аге} -> име је функционална зависност, али није потпуна функционална зависност јер можете уклонити старост са леве стране изјаве без утицаја на однос зависности.

Транситиве Депенденциес

Прелазне зависности се јављају када постоји индиректна веза која узрокује функционалну зависност. На пример, А -> Ц је транзитивна зависност када је истинита само зато што су оба А -> Б и Б -> Ц истинита.

Вишеструке зависности

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

Значај зависности

Односи са базама података су важни за разумевање јер пружају основне елементе који се користе у нормализацији базе података, процес ефикасног организовања података у бази података. На пример:

  • Да би табела била у другој нормалној форми (2НФ), у табели не мора бити случаја нонприме атрибута који је функционално зависан од подскупа кључа кандидата.
  • Да би табела била у трећој нормалној форми (3НФ), сваки атрибут који није применљив мора да има непреходну функционалну зависност од сваког кључа кандидата.
  • Да би табела била у Нормалној форми Боице-Цодд (БЦНФ), свака функционална зависност (осим тривијалних зависности) мора бити на супер-екрану.
  • Да би табела била у четвртој нормалној форми (4НФ), она не сме да има вишенаменске зависности.