Друга нормална форма
Друга нормална форма јесте нормална форма која се користи у поступку нормализацији базе података. Друга нормална форма је изведена из прве нормалне форме.[1][2] Дефинисао ју је Едгар Франк Код.[3]
Парцијална функцијска зависност
[уреди | уреди извор]Нека су X, Y и Z подскупови релације R. Ако за функцијску зависност X → Y постоји неки прави подскуп Z од X, за који важи Z → Y, тада се каже да је зависност X → Y парцијална.[1]
Дефиниција
[уреди | уреди извор]За шему релације R се каже да је у другој нормалној форми, ако над њоме не постоји ниједна функцијска зависност по којој неки некључни атрибут парцијално зависи од било ког кандидат кључа.[1][2]
Објашњење и примери
[уреди | уреди извор]Нека нам је уз шему релације дат и скуп њених функцијских зависности. Када се врши провера да ли је дата релација у другој нормалној форми, тада се посматрају све њене функцијске зависности и тражи се услов из дефиниције. Када наиђемо на такву функцијску зависност, тада се на основу правила нормализације врши декомпозиција дате табеле на мање.[1] Ово значи да се тежи ка потпуној функцијској зависности, елиминишући било које парцијалне зависности у табели.[2]
Посматрајмо сада следећу табелу (релацију) и њен скуп функционалних зависности испод:[1]
- AUTOR = (SifA, SifN, Ime, Koji)
- F = {SifA,SifN → Ime,Koji; SifA → Ime}
Подразумева се да са десне стране знака за зависност, →, стоје и они атрибути са леве, јер зависе од сами себе. Због тога се они не пишу са десне стране, него подразумевају. Нека нам је познат и кандидат-кључ ове релације, SifA,SifN. Њега смо директно могли да уочимо из скупа функцијских зависности, јер од њега зависе сви атрибути у табели, па он једнозначно одређује сваки ред табеле. У скупу F, прва зависност очито није проблематична, јер се ради о зависности атрибута од кандидата-кључа. Зато, посматрајмо зависност SifA → Ime. Како је кандидат-кључ SifA,SifN, лако се уочава да је SifA његов подскуп, те се закључује да се ради о парцијалној зависности. На основу овога, врши се декомпозиција на две табеле - прву са атрибутима из ове зависности и другу која садржи све атрибуте сем онога са десне стране споменуте парцијалне зависности. Провером се закључује да смо добили табеле у другој нормалној форми:[1]
- AUTOR1 = (SifA, Ime), F1 = {SifA → Ime}
- AUTOR2 = (SifA, SifN, Koji), F2 = {SifA,SifN → Koji}
Дакле, уклоњена је нежељена парцијална функцијска зависност.[1]
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ а б в г д ђ е Благојевић, Владимир (2006). Релационе базе података I. Београд: ICNT. стр. 337—338. ISBN 978-86-86531-07-0.
- ^ а б в Elmasri, Ramez; Shamkant B., Navathe. Fundamentals of Database Systems (PDF) (6th изд.). Addison-Wesley. стр. 523. ISBN 978-0-136-08620-8. Архивирано из оригинала (PDF) 11. 01. 2018. г. Приступљено 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.
Литература
[уреди | уреди извор]- Elmasri, Ramez; Shamkant B., Navathe. Fundamentals of Database Systems (PDF) (6th изд.). Addison-Wesley. стр. 523. ISBN 978-0-136-08620-8. Архивирано из оригинала (PDF) 11. 01. 2018. г. Приступљено 11. 1. 2018.
- Благојевић, Владимир (2006). Релационе базе података I. Београд: ICNT. стр. 337—338. ISBN 978-86-86531-07-0.
Спољашње везе
[уреди | уреди извор]- Database Normalization Basics 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