Ma'lumotlar bazasini normalizatsiya qilish: Birinchi Oddiy shakl

Ushbu ikki oddiy qoidalar ma'lumotlar bazangizni normallashtirishga yordam beradi

Birinchi Oddiy form (1NF) tashkil etilgan ma'lumotlar bazasi uchun asosiy qoidalarni o'rnatadi:

Ma'lumotlar bazasining amaliy dizaynini ko'rib chiqishda bu qoidalar nimani anglatadi? Bu juda oddiy.

1. Ko'paytirishni bartaraf qilish

Birinchi qoida, jadvalning bir xil satrida ma'lumotlarni ko'chirib olishimiz kerakligini belgilaydi. Ma'lumotlar bazasi jamoasi doirasida ushbu kontseptsiya jadvalning atomikligi deb ataladi. Ushbu qoidaga mos keladigan jadvallar atom deb ataladi. Keling, ushbu printsipni klassik misol bilan o'rganamiz: menejer-subordinate aloqalarni saqlaydigan inson resurslari ma'lumotlar bazasida jadval. Bizning misolimiz uchun har bir boshqaruvchining bir yoki bir nechta bo'ysunuvchilari bo'lishi mumkin bo'lgan biznes qoidalarini o'rnatamiz.

Intuitiv ravishda ushbu ma'lumotni kuzatish uchun ro'yxat yoki elektron jadval yaratishda biz quyidagi maydonlarni o'z ichiga oladigan jadval yaratishimiz mumkin:

Shunga qaramay, 1NF tomonidan o'rnatilgan birinchi qoidani esga oling: bir xil jadvaldagi takroriy ustunlarni yo'q qilish. Ko'rinib turibdiki, Subordinate1-Subordinate4 ustunlari takrorlanadi. Biroz vaqt ol va bu stsenariyda ko'tarilgan muammolarni o'ylab ko'ring. Agar menejerda faqat bitta subordinator mavjud bo'lsa, Subordinate2-Subordinate4 ustunlari faqat qimmatli ma'lumotlar bazasi tovarini sarflashadi. Bundan tashqari, menejer allaqachon 4ta bo'ysundiruvchi ishni tasavvur qiling - agar u boshqa xodimga murojaat qilsa nima bo'ladi? Barcha jadval tuzilishi o'zgartirishni talab qiladi.

Ushbu nuqtada, odatda, yangi ma'lumotlar bazasi novatorlari paydo bo'ladi: Biz bir nechta ustunlar bo'lishini xohlamaymiz va ma'lumotlarning moslashuvchan miqdori uchun ruxsat berishni xohlaymiz. Keling, shunday bir narsani sinab ko'raylik:

Subordinatlar maydoni "Maryam, Bill, Jou" shaklida bir nechta yozuvlarni o'z ichiga oladi.

Ushbu yechim yaqinroq, lekin u ham belgidan kam bo'ladi. Subordinatlar ustuni hali ham takroriy va atom bo'lmagan. Subordinatsiyani qo'shish yoki olib tashlash kerak bo'lganda nima sodir bo'ladi? Jadvalning barcha mazmunini o'qish va yozish kerak. Bu vaziyatda bu katta ish emas, bir rahbarning yuz nafar ishchisi bo'lsa nima bo'lar edi? Bundan tashqari, ma'lumotlar bazasidan ma'lumotlarni kelgusidagi so'rovlarda tanlash jarayoni murakkablashadi.

1NF ning birinchi qoidani qondiradigan jadval:

Bunday holatda, har bir bo'ysunuvchining bitta usuli bor, lekin rahbarlar bir nechta yozuvlarga ega bo'lishi mumkin.

2. Asosiy kalitni aniqlang

Endi, ikkinchi qoidaga nima deyiladi: har bir qatorni noyob ustun yoki ustunlar majmui ( asosiy kalit ) bilan aniqlang? Yuqoridagi jadvalga qarashingiz va ustun ustunning asosiy kalit sifatida ishlatilishini taklif qilishingiz mumkin. Aslida, ustunli ustun asosiy kalit uchun yaxshi nomzod bo'lib, ishbilarmonlik qoidalari har bir bo'ysunuvchining faqat bitta boshqaruvchiga ega bo'lishini ko'rsatdi. Ammo, bizning jadvalimizda saqlamoqchi bo'lgan ma'lumotlar bu ideal echimdan kamroq bo'ladi. Jim ismli boshqa xodimni yollagan bo'lsak, nima bo'ladi? Biz o'z menejer-subordinatsiya munosabatlarimizni ma'lumotlar bazasida qanday saqlashimiz mumkin?

Asosiy kalit sifatida haqiqiy noyob identifikatorni (ishchi identifikatori kabi) ishlatish yaxshidir. Bizning yakuniy jadval shunday bo'ladi:

Endi bizning stolimiz birinchi odatdagi shaklda! Agar normalizatsiya to'g'risida o'rganishni davom etmoqchi bo'lsangiz, ushbu qatordagi boshqa maqolalarni o'qing: