Bosh kalit ikkita xossaga ega bo‘lishi kerak

|
Bosh kalit ikkita xossaga ega bo‘lishi kerak
|
bet | 7/9 | Sana | 22.06.2024 | Hajmi | 2,61 Mb. | | #265156 |
Bog'liq Antiplakat uchunBosh kalit ikkita xossaga ega bo‘lishi kerak:
1. Ustundagi yozuvning yagonaligi. Kalitdagi qiymat o‘zgarmasligi lozim.
2. Ko‘p ma‘nolikka yo‘l qo‘ymaslik. Ustundagi birorta belgini o‘zgartirish mumkin emas, aks holda bosh kalit o‘zgaradi, «Talabnoma» jadvalidagi talab nomeri bosh kalit bo‘lib xizmat qiladi. Jadvalda talab nomerini ko‘rsatadigan ikki va undan ortiq bir xil yozuv bo‘lishi mumkin emas, aks holda jadval ma‘noga ega bo‘lmaydi. «Xodimlar jadvali»ning bosh kaliti bo‘lib F.I.Sh. (familiyasi, ismi, sharifi) ustuni xizmat qila oladimi?
Yo‘q, albatta. Chunki bir tashkilotda bir xil familiyali bir nechta kishi ishlashi mumkin. Shu bois, bosh kalit sifatida ularning Tabel nomerlarini olish o‘rinli bo‘ladi. Zero, bosh kalit birinchi talabga ko‘ra ma‘lumotni topish xarakteriga ega bo‘lishi lozim. Aksariyat hollarda, universal jadvallar bir-biridan bosh kalitlariga ko‘ra farq qiladi. Ma‘lumotlar omboriga relyatsion yondashish muammolari. Ma‘lumotlar omborini yaratish xususiyatlaridan foydalanib, axborot tizimlarini tuzishga kirishamiz. Masalan, ma‘lumotlar ombori «Talabnoma» topshirig‘i bilan bog‘liq uchta jadval «Talabnoma», «Talabgorlar lug‘ati» va «Mahsulotlar lug‘ati»ni o‘z ichiga oladi.
Ma‘lumotlar omborini yaratuvchilar ma‘lum doirada jadval tuzish va ularning sonini tanlashni amaliyotda mustaqil xal 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 mohiyati nimada?
Ma‘lumotlar omboridan unumli foydalanish uchun undagi axborotlarni 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 tarmokli tuzilishga ega bo‘lgan ma‘lumotlarni relyatsion kurinishga 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 omborini yaratishda jadvalning asosiy kaliti bo‘lishi kerak. Kerakli axborot ana shu asosiy kalitga ko‘ra izlanadi. Yuqorida ko‘rsatilgan jadvalga «Talabgorniig 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 taklif 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. Yetarli 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 omborini ko‘rib chiqamiz.
Bu fayldagi har bir yozuv aniq ishchiga tegishli ma‘lumotlardan iborat.
Ma‘lumotlar omborida 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, SANA2, KOD2, ... bu yerda sana — mos holda mukofot berilgan sanani, kod — mukofot kodini anglatadi. Lekin bu satr ko‘pchilik yozuvlarda bo‘sh qolib ketadi.
Obyektning 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 yechish osonlashadi. Masalan, uchta ustundan iborat MUKOFOT jadvalini tuzish mumkin:
Tabel nomeri
Taqdim sanasi
Mukofot kodi
Bu jadvalda Nomer + Sana jadvalning bosh kaliti xizmatini o‘taydi
Ma‘lumotlar omboriga 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 omborini boshqarish dasturida «Xodimlar» va (MUKOFOT 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.
2.1.3 – rasm. Ma’lumotlar bazasining ER diagrammasi
|
| |