Разлика између 3НФ и БЦНФ

Аутор: Laura McKinney
Датум Стварања: 1 Април 2021
Ажурирати Датум: 17 Може 2024
Anonim
Разлика између 3НФ и БЦНФ - Технологија
Разлика између 3НФ и БЦНФ - Технологија

Садржај


Нормализација је метода која уклања сувишност из односа чиме се минимизира уметање, брисање и ажурирање аномалија које погоршавају перформансе база података. У овом чланку ћемо разликовати два виша нормална облика, тј. 3НФ и БЦНФ. Основна разлика између 3НФ и БЦНФ је та 3НФ елиминира транзитивну зависност из релације и табеле која ће бити у БЦНФ-у, тривијална функционална зависност Кс-> И у односу мора да држи, само ако је Кс супер-кључ.

Разговарајмо о разликама између 3НФ и БЦНФ уз помоћ упоредног графикона приказаног доле.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивање3НФБЦНФ
КонцептНиједан атрибут који није празан не сме бити зависан од кључа кандидата.За било коју тривијалну зависност у односу Р рецимо Кс-> И, Кс би требао бити супер кључ односа Р.
Зависност3НФ се може добити без жртвовања свих зависности.Зависности се не могу сачувати у БЦНФ.
ДекомпозицијаДекомпозиција без губитака може се постићи у 3НФ.Декомпозиција без губитака је тешко постићи у БЦНФ-у.


Дефиниција 3НФ

Табела или однос сматра се у Трећа нормална форма само ако је стол већ унутра 2НФ а нема нон-приме атрибут транзитивно зависно од кандидат кључ односа.

Дакле, пре него што се позабавим процесом нормализације табеле у 3НФ, дозволите ми да разговарам о кандидатском кључу. А Кандидатски кључ је минимални супер тастер тј. супер кључ са минималним атрибутима који може дефинирати све атрибуте односа. Дакле, у процесу нормализације ваше табеле, прво препознајете кандидат кључ одређеног односа. Атрибути који су део кандидатског кључа су главни атрибути, и атрибути који нису део кандидатског кључа су атрибути који нису главни.

Сад ако имамо релацију Р (А, Б, Ц, Д, Е, Ф) и имамо следеће зависности функција за однос Р.


Посматрајући функционалне зависности, можемо то закључити АБ је кандидат кључ за релацију Р јер помоћу кључа АБ можемо претраживати вредност за све атрибуте у релацији Р. Дакле А, Б постаје главни атрибути док заједно чине кључ кандидата. Атрибути Ц, Д, Е, Ф постаје нон-приме атрибути, јер ниједан од њих није део кандидатског кључа.

Табела је у 2НФ, јер ниједан атрибут који није праведан делимично зависи од кључа кандидата

Али, транзитивна зависност је опажена међу функционалним зависностима, као атрибутом Ф није директно зависно од кључа кандидата АБ. Уместо тога, атрибут Ф је транзитивно зависи од кандидатског кључа АБ преко атрибута Д. До атрибута Д има неке вредности до којих можемо да доделимо вредност Ф, из кључа кандидата АБ. У случају да је вредност атрибута Д једнака НУЛЛ, никада не можемо пронаћи / претражити вредност Ф уз помоћ типке АБ. То је разлог због којег 3НФ захтева да уклони транзитивну зависност из односа.

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

Сада су табеле Р1 и Р2 у 3НФ, јер нису остале делимичне и транзитивне зависности. Однос Р1 (А, Б, Ц, Д, Е) има кључ кандидата АБ док, однос Р2 (Д, Е) је Д као кључ кандидата.

Дефиниција БЦНФ

БЦНФ се сматра јачим од 3НФ. Однос Р да буде у БЦНФ мора да постоји 3НФ. И где год да нетривијална функционална зависност А -> Б важи у односу Р, дакле А мора да је суперкеи односа Р. Као што знамо, Супер кључ је кључ који има један атрибут или скуп атрибута који одређује, целокупне атрибуте релације.

А сада, пређимо на пример како бисмо БЦНФ разумели на бољи начин. Претпоставимо да имамо везу Р (А, Б, Ц, Д, Ф), које имају следеће функционалне зависности.

Посматрајући однос Р, то можемо рећи А и БФ су кандидат кључеви односа Р, јер они сами могу претраживати вредност за све атрибуте у односу Р. Дакле А, Б, Ф су главни атрибути док, Ц и Д су нон-приме атрибути. Не постоји транзитивна зависност у горе наведеним функционалним зависностима. Дакле, табела Р је у 3НФ.

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

Сада су табеле Р1 и Р2 у БЦНФ. Однос Р1 има две кандидат тастери А и Б, тривијална функционална зависност Р1, тј. А-> БЦД и Б -> АЦД, држите за БЦНФ јер су А и Б супер кључеви за однос. Однос Р2 је Д као њени кандидат кључ а функционална зависност Д -> Ф такође важи за БЦНФ јер је Д супер кључ.

  1. 3НФ каже да ниједан атрибут који није празан не мора бити транзитивно зависан од кандидатског кључа везе. С друге стране, БЦНФ каже да ако за однос постоји тривијална функционална зависност Кс -> И; тада Кс мора бити супер кључ.
  2. 3НФ се може добити без жртвовања зависности односа. Међутим, зависност се не може сачувати током добијања БЦНФ.
  3. 3НФ се може постићи без губљења података из старе табеле, док, при добијању БЦНФ-а, можемо изгубити неке податке из старе табеле.

Закључак:

БЦНФ је много рестриктивнији од 3НФ који више помаже у нормализацији табеле. Однос у 3НФ има минимално преостало сувишно стање које даље уклања БЦНФ.