Starpība starp BCNF un 3NF

BCNF pret 3NF

Boyce Codd normāla forma (pazīstama arī kā BCNF) ir normāla forma - tā ir forma, kas nodrošina kritērijus, lai noteiktu tabulas neaizsargātības pakāpi pret loģiskām neatbilstībām un anomālijām. Šo parasto formu izmanto datu bāzes normalizēšanā. Tas ir nedaudz spēcīgāks par tā priekšgājēju, trešo parasto formu (pazīstams arī kā 3NF). Tiek uzskatīts, ka tabula atrodas BCNF tikai un vienīgi tad, ja par katru no tām, kas nav triviālas funkcionālās atkarības - tā ir robeža, kas tiek iestatīta starp divām atribūtu kopām attiecībās, kas ņemta no datu bāzes, ir superkey (kopa relāciju mainīgā atribūti, kas postulē, ka visās attiecībās, kas piešķirtas šim specifiskajam mainīgajam, nav divu atšķirīgu rindu, kas satur vienādu atribūtu vērtību konkrētajā kopā). BCNF postulē, ka jebkura tabula, kas neatbilst kritērijiem, kas jāpiešķir kā BNCF, ir jutīga pret loģiskām neatbilstībām.

3NF ir normāla forma, kuru izmanto arī datu bāzes normalizēšanā. Tiek uzskatīts, ka tabula ir 3NF tikai un tikai tad, ja 1) tabula ir otrajā normālajā formā (vai 2NF, kas ir pirmais normālais kods, vai 1NF, kas atbilst kritērijiem, lai kļūtu par 2NF), un 2) katrs tabulas primārais atribūts nav īslaicīgi atkarīgs no katras tabulas atslēgas (tas nozīmē, ka tas nav tieši atkarīgs no katras atslēgas). Ir vēl viens 3NF postulācija, kuru arī izmanto, lai noteiktu atšķirības starp 3NF un BCNF.

Šo teorēmu izdomāja Karlo Zaniolo 1982. gadā. Tajā teikts, ka tabula ir 3NF tikai un tikai tad, ja katrai funkcionālajai atkarībai, kur X â † 'A, ir jābūt vismaz vienam no trim nosacījumiem: vai nu X â †' A, X ir superkey vai A ir galvenais atribūts (tas nozīmē, ka A ir ietverts kandidāta atslēgā vai arī minimāls superkey šai sakarībai). Šī jaunākā definīcija atšķiras no BCNF teorēmas ar to, ka pēdējais modelis vienkārši novērstu pēdējo nosacījumu. Pat ja tā darbojas kā jaunāka 3NF teorēmas versija, pastāv Zaniolo teorēmas atvasinājums. Tajā teikts, ka X â † 'A nav nekas triviāls. Ja tā ir taisnība, ļaujiet A būt atribūts pusdienlaiks un Y arī R. ir R. atslēga. Ja tas ir, tad Y â 'X. Tas nozīmē, ka A nav pārejoši atkarīga no Y tikai tad, ja un tikai X â † 'Y (vai, ja X ir superkey.

Kopsavilkums:

1. BCNF ir normāla forma, kurā katrai no tabulas funkcijām, kas nav triviālas, ir superkey; 3NF ir normāla forma, kurā tabula atrodas 2NF formātā, un katrs atribūts, kas nav primārais, nav pārejoši atkarīgs no katras tabulas atslēgas..