Bosh sahifa Wiki First Normal Form

First Normal Form

First Normal Form — relational schema’da har row va column kesishmasida model doirasida bitta atomar qiymat bo‘lishini, takrorlanuvchi column guruhlari ishlatilmasligini talab qiladigan normal shakl. Atomarlik qiymat turi va query ehtiyojiga bog‘liq.

Takrorlanuvchi guruhlar

phone1, phone2, phone3 ustunlari sonni schema ichida qotirib qo‘yadi. Natija schema semantikasi hamda application talabiga bog‘liq. Telefonlar child relationga ko‘chirilsa soni erkin bo‘ladi. Misol real insert, update, delete yoki query oqimida tasdiqlanadi. Comma bilan bitta stringga ko‘p qiymat yozish constraint va qidiruvni murakkablashtiradi. Bu holat functional dependency va constraintlar asosida tekshiriladi.

Atomar qiymat

Address bitta value bo‘lishi yoki street, city va postal codega ajralishi mumkin. Misol real insert, update, delete yoki query oqimida tasdiqlanadi. JSON ustuni avtomatik 1NF buzilishi degani emas. Bu holat functional dependency va constraintlar asosida tekshiriladi. Ichki elementlar relational constraint talab qilsa alohida relation ma’qul. Natija schema semantikasi hamda application talabiga bog‘liq.

Kalit va row

Amaliy jadval primary key bilan row identityni aniq saqlaydi. Bu holat functional dependency va constraintlar asosida tekshiriladi. Row yoki column fizik tartibiga biznes ma’no bog‘lanmaydi. Natija schema semantikasi hamda application talabiga bog‘liq. Har atribut domaini ruxsat etilgan qiymatlarni belgilaydi. Misol real insert, update, delete yoki query oqimida tasdiqlanadi.

Natija

1NF query va constraintni strukturali qiladi. Natija schema semantikasi hamda application talabiga bog‘liq. U redundancy muammosini to‘liq yechmaydi. Misol real insert, update, delete yoki query oqimida tasdiqlanadi. Partial va transitive dependency keyingi normal shakllarda ko‘riladi. Bu holat functional dependency va constraintlar asosida tekshiriladi.

Schema va amaliyot

First 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, First Normal Form bilan bog‘liq integrity va staleness muammolari productionga chiqishidan oldin aniqlanadi.

Chekka holatlar va nazorat

Amaliy holatda takrorlanuvchi guruhlar bilan atomar qiymat 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.

First Normal Form uchun kalit va row hamda natija production metrikalarida mustaqil ko‘rinishi kerak. Normalization, Second Normal Form va Relation 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.

1NF tekshiruvida faqat column tipi emas, applicationning qiymat ichidan alohida element qidirishi, yangilashi va constraint qo‘llashi kerakligi ham baholanadi.

Bog‘liq tushunchalar

Normalization, Second Normal Form, Relation, Atomic value, Repeating group, Primary key, Functional dependency, JSON