Starpība starp 3NF un BCNF

Autors: Laura McKinney
Radīšanas Datums: 1 Aprīlis 2021
Atjaunināšanas Datums: 13 Maijs 2024
Anonim
Starpība starp 3NF un BCNF - Tehnoloģija
Starpība starp 3NF un BCNF - Tehnoloģija

Saturs


Normalizācija ir metode, kas noņem atlaišana no attiecībām, tādējādi samazinot ievietošanas, dzēšanas un atjaunināšanas anomālijas, kas pasliktina datu bāzu veiktspēju. Šajā rakstā mēs izdalīsim divas augstākas normālas formas, t.i., 3NF un BCNF. Galvenā atšķirība starp 3NF un BCNF ir tā 3NF novērš pārejošo atkarību no relācijas un tabulas, kas jāatrodas BCNF, triviālajai funkcionālajai atkarībai X-> Y attiecībās ir jābūt tikai tad, ja X ir superaustiņš.

Apskatīsim atšķirības starp 3NF un BCNF ar salīdzināšanas diagrammas palīdzību, kas parādīta zemāk.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamats3NFBCNF
KoncepcijaNevienam atribūtam, kas nav galvenais, nav jābūt pārejoši atkarīgam no kandidāta atslēgas.Jebkurai triviālai atkarībai no attiecībām R, teiksim X-> Y, X vajadzētu būt sakarības R super atslēgai.
Atkarība3NF var iegūt, neupurējot visas atkarības.BCNF nevar saglabāt atkarības.
Sadalīšanās3NF var panākt bezzaudējumu sadalīšanos.BCNF ir grūti panākt nezaudētu sadalīšanos.


3NF definīcija

Tabula vai attiecība tiek uzskatīta par Trešā normālā forma tikai tad, ja tabula jau ir iekšā 2NF un nav nesvarīgs atribūts pārejoši atkarīgs no kandidāta atslēga attiecības.

Tātad, pirms es pievēršos tabulas normalizēšanas procesam 3NF, ļaujiet man apspriest kandidāta atslēgu. A Kandidāta atslēga ir minimāla super atslēga t.i., super atslēga ar minimāliem atribūtiem, kas var definēt visus relācijas atribūtus. Tātad, tabulas normalizēšanas procesā, pirmkārt, jūs atpazīstat konkrētās attiecības kandidāta atslēgu. Atribūti, kas ir daļa no kandidāta atslēgas, ir galvenie atribūti, un ir atribūti, kas nav kandidāta atslēgas daļa nepamatoti atribūti.

Ja mums ir sakarība R (A, B, C, D, E, F), un mums ir šādas atkarības no R attiecībām.


Novērojot funkcionālās atkarības, mēs varam secināt, ka AB ir atlases R kandidāta atslēga, jo, izmantojot atslēgu AB, mēs varam meklēt visa atribūta vērtību attiecībās R A, B kļūst galvenie atribūti jo viņi visi kopā veido kandidāta atslēgu. Atribūti C, D, E, F kļūst nesvarīgs atribūtus, jo neviens no tiem nav kandidāta atslēgas daļa.

Tabula ir 2NF formātā, jo neviens primārais atribūts nav daļēji atkarīgs no kandidāta atslēgas

Starp sniegtajām funkcionālajām atkarībām kā atribūts tiek novērota pārejoša atkarība F nav tieši atkarīgs no kandidāta atslēgas AB. Tā vietā atribūtu F ir pārejoši atkarīgs no kandidāta atslēgas AB caur atribūtu D. Līdz atribūtam D ir kāda vērtība, kuru mēs varam sasniegt, lai piedēvētu F vērtību no kandidāta atslēgas AB. Ja atribūta D vērtība ir NULL, mēs nekad nevaram atrast / meklēt F vērtību ar kandidāta atslēgas AB palīdzību. Tas ir iemesls, kāpēc 3NF pieprasa no attiecībām noņemt pārejošo atkarību.

Tātad, lai noņemtu šo pārejošo atkarību, mums ir jāsadala attiecība R. Vienmēr sadalot attiecību, vienmēr novietojiet kandidāta atslēgu un visus atribūtus, kas ir atkarīgi no šī kandidāta atslēgas pirmajās attiecībās. Nākamajās dalītajās attiecībās mēs ievietosim atribūtu, kas izraisa pārejošu atkarību, kā arī atribūtus, kas no tā ir atkarīgi otrajā sakarībā.

Tagad tabulas R1 un R2 ir 3NF, jo tai nav palikušas daļējas un pārejošas atkarības. Attiecības R1 (A, B, C, D, E) ir kandidāta atslēga AB tā kā, attiecība R2 (D, E) ir D kā tā kandidāta atslēga.

BCNF definīcija

Tiek uzskatīts, ka BCNF ir spēcīgāks par 3NF. Attiecībai R, kas ir BCNF, ir jābūt 3NF. Un kur a ne-triviāla funkcionālā atkarība A -> B tur attiecībā pret R, tad A jābūt a superkey attiecības. Kā mēs zinām, super atslēga ir atslēga, kurai ir viens atribūts vai atribūtu kopums, kas nosaka visus attiecības atribūtus.

Tagad pāriesim pie piemēra, lai labāk izprastu BCNF. Pieņemsim, pieņemsim, ka mums ir attiecības R (A, B, C, D, F), kam ir šādas funkcionālās atkarības.

Vērojot sakarību R, to varam teikt A un BF ir kandidātu atslēgas no R attiecības, jo tikai viņi var meklēt visu atribūtu vērtību attiecībā R A, B, F ir galvenais atribūti tā kā, C un D ir nesvarīgs atribūti. Iepriekšminētajās funkcionālajās atkarībās netika novērota pārejoša atkarība. Tādējādi tabula R ir 3NF.

Bet viena funkcionāla atkarība, t.i. D -> F pārkāpj BCNF definīciju, saskaņā ar kuru, ja pastāv D -> F, tad D vajadzētu būt super atslēga kas šajā gadījumā tā nav. Tātad mēs sadalīsim R attiecību.

Tagad tabulas R1 un R2 atrodas BCNF. Attiecības R1 ir divi kandidāts taustiņi A un B, R1 triviāla funkcionālā atkarība, t.i., A-> BCD un B -> ACD, turiet BCNF, jo A un B ir super atslēgas attiecībām. Attiecības R2 ir D kā tā kandidāta atslēga un funkcionālā atkarība D -> F attiecas arī uz BCNF, jo D ir super atslēga.

  1. 3NF norāda, ka nevienam neapriminālam atribūtam nav jābūt pārejoši atkarīgam no kandidāta atslēgas. No otras puses, BCNF norāda, ka, ja sakarībai pastāv triviāla funkcionālā atkarība X -> Y; tad X ir jābūt super atslēgai.
  2. 3NF var iegūt, neupurējot atkarības atkarību. Tomēr, iegūstot BCNF, atkarība var netikt saglabāta.
  3. 3NF var sasniegt, nepazaudējot informāciju no vecās tabulas, turpretī, iegūstot BCNF, mēs varam pazaudēt daļu informācijas no vecās tabulas.

Secinājums:

BCNF ir daudz ierobežojošāks nekā 3NF, kas vairāk palīdz normalizēt tabulu. Attiecībai 3NF ir palicis minimāls dublējums, ko tālāk noņem BCNF.