Druga normalna forma
Druga normalna forma jeste normalna forma koja se koristi u postupku normalizaciji baze podataka. Druga normalna forma je izvedena iz prve normalne forme.[1][2] Definisao ju je Edgar Frank Kod.[3]
Parcijalna funkcijska zavisnost
[uredi | uredi izvor]Neka su X, Y i Z podskupovi relacije R. Ako za funkcijsku zavisnost X → Y postoji neki pravi podskup Z od X, za koji važi Z → Y, tada se kaže da je zavisnost X → Y parcijalna.[1]
Definicija
[uredi | uredi izvor]Za šemu relacije R se kaže da je u drugoj normalnoj formi, ako nad njome ne postoji nijedna funkcijska zavisnost po kojoj neki neključni atribut parcijalno zavisi od bilo kog kandidat ključa.[1][2]
Objašnjenje i primeri
[uredi | uredi izvor]Neka nam je uz šemu relacije dat i skup njenih funkcijskih zavisnosti. Kada se vrši provera da li je data relacija u drugoj normalnoj formi, tada se posmatraju sve njene funkcijske zavisnosti i traži se uslov iz definicije. Kada naiđemo na takvu funkcijsku zavisnost, tada se na osnovu pravila normalizacije vrši dekompozicija date tabele na manje.[1] Ovo znači da se teži ka potpunoj funkcijskoj zavisnosti, eliminišući bilo koje parcijalne zavisnosti u tabeli.[2]
Posmatrajmo sada sledeću tabelu (relaciju) i njen skup funkcionalnih zavisnosti ispod:[1]
- AUTOR = (SifA, SifN, Ime, Koji)
- F = {SifA,SifN → Ime,Koji; SifA → Ime}
Podrazumeva se da sa desne strane znaka za zavisnost, →, stoje i oni atributi sa leve, jer zavise od sami sebe. Zbog toga se oni ne pišu sa desne strane, nego podrazumevaju. Neka nam je poznat i kandidat-ključ ove relacije, SifA,SifN. Njega smo direktno mogli da uočimo iz skupa funkcijskih zavisnosti, jer od njega zavise svi atributi u tabeli, pa on jednoznačno određuje svaki red tabele. U skupu F, prva zavisnost očito nije problematična, jer se radi o zavisnosti atributa od kandidata-ključa. Zato, posmatrajmo zavisnost SifA → Ime. Kako je kandidat-ključ SifA,SifN, lako se uočava da je SifA njegov podskup, te se zaključuje da se radi o parcijalnoj zavisnosti. Na osnovu ovoga, vrši se dekompozicija na dve tabele - prvu sa atributima iz ove zavisnosti i drugu koja sadrži sve atribute sem onoga sa desne strane spomenute parcijalne zavisnosti. Proverom se zaključuje da smo dobili tabele u drugoj normalnoj formi:[1]
- AUTOR1 = (SifA, Ime), F1 = {SifA → Ime}
- AUTOR2 = (SifA, SifN, Koji), F2 = {SifA,SifN → Koji}
Dakle, uklonjena je neželjena parcijalna funkcijska zavisnost.[1]
Vidi još
[uredi | uredi izvor]Reference
[uredi | uredi izvor]- ^ a b v g d đ e Blagojević, Vladimir (2006). Relacione baze podataka I. Beograd: ICNT. str. 337—338. ISBN 978-86-86531-07-0.
- ^ a b v Elmasri, Ramez; Shamkant B., Navathe. Fundamentals of Database Systems (PDF) (6th izd.). Addison-Wesley. str. 523. ISBN 978-0-136-08620-8. Arhivirano iz originala (PDF) 11. 01. 2018. g. Pristupljeno 11. 1. 2018.
- ^ Codd, E.F. "Further Normalization of the Data Base Relational Model." (Presented at Courant Computer Science Symposia Series 6, "Data Base Systems," New York City, May 24th-25th, 1971.) IBM Research Report RJ909 (August 31st, 1971). Republished in Randall J. Rustin (ed.), Data Base Systems: Courant Computer Science Symposia Series 6. Prentice-Hall, 1972.
Literatura
[uredi | uredi izvor]- Elmasri, Ramez; Shamkant B., Navathe. Fundamentals of Database Systems (PDF) (6th izd.). Addison-Wesley. str. 523. ISBN 978-0-136-08620-8. Arhivirano iz originala (PDF) 11. 01. 2018. g. Pristupljeno 11. 1. 2018.
- Blagojević, Vladimir (2006). Relacione baze podataka I. Beograd: ICNT. str. 337—338. ISBN 978-86-86531-07-0.
Spoljašnje veze
[uredi | uredi izvor]- Database Normalization Basics Архивирано на сајту Wayback Machine (2. децембар 2017) by Mike Chapple (About.com)
- An Introduction to Database Normalization by Mike Hillyer.
- A tutorial on the first 3 normal forms by Fred Coulson
- Description of the database normalization basics by Microsoft