Birinchi normal shakl (1NF) talablari
Birinchi normal shakl (1NF) talabi juda sodda va jadvallar ma'lumotlarning relyatsion modeliga mos kelishi va ma'lum munosabat tamoyillariga rioya qilishidir.
Shunday qilib, ma'lumotlar bazasi birinchi normal shaklda bo'lishi uchun uning jadvallari quyidagi munosabat tamoyillariga amal qilishi kerak:
Jadvalda takrorlanadigan qatorlar bo'lmasligi kerak
Jadvalning har bir katakchasida atomar qiymati saqlanishi kerak (bir xil bo'lmagan qiymat)
Ustunda bir xil turdagi ma'lumotlar saqlanishi lozim.
Jadvalni birinchi normal shaklga o'tkazish. Q jadval birinchi normal shaklda ham emas, chunki bizda takrorlangan satrlar bor (Olim Ashirov) va ba'zi yacheykalar qiymatlar ro'yxatini saqlaydi (har bir telefon raqami bitta qiymatdan iborat).
Normallashtirilmagan shakldagi “Xodimlar” jadvali.
Xaridor
|
Kontakt
|
Anvar Ergashev
|
123-45-67, 987-65-43
|
Baxtiyor Salimov
|
Ishchi telefoni, 555-66-77, Uy telefoni 777-88-99
|
Olim Ashirov
|
123-45-66
|
Olim Ashirov
|
123-45-66
|
Ushbu jadvalni birinchi normal shaklga keltirish uchun takroriy qatorlarni olib tashlash, Telefon turlari (uy yoki ishchi)ni alohida jadvalda saqlash, faqat telefon raqamini qoldirilish lozim.
1-normal shakl. “Xodimlar” jadvali
Xodim
|
Kontakt
|
Telefon turi
|
Anvar Ergashev
|
123-45-67
|
|
Anvar Ergashev
|
987-65-43
|
|
Baxtiyor Salimov
|
555-66-77
|
Ishchi telefon
|
Baxtiyor Salimov
|
777-88-99
|
Uy telefoni
|
Olim Ashirov
|
123-45-66
|
|
179. Ma’lumotlar bazasini ikkinchi normal shaklga keltirish
Ikkinchi normal shakl (2NF)
Ikkinchi normal shakl (2NF) talablari
Ma'lumotlar bazasi ikkinchi normal shaklda (2NF) bo'lishi uchun uning jadvallari quyidagi talablarga javob berishi kerak:
Jadval birinchi normal shaklda bo'lishi kerak
Jadvalda kalit bo'lishi kerak
Jadvalning barcha kalit bo'lmagan ustunlari to'liq kalitga bog'liq bo'lishi kerak (agar u tarkibli bo'lsa)
Agar kalit tarkibli bo'lsa, ya'ni bir nechta ustunlardan iborat, keyin barcha boshqa kalit bo'lmagan ustunlar butun kalitga bog'liq bo'lishi kerak. Agar ba'zi bir atribut (ustun) kalitning bitta ustuniga bog'liq bo'lsa, ma'lumotlar bazasi ikkinchi normal shaklda emas deb hisoblanadi.
Boshqacha qilib aytganda, jadvalda faqat kalitning yarmini bilib olish mumkin bo'lgan ma'lumotlar bo'lmasligi kerak.
Ikkinchi normal shaklning (2NF) asosiy qoidasi quyidagicha:
Jadvalda har bir satrni aniqlash mumkin bo'lgan to'g'ri kalit bo'lishi kerak.
Jadvalni ikkinchi normal shaklga o'tkazishga misol
Tasavvur qilaylik, tashkilot xodimlari ro'yxatini saqlashimiz kerak va buning uchun quyidagi jadvalni tuzdik.
“Xodimlar” jadvali
FISH
|
Lavozim
|
Bo’lim
|
Bo’lim tavsifi
|
Anvar Ergashev
|
Dasturchi
|
Rivojlanish bo'limi
|
Ilovalar va saytlarni ishlab chiqish va ularga xizmat ko'rsatish
|
Anvar Ergashev
|
Buxgalter
|
Buxgalteriya
|
Buxgalteriya hisob-kitoblarini amalga oshirish
|
Olim Ashirov
|
Sotuvchi
|
Amalga oshirish bo’limi
|
Mahsulot sotilishini tashkil etish
|
180. Ma’lumotlar bazasini uchinchi normal shaklga keltirish
Uchinchi normal shakl. Uchinchi normal shakl (3NF) talablari
Uchinchi normal shakldagi talab (3NF) - jadvallarda tranzitiv qaramlik bo'lmasligi kerak.
Tranzitiv qaramlik - bu kalit bo'lmagan ustunlar boshqa kalit bo'lmagan ustunlar qiymatlariga bog'liq bo'lganda hosil bo’lgan qaramalikdir.
Agar birinchi normal shaklda e'tibor prinsiplariga rioya qilishga qaratilgan bo'lsa, ikkinchi normal shaklda birlamchi kalitga e'tibor qaratiladi. Uchinchi normal shaklda barcha e'tiborimiz asosiy kalit bo'lmagan ustunlarga qaratiladi.
Ma'lumotlar bazasini uchinchi normal shaklga normalizatsiya qilish uchun jadvallarda boshqa kalit bo'lmagan ustunlarga bog'liq bo'lgan kalit bo'lmagan ustunlar mavjud emasligiga ishonch hosil qilishingiz kerak.
Boshqacha qilib aytganda, kalit bo'lmagan ustunlar jadvaldagi kalit vazifasini bajarishga urinmasligi kerak, ya'ni ular haqiqatan ham kalit bo'lmagan ustunlar bo'lishi kerak, bunday ustunlar boshqa ustunlardan ma'lumotlarni olish imkoniyatini bermaydi, ular tarkibidagi ma'lumotlarni ko'rib chiqish imkoniyatini beradi, chunki bu ularning maqsadi.
Uchinchi normal shaklning umumiy qoidasi (3NF) quyidagicha:
Jadvalda kalit bo'lmagan ustunlar bo'lishi kerak.
Ma'lumotlar bazasi jadvallarini uchinchi normal shaklga o'tkazishga misol
Masalan, quyidagi jadvalni olaylik:
Tartib raqami
|
FISH
|
Lavozimi
|
Bo’lim
|
Bo’lim tavsifi
|
1
|
Anvar Ergashev
|
Dasturchi
|
Ishlab chiqish bo'limi
|
Ilovalar va saytlarni ishlab chiqish va ularga xizmat ko'rsatish
|
2
|
Zokir Karimov
|
Buxgalter
|
Buxgalteriya
|
Buxgalteriya hisob-kitoblarini amalga oshirish
|
3
|
Islom Kenjayev
|
Menedjer
|
Amalga oshirish bo’limi
|
Mahsulot sotilishini tashkil etish
|
Ushbu jadval uchinchi normal shaklda ekanligini aniqlash uchun biz barcha kalit bo'lmagan ustunlarni tekshirib ko'rishimiz kerak, ularning har biri faqat asosiy kalitga bog'liq bo'lishi kerak va boshqa kalit bo'lmagan ustunlar bilan hech qanday aloqasi bo'lmasligi kerak.
Biroq, tekshirish natijasida biz "Bo'lim tavsifi" ustuni to'g'ridan-to'g'ri asosiy kalitga bog'liq emasligini aniqladik. Biz o'zimizga bitta savol bilan murojaat qilganimizda buni bilib oldik "Bo'lim tavsifi xodim bilan qanday bog'liq?" va bizning javobimiz quyidagicha: "Bo'limning atribut tavsifida xodim ishlaydigan bo'lim to'g'risida batafsil ma'lumotlar mavjud."
Bundan kelib chiqadiki, "Bo'lim tavsifi" ustuni to'g'ridan-to'g'ri xodim bilan bog'liq emas, u to'g'ridan-to'g'ri xodim bilan bog'liq bo'lgan "Bo'lim" ustuniga bevosita bog'liq, chunki xodim ma'lum bir bo'limda ishlaydi. Bu bitta kalit bo'lmagan ustunni boshqa kalit bo'lmagan ustun orqali birlamchi kalit bilan bog'laydigan o’tuvchi bog’liqlikdir.
Ushbu jadvalni uchinchi normal holatga keltirish uchun biz nima qilishimiz kerak? Buning uchun bir mohiyatni alohida-alohida ikkita mohiyatga ajratish lozim.
Ushbu jadvalni ikkiga bo'lishimiz kerak: birinchisida Xodimlar, ikkinchisida Bo'limlar.
Uchinchi normal shaklda Xodimlar jadvali.
Tartib raqami
|
FISH
|
Lavozimi
|
Bo’lim
|
1
|
Anvar Ergashev
|
Dasturchi
|
1
|
2
|
Zokir Karimov
|
Buxgalter
|
2
|
3
|
Islom Kenjayev
|
Menedjer
|
3
|
181. SQL tili
Relyatsion ma’lumotlar modeli ustunlik darajasiga ko’tarilishining yana bir sababi bu kuchli va moslashuvchan so’rovlar tili. Ma’lumotlar bazasi dasturlarining aksariyati Structured Query Language (SQL) dan foydalanadi, bu foydalanuvchiga qanday bajarilishini ko’rsatmasdan nima qilish kerakligini aniqlashga imkon beradi. RMBBT SQLdan foydalanuvchi so’rovlarini so’ralgan ma’lumotlarni olish bo’yicha ko’rsatmalarga tarjima qilish uchun foydalanadi. SQL ma’lumotlarni boshqa har qanday ma’lumotlar bazasi yoki fayl muhiti bilan solishtirganda kamroq kuch sarflash bilan olish imkonini beradi.
Ma’lumotlar bazasida saqlanadigan jadvallar to’plami. Relyatsion ma’lumotlar bazasida barcha ma’lumotlar jadvallarda saqlanadigan deb qabul qilinadi. Jadvallar shunchaki tushunarli tarzda ma’lumotlarni foydalanuvchilarga “taqdim etadi”. Har bir jadval mustaqil. Turli jadvallardagi satrlar umumiy atributlardagi umumiy qiymatlar bilan bog’liq.
• SQL “mexanizmi”. SQL mexanizmi barcha foydalanuvchilardan yashirin bo’lib, barcha so’rovlarni yoki ma’lumotlarga bo’lgan talablarni bajaradi. Yodda tutingki, SQL mexanizmi MBBT dasturining bir qismi.
SQL ma'lumotlar bazasini boshqaruvchi vositadir. Bunday holda, asosiy operatsiyalar jadvallar yaratish, jadvallarga eslatmalar qo'shish, yozuvlarni o'zgartirish va o'chirish, jadvallardan yozuvlarni tanlash, jadvallarning tuzilishini o'zgartirish kabilar bo’ladi.
Do'stlaringiz bilan baham: |