Рецоммендед, 2020

Избор Уредника

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

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

Дозволите нам да разговарамо о разликама између 3НФ и БЦНФ уз помоћ табеле за упоређивање приказане испод.

Цомпарисон Цхарт

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кључне разлике између 3НФ и БЦНФ

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

Закључак:

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

Top