Razlika između 3NF i BCNF

Razlika između 3NF i BCNF
Razlika između 3NF i BCNF

Video: Razlika između 3NF i BCNF

Video: Razlika između 3NF i BCNF
Video: Жёсткие диски. HDD или SSD? 2024, Novembar
Anonim

3NF vs BCNF

Normalizacija je proces koji se provodi kako bi se smanjile suvišnosti koje su prisutne u podacima u relacijskim bazama podataka. Ovaj proces će uglavnom podijeliti velike tablice na manje tablice s manje redundansi. Ove manje tablice će biti povezane jedna s drugom kroz dobro definirane relacije. U dobro normaliziranoj bazi podataka, svaka izmjena ili modifikacija podataka će zahtijevati izmjenu samo jedne tabele. Treći normalni oblik (3NF) uveo je 1971. Edgar F. Codd, koji je također izumitelj relacionog modela i koncepta normalizacije. Boyce-Codd normalnu formu (BCNF) predstavili su 1974. Codd i Raymond F. Boyce.

Šta je 3NF?

3NF je treći normalni oblik koji se koristi u normalizaciji relacijske baze podataka. Prema Codd-ovoj definiciji, za tabelu se kaže da je u 3NF, ako i samo ako je ta tabela u drugom normalnom obliku (2NF), a svaki atribut u tabeli koji ne pripada ključu kandidata treba direktno zavisiti od svaki ključ kandidata te tabele. Godine 1982. Carlo Zaniolo je proizveo drugačije izraženu definiciju za 3NF. Tabele koje su u skladu sa 3NF generalno ne sadrže anomalije koje se javljaju prilikom umetanja, brisanja ili ažuriranja zapisa u tabeli.

Šta je BCNF?

BCNF (također poznat kao 3.5NF) je još jedan normalan oblik koji se koristi u normalizaciji relacijske baze podataka. Uveden je da bi se uhvatile neke anomalije koje ne rješava 3NF. Za tabelu se kaže da je u BCNF-u, ako i samo ako, za svaku od zavisnosti oblika A → B koja nije trivijalna, A je super-ključ. Dekomponovanje tabele koja nije u BCNF normalnom obliku ne garantuje proizvodnju tabela u BCNF obliku (uz očuvanje zavisnosti koje su bile prisutne u originalnoj tabeli).

Koja je razlika između 3NF i BCNF?

I 3NF i BCNF su normalni oblici koji se koriste u relacionim bazama podataka kako bi se smanjile redundanse u tabelama. U tabeli koja je u BCNF normalnom obliku, za svaku netrivijalnu funkcionalnu zavisnost oblika A → B, A je super-ključ, dok bi tabela koja je u skladu sa 3NF trebala biti u 2NF, a svaka ne-prosta atribut bi trebao direktno ovisiti o svakom ključu kandidata te tablice. BCNF se smatra jačim normalnim oblikom od 3NF i razvijen je da uhvati neke od anomalija koje 3NF nije mogao uhvatiti. Dobijanje tabele koja je u skladu sa BCNF formom će zahtevati dekomponovanje tabele koja se nalazi u 3NF. Ova dekompozicija će rezultirati dodatnim operacijama spajanja (ili kartezijanskim proizvodima) prilikom izvršavanja upita. Ovo će povećati vrijeme računanja. S druge strane, tablice koje su u skladu s BCNF-om imale bi manje redundancije od tablica koje su usklađene samo sa 3NF. Nadalje, većinu vremena moguće je dobiti tablicu koja je u skladu sa 3NF bez ometanja očuvanja zavisnosti i spajanja bez gubitaka. Ali to nije uvijek moguće sa BCNF-om.

Preporučuje se: