You are on page 1of 2

Boyce-codova normalna forma

Definicija:
(1) šema relacije R(A1, A2, ..., An) je u Boyce-Coddovoj normalnoj formi (BCNF) ako i samo
ako je u 3NF iako za svaki par X i Y disjunktnih nepraznih podskupova skupa svih atributa
postoji funkcionalna zavisnost X -> Y koja povlači postojanje funkcionalne zavisnosti X - Ai
za svako i=1, 2, ..., n.

Ova definicija kaže da kad god u relaciji postoji netrivijalna funkcionalna zavisnost X -> Y
između disjunktnih nepraznih skupova nekih atributa, onda domen te zavisnosti sadrži ključ
relacije (2). Šema relacije R je u Boyce-Codd-ovoj normalnoj formi (BCNF) ako uvek kada je
u R važi X -> A onda je X primarni ključ relacije R.

Odnos 3NF i BCNF


- Ako je relacija u BCNF, onda je ona i u 3NF.
- Postoje relacije koje su u 3NF a nisu u BCNF.

BCNF normalizacija
Ako šema relacije R nije u BCNF onda postoji takva dekompozicija relacije R u skup relacija
koje su sve u BCNF, a operacijom prirodnog spoja se iz njih može ponovo dobiti relacija R.
Šemu relacije R koja nije u BCNF predstavićemo u formi R(X, Y, Z) gde je presjek skupova
atributa X ∩ Y = 0, X -> Y i X -> Z.
Šema relacije se djeli na dvije relacije R1(X, Y) i R2(X, Z).
Primer:
Šema relacije R(A1, A2, A3) gde postoje funkcionalne zavisnosti:
f1: A1,A2 -> A3
f2: A3 -> A1
je u 3NF, jer jedini sporedni atribut A3 ne zavisi tranzitivno od jednog ključa (A1, A2). Ova
relacija nije u
BCNF jer A3 iz f2 ne sadrži s lijeve strane primarni ključ.

Za BCNF normalizaciju djelimo skup atributa R(A1, A2, A3) na tri podskupa:
X=(A3), Y(A1), Z=(A2) koji ispunjavaju tražene uslove
A3 -> A1, A3 -> A2
šema relacije R se razlaže na dvije šeme relacije u BCNF:
R1(A3, A1) i R2(A3, A2).

Primer:
Data je šema relacije R(A1, A2, A3, A4) gde postoje sljedeće funkcionalne zavisnosti :
f1: A1 -> A2, A3, A4
f2: A2, A3 -> A1, A4
f3: A4 -> A2
A1 je primarni ključ, a {A2, A3} je kandidat za ključ. R je u 3NF ali nije u BCNF zbog f3
(A4 nije primarni ključ relacije R, ali je A2 ključni atribut, te f3 zadovoljava uslov (b) iz
definicije (3) za 3NF). R se može rastaviti na dve relacije:
R1(A1, A4, A3) i R2(A4, A2)

Primjer:
Data je šema relacije PACIJENT-POSJETA(PACIJENT, KLINIKA, DOKTOR). Nad
atributima ove relacije postoje sljedeće funkcionalne zavisnosti:
f1: {PACIJENT, KLINIKA} -> DOKTOR
f2: DOKTOR -> KLINIKA

Pitanja:
1. Dokazati da je relacija PACIJENT-POSJETA u 3NF, ali da nije u BCNF.
2. Izvršiti BCNF normalizaciju.
3. Pokazati anomalije koje se javljaju pri obradi ove relacije.

Odgovori:

1. Šema relacije PACIJENT-POSJETA je u 3NF jer f1 ispunjava uslov (a) iz definicije za 3NF,
a f2 takođe ispunjava uslov pomenute definicije. Kako u definiciji BCNF ne postoji dati
uslov, to ova relacija nije u BCNF.

2. Skup atributa A={PACIJENT, KLINIKA, DOKTOR} djelimo na tri podskupa


X={DOKTOR},
Y={KLINIKA}, Z={PACIJENT} gde važi f2: X -> Y, Y -> Z. šemu relacije PACIJENT-
POSJETA
razlažemo na dve šeme relacije :
PACIJENT-POSJETA1(KLINIKA, DOKTOR) PACIJENT-POSJETA2 (PACIJENT,
DOKTOR)

You might also like