logo

Транзитивна зависност у ДБМС-у

Размотримо релацију Р(АБ Ц). Овде су А, Б и Ц познати као атрибут релације Р. Када се појави следећи услов; тада се у ДБМС јавља транзитивна зависност. Услови су А → Б, Б → Ц. Дакле, услов постаје А → Ц. Другим речима, можемо рећи да када су зависности направљене помоћу две функционалне зависности, тада функционалне зависности постају транзитивне зависности.

Шта је транзитивна зависност?

Размотримо релацију Р(АБ Ц). Овде су А, Б и Ц познати као атрибут релације Р. Када се појави следећи услов; тада се у ДБМС јавља транзитивна зависност. Услови су А → Б, Б → Ц. Дакле, услов постаје А → Ц. у транзитивним функционалним зависностима, зависност је директно зависна од детерминанте.

Хајде да разумемо транзитивне зависности уз помоћ следећег примера.

Аутхор_ИД Аутор Боок Аутхор_Натионалити
А1 Арундати Рој Бог малих ствари Индија
А1 Киран Десаи Наслеђе губитка Индија
А2 Р.К. Нараиан Људождер из Малгудија Индија

У горњој табели аутора то добијамо.

    Књига → Аутор:Овде је атрибут аутора одређен атрибутом књиге. Ако неко зна име књиге, може сазнати и име аутора.Аутор → Аутор_Националност:Ако неко зна име аутора, може сазнати и националност аутора.Књига → Аутор_Националност: Ако неко зна име књиге, може сазнати и националност аутора.

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

  • А → Б и Б → Ц Б→Ц; дакле, А → ЦА → Ц.
  • А → Књига, Б → Аутор Б → Аутор и Ц → Националност_аутора Ц→Националност_аутора

Претпоставимо да примењујемо Трећи нормални облик (3НФ) у горњој табели аутора. У том случају, транзитивна зависност табеле аутора мора бити уклоњена, а процес уклањања транзитивних зависности базе података познат је као процес нормализације.

Како избећи транзитивне зависности?

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

Табела аутора:

Аутхор_ИД Аутор Боок Аутхор_Натионалити
А1 Арундати Рои Бог малих ствари Индија
А1 Киран Десаи Наслеђе губитка Индија
А2 Р.К. Нараиан Људождер из Малгудија Индија

Аномалијама података (као што су аномалије ажурирања, уметања и брисања) и недоследности може допринети табела аутора. Када је у бази података превише залиха, онда се у подацима изазивају аномалије података. Аномалије података такође настају када постоји проблем са ажурирањем, брисањем и уметањем нових података. На пример, у табели аутора-

  • Не можемо додати новог аутора док не можемо додати књигу у табелу.
  • Не можемо избрисати аутора док потпуно не избришемо књигу из базе података.
  • Ако желимо да избришемо књигу 'Бог малих ствари', обрисан је и ИД аутора, аутор и националност.

Горе наведени проблеми се јављају у било ком односу који садржи транзитивне зависности.

Трећи нормални облик уклањањем транзитивне зависности

Хајде да размотримо Табела аутора са три атрибута (Аутхор_ИД, Аутхор, Аутхор_Натионалити) и покушајте да пронађете и елиминишете транзитивну зависност из ове табеле,

Табела аутора:

Аутхор_ИД Аутор Боок Аутхор_Натионалити
А1 Арундати Рои Бог малих ствари Индија
А1 Киран Десаи Наслеђе губитка Индија
А2 Р.К. Нараиан Људождер из Малгудија Индија

Горња табела аутора није у 3НФ јер има транзитивну зависност. Да видимо како

свм
  • Аутор → Аутор_Националност Аутор → Аутор_Националност
  • Аутор_ИД → Аутор

Стога постоји и следећа функционална зависност,

  • Аутхир_ИД → Аутхор_Натионалити формира образац сличан ономе о чему смо расправљали горе.

Сада да бисмо елиминисали транзитивну зависност, све што треба да урадимо је да поделимо табелу аутора на такав начин да Аутхор_ИД више неће функционално зависити од Аутхор_Натионалити.

Хајде да направимо две табеле, једну која садржи само { Аутхор_ИД, Аутхор} и другу која садржи {Аутхор_Натионалити}. Нове табеле ће изгледати овако,

Табела аутора

Аутхор_ИД Аутор
А1 Бог малих ствари
А2 Наслеђе губитка
А3 Људождер из Малгудија

Табела националности аутора

Аутор Аутхор_Натионалити
Арундати Рој Индија
Киран Десаи Индија
Р.К. Нараиан Индија

Сада нова табела аутора и табела националности аутора не садржи транзитивну зависност и релација је сада у 3НФ.