Ma'lumotlar bazasiga relyatsion yondashish muammolari
Oldingi rejalarda tanishib chiqilgan ma'lumotlar bazasini yaratish xususiyatlaridan foydalanib, axborot tizimlarini tuzishga kirishamiz. Masalan, oldingi paragrafda ko’rilgan ma'lumotlar bazasi «Talabnoma» topshirig’i bilan bog’liq uchta jadval «Talabnoma», «Talabgorlar lug’ati» va «Mahsulotlar lug’ati»ni o’z ichiga oladi.
Ma'lumotlar bazasini yaratuvchilar ma'lum doirada jadval tuzish va ularning sonini tanlashni amaliyotda mustaqil hal qilishadi (tizimni turli xil usullarda loyihalash mumkin). Bunda ko’zlangan asosiy maqsad - jadvallar miqdorining mumkin qadar minimal bo’lishi va turli holatlarni hisobga olgan holda jadvallarni normallashtirishga erishishdir.
Buning MBhiyati nimada? Ma'lumotlar bazasidan unumli foydalanish uchun undagi ax-borotlarni izlash va ulardan foydalanish qulay bo’lishi kerak. Aks holda ko’zlangan maqsadga erishish o’rniga ma'lumotlar o’rnini topish uchun vaqt sarflashga to’g’ri keladi.
Ierarxik yoki tarmoqli tuzilishga ega bo’lgan ma'lumotlarni relyatsion ko’rinishga o’tkazish jarayoni normallashtirish deyiladi.
Sirtdan qaraganda bu jarayon juda sodda ko’rinsada, uni amalga oshirish anchagina murakkab vazifadir. Normallashtirish jarayonini «Talabnoma» jadvalini yaratish misolida ko’rib chiqamiz.
Ma'lumki, ma'lumotlar bazasini yaratishda jadvalning asosiy kaliti bo’lishi kerak. Kerakli axborot ana shu asosiy kalitga ko’ra izlanadi. Yuqorida ko’rsatilgan jadvalga «Talabgorning rekvizitlari» deb ataladigan satr kiritilib, uning qiymati talabgor kodining qiymati bilan aniqlanadi. Lekin talab nomeri — jadval kalitiga bog’liq emas. Bunday hollarda axborotning yo’qolishi ro’y beradi, chunki biror talabgor nomeri yo’qotilsa, u bilan birga talabgorning rekvizitlari ham yo’qotiladi. Yana bir muammo shundaki, bir xil rekvizitlarni o’nlab (balki yuzlab) marta kiritish natijasida nafaqat ortiqcha ishni bajarishingiz, balki ko’plab xatoliklarga yo’l qo’yishingiz mumkin.
Shuning uchun, «Talabnoma» jadvalidan «Rekvizitlar» ustunini olib, uni talabgor nomi bilan Ltaklif lug’atiga kiritamiz.
Bu lug’atda muayyan talabgorning rekvizitlari bir marta ko’rsatiladi. Kelgusida bu rekvizitlar nafaqat «Talabnoma» faylida, balki talabgorning kodi bo’lgan boshqa fayllarda ham ishlatilishi mumkin.
Etarli ko’nikmaga ega bo’lgan odam ma'lumotlarni normallashtirishni amalga oshira oladi. Bunda eng asosiysi, bosh kalit bilan bevosita bog’lanmagan ustunlarni yo’qotishdir.
Foydalanuvchilar ma'lumotlarni normallashtirishda, jadvaldagi ustunlar sonini belgilashda qiyinchiliklarga duch kelishadi.
Misol tariqasida tuzilishi bo’yicha relyatsion tizimga ega bo’lgan xodimlar to’g’risidagi ma'lumotlar bazasini ko’rib chiqamiz.
Bu fayldagi har bir yozuv aniq ishchiga tegishli ma'lumotlardan iborat.
Ma'lumotlar bazasida imkoni boricha ko’proq ma'lumotlar berilishi lozim. Lekin ma'lumotlar turli xodimlar uchun turlicha bo’ladi. Masalan, oldingi ish joyi, xizmat vazifasida siljishi, xizmat safarlari, ilmiy unvonlari, kasallikka chalinishi va boshqalar. Umuman olganda, satrlar sonini maksimal qilib olganda, barcha ko’rsatilgan qismlarni jadvalga («Xodimlar» fayliga) kiritish mumkin. Masalan, biror olim 30 tacha mukofotga ega bo’lsin. U holda «Xodimlar» ga 60 ustun kiritish kerak: SANA 1, KOD 1, SANA 2, KOD 2, ... bu erda sana — MBs holda mukofot berilgan sanani, kod — mukofot kodini anglatadi. Lekin bu satr ko’pchilik yozuvlarda bo’sh qolib ketadi.
Ob'ektning har xil hajmdagi axborotga ega elementlari takrorlanadigan guruhlar deyiladi. Agar har bir takrorlanadigan guruh uchun o’z kalitiga ega bo’lgan alohida jadval hosil qilinsa, masalani echish osonlashadi. Masalan, uchta ustundan iborat MUKOFOT jadvalini tuzish mumkin:
Bu jadvalda “Nomer + Sana” jadvalning bosh kaliti xizmatini o’taydi. Ma'lumotlar bazasiga bir vaqtning o’zida mukofotlar nomlari va kodlari berilgan LMUKOFOT lug’ati kiritiladi. Unda mukofotlarni quyidagicha kodlash mumkin: 01—Nobel mukofoti, 02—Beruniy mukofoti, 03—Zulfiya mukofoti, 04— Hamza mukofoti,... .
Ma'lumotlar bazasini boshqarish dasturida «Xodimlar» va (LMUKOFOT ni o’z ichiga olgan) MUKOFOT faylini birlashtirish mumkin.
(*.dbf) fayllaridagi ma'lumotlarni shartli ravishda ikki guruhga ajratish mumkin: o’zgaruvchan va doimiy ma'lumotlar. Bu guruhlar faqat ma'lumotlarni qayta ishlash va ularning yangilanish chastotasi bilangina bir-biridan farq qiladi.
Dostları ilə paylaş: |