Second Normal Form — First Normal Formdagi relationda har non-prime atribut har bir candidate keyning faqat bir qismiga emas, butun keyiga to‘liq functional dependent bo‘lishini talab qiladi. Muammo asosan composite key mavjud jadvallarda ko‘rinadi.
Partial dependency
Enrollment keyi (student_id, course_id) bo‘lsa student_name faqat student_idga bog‘liq. Misol real insert, update, delete yoki query oqimida tasdiqlanadi. Course_title faqat course_idga bog‘liq. Bu holat functional dependency va constraintlar asosida tekshiriladi. Grade aynan student va course kombinatsiyasiga tegishli. Natija schema semantikasi hamda application talabiga bog‘liq.
Decomposition
Student atributlari alohida Student relationiga ko‘chiriladi. Bu holat functional dependency va constraintlar asosida tekshiriladi. Course ma’lumoti Course relationida saqlanadi. Natija schema semantikasi hamda application talabiga bog‘liq. Enrollment faqat bog‘lanish keylari va kombinatsiyaga tegishli atributlarni qoldiradi. Misol real insert, update, delete yoki query oqimida tasdiqlanadi.
Amaliy foyda
Student nomi har enrollment rowda takrorlanmaydi. Natija schema semantikasi hamda application talabiga bog‘liq. Bitta update barcha yozuvlar orasida inconsistency qoldirmaydi. Misol real insert, update, delete yoki query oqimida tasdiqlanadi. Studentsiz yangi course ma’lumotini alohida kiritish mumkin. Bu holat functional dependency va constraintlar asosida tekshiriladi.
Chegaralar
Single-column keyli 1NF relation partial dependencyga ega bo‘lmaydi. Misol real insert, update, delete yoki query oqimida tasdiqlanadi. 2NF transitive dependencylarni bartaraf etmaydi. Bu holat functional dependency va constraintlar asosida tekshiriladi. Decomposition lossless join va dependency preservation bo‘yicha tekshiriladi. Natija schema semantikasi hamda application talabiga bog‘liq.
Schema va amaliyot
Second Normal Formni baholashda table nomiga emas, attribute ma’nosi, candidate key, dependency va asosiy access patternlarga qaraladi. Sample data barcha constraintni namoyon qilmasligi mumkin; biznes qoidasi schema bilan birga yoziladi. Migration oldidan mavjud rows yangi qoidalarga mosligi tekshiriladi.
Decomposition yoki projection o‘zgarishi query, index va transactionlarga ta’sir qiladi. Testlar insert, update, delete, duplicate delivery va rebuild holatini qamraydi. Ownership hamda authoritative manba aniq bo‘lsa, Second Normal Form bilan bog‘liq integrity va staleness muammolari productionga chiqishidan oldin aniqlanadi.
Chekka holatlar va nazorat
Production muhitida partial dependency bilan decomposition bir xil qatlam deb qaralmaydi. Birinchi qism noto‘g‘ri bo‘lsa, keyingi qismning muvaffaqiyatli ko‘rinishi umumiy natijani kafolatlamaydi. Shu sabab input, oraliq holat va yakuniy natija alohida qayd etiladi. Limitga yaqin qiymatlar, bo‘sh to‘plam, duplicate amal, kechikkan javob va qisman nosozlik maxsus testlar bilan qamrab olinadi.
Second Normal Form uchun amaliy foyda hamda chegaralar production metrikalarida mustaqil ko‘rinishi kerak. First Normal Form, Third Normal Form va Composite key bilan bog‘lanishlar configuration yoki schema o‘zgarganda qayta tekshiriladi. Normal trafficdagi muvaffaqiyat failure paytidagi recoveryni isbotlamaydi; runbook, alert chegarasi va rollback amalda sinab ko‘riladi. Natijalar owner va o‘zgarish versiyasi bilan saqlansa, keyingi incidentda sababni taxmindan emas, dalildan aniqlash mumkin.
Har candidate key alohida tekshiriladi, chunki faqat tanlangan primary keyga qarash boshqa unique composite keydagi partial dependency muammosini yashirishi mumkin.
Bog‘liq tushunchalar
First Normal Form, Third Normal Form, Composite key, Partial dependency, Functional dependency, Decomposition, Candidate key, Data anomaly