O‘ZBEKISTON RESPUBLIKASI
AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
malumotlar bazasi fanidan MUSTAQIL ISHI
Bajardi: Eshqobilov Xushnud Tekshirdi:Quvnoqov Avaz Toshkent 2023 Oddiy so'z bilan aytganda, ma'lumotlar bazasini normallashtirish ortiqcha miqdorni kamaytirish uchun ma'lumotlar bazasini bir nechta jadvallarga ajratishni talab qiladi. Siz ma'lumotlar bazasini 1NF, 2NF va 3NF kabi har qanday normallashtirish turlariga rioya qilish uchun loyihalashingiz mumkin.
Ushbu maqolada biz ma'lumotlar bazasini normallashtirish nima ekanligini va uning maqsadini batafsil ko'rib chiqamiz. Shuningdek, biz normalizatsiya turlarini - 1NF, 2NF, 3NF - misollar bilan ko'rib chiqamiz. Ma'lumotlar bazasini normallashtirish nima? Ma'lumotlar bazasini normallashtirish ma'lumotlarni tartibli va izchil tarzda tashkil qilish uchun ma'lumotlar bazasini loyihalash tamoyilidir.
Bu ortiqcha ishlarning oldini olishga va ma'lumotlar bazasining yaxlitligini saqlashga yordam beradi. Shuningdek, u qo'shish, o'chirish va yangilash bilan bog'liq bo'lgan nomaqbul xususiyatlarni bartaraf etishga yordam beradi. Normallashtirishning maqsadi nima? Ma'lumotlar bazasini normallashtirishning asosiy maqsadi - murakkabliklarning oldini olish, takroriy ma'lumotlarni yo'q qilish va ma'lumotlarni izchil tartibga solish. Normallashtirishda ma'lumotlar o'zaro bog'langan bir nechta jadvallarga bo'linadi.
Ma'lumotlar bazasi ma'murlari birlamchi kalitlar, tashqi kalitlar va kompozit kalitlar yordamida ushbu munosabatlarga erishishlari mumkin.
Buni amalga oshirish uchun bitta jadvaldagi asosiy kalit, masalan, xodim_ish haqi boshqa jadvaldagi qiymat bilan bog'liq, masalan, xodim_ma'lumotlari. Eslatma: Birlamchi kalit - bu jadvaldagi ma'lumotlar qatorlarini noyob tarzda aniqlaydigan ustun. Bu xodimning identifikatori, talaba identifikatori, saylovchilarning identifikatsiya raqami (VIN) va boshqalar kabi noyob identifikator.
Chet el kaliti - bu boshqa jadvaldagi asosiy kalit bilan bog'liq bo'lgan maydon.
Kompozit kalit xuddi asosiy kalitga o'xshaydi, lekin ustunga ega bo'lish o'rniga u bir nechta ustunlarga ega 1NF 2NF va 3NF nima? 1NF, 2NF va 3NF ma'lumotlar bazasini normallashtirishning dastlabki uchta turidir. Ular mos ravishda birinchi normal shaklni, ikkinchi normal shaklni va uchinchi normal shaklni anglatadi.
Bundan tashqari, 4NF (to'rtinchi normal shakl) va 5NF (beshinchi normal shakl) mavjud. Hatto 6NF (oltinchi normal shakl) ham bor, lekin siz ko'rgan eng keng tarqalgan normal shakl 3NF (uchinchi normal shakl).
Ma'lumotlar bazasini normallashtirishning barcha turlari to’planib boradi, ya'ni ularning har biri uning ostidagilar ustiga quriladi. Shunday qilib, 1NF dagi barcha tushunchalar ham 2NF ga o'tadi va hokazo. Birinchi oddiy shakl - 1NF Jadval birinchi normal shaklda bo'lishi uchun u quyidagi mezonlarga javob berishi kerak:
bitta hujayra bittadan ortiq qiymatga ega bo'lmasligi kerak (atomlik) identifikatsiya qilish uchun asosiy kalit bo'lishi kerak takrorlangan satrlar yoki ustunlar yo'q har bir ustun jadvaldagi har bir satr uchun faqat bitta qiymatga ega bo'lishi kerak Ikkinchi normal shakl - 2NF 1NF faqat takrorlanuvchi guruhlarni yo'q qiladi, ortiqcha emas. Shuning uchun 2NF mavjud.
Jadval quyidagi mezonlarga javob bersa, 2NF da deyiladi:
u allaqachon 1NFda qisman qaramlikka ega emas. Ya'ni, barcha kalit bo'lmagan atributlar birlamchi kalitga to'liq bog'liqdir. Uchinchi normal shakl - 3NF Jadval 2NFda bo'lsa, u takrorlanuvchi guruhlarni va ortiqchalikni yo'q qiladi, lekin u o'tish davriga qisman qaramlikni yo'q qilmaydi.
Bu asosiy bo'lmagan atribut (nomzod kalitining bir qismi bo'lmagan atribut) boshqa asosiy bo'lmagan atributga bog'liqligini anglatadi. Bu uchinchi normal shakl (3NF) yo'q qiladi.
Shunday qilib, jadval 3NFda bo'lishi uchun quyidagilar kerak:
2NFda bo'lishtranzitiv qismanqaramlikka ega emas. 1NF, 2NF va 3NF misollari Ma'lumotlar bazasini normallashtirish juda texnik, ammo biz har bir oddiy shaklni misollar bilan ko'rsatamiz.
Tasavvur qiling, biz restoran boshqaruvi ilovasini yaratmoqdamiz. Ushbu dastur kompaniya xodimlari haqidagi ma'lumotlarni saqlashi kerak va u quyidagi xodimlar jadvalini yaratishdan boshlanadi
Barcha yozuvlar atomik va kompozit asosiy kalit (xodim_identifikatori, ish_kodi) mavjud, shuning uchun jadval birinchi oddiy shaklda (1NF).
Agar siz faqat birovning xodimi_identifikatorini bilsangiz ham, uning ismini, uy_shtatini va davlat_kodini aniqlashingiz mumkin (chunki ular bir xil shaxs bo'lishi kerak). Bu degani, ism, uy_davlati va davlat_kodi xodim_identifikatoriga (asosiy kompozit kalitning bir qismi) bog'liq. Shunday qilib, jadval 2NFda emas. 2NF qilish uchun ularni boshqa jadvalga ajratishimiz kerak. Ikkinchi normal shaklga misol (2NF) xodim_rollari jadvali xodimlar jadvali
Kasblar Jadvali
home_state endi state_code ga bog'liq. Shunday qilib, agar siz davlat_kodini bilsangiz, home_state qiymatini topishingiz mumkin.
Buni bir qadam oldinga olib borish uchun biz ularni 3NF qilish uchun yana boshqa jadvalga ajratishimiz kerak Uchinchi normal shaklga misol (3NF) xodim_rollari jadvali