Xodim_ID
|
Ism
|
Fam
|
Farzand ismlari
|
Farzand tug_kun
|
1001
|
Jane
|
Doe
|
Masu, Sam
|
1/1/92,5/15/94
|
1002
|
John
|
Doe
|
Mary, Sam
|
2/2/92,5/10/94
|
1003
|
Jane
|
Smith
|
John, Pat, Lee, Masu
|
10/5/94,10/12/90,6/6/96,8/21/94
|
1004
|
John
|
Smith
|
Michael
|
7/4/96
|
1005
|
Jane
|
Jones
|
Edward, Martha
|
10/21/95, 10/15/89
|
Jadvaldan ko`rinib turibdiki, har bir satrning ikkita ustunida (Farzand_ismlari, Farzand_tug_kun) bittadan ko`p qiymat joylashgan. Bu jadvalda keltirilgan ma`lumotlar tartibsiz yoki tushunarsiz. Buni birinchi normal formaga keltirishning yoki takrorlanuvchi guruhlarni bartaraf etishning ikkita usuli mavjud: noto`g`ri va to`g`ri.
Noto`g`ri usul. Birinchi usulda takrorlanuvchi guruhlar har bir takrorlanuvchi qiymat uchun jadvalga alohida ustun qo`shish orqali bartaraf etiladi. Ba`zi holatlarda bu usul to`g`ri bo`ladi. Ba`zi holatlarda esa jadval birinchi normal formaga kelgani bilan guruhdagi qiymatlarning soni bilan bog`liq muammo kelib chiqadi. Misol uchun qaralayotgan jadvalda Farzand_ismlari va Farzand_tug_kun ustunlarini uchta ustunga ajratamiz.
Xodim ID
|
Ism
|
Fam
|
Farz1 ismi
|
Farz2 ismi
|
Farz3 ismi
|
F1_t_k
|
F2_t_k
|
F3_t_k
|
1001
|
Jane
|
Doe
|
Masu
|
Sam
|
|
1/1/92
|
5/15/94
|
|
1002
|
John
|
Doe
|
Mary,
|
Sam
|
|
2/2/92,
|
5/10/94
|
|
1003
|
Jane
|
Smith
|
John,
|
Pat
|
Lee
|
10/5/94
|
10/12/90
|
6/6/96
|
1004
|
John
|
Smith
|
Michael
|
|
|
7/4/96
|
|
|
1005
|
Jane
|
Jones
|
Edward
|
Martha
|
|
10/21/95
|
10/15/89
|
|
Yuqorida keltirilgan jadval birinchi normal forma talablarini qanoatlantiradi. Biroq unda bir qator muammolar vujudga kelgan.
Jadvalda har bir xodim uchun faqat uchta farzand bilan chegaralangan. Unda xodimning 4-farzandi haqida ma`lumot saqlash imkoni yo`q.
Xodimlarning farzandi uchtadan kam bo`lgan xodimlarda jadvalning ko`gina qismi bekor qoladi.
Konkret farzandni izlash amali murakkablashadi.
To`g`ri usul. Ikkinchi usulda boshlang`ich jadvaldagi biror atribut yoki atributlar kalit sifatida belgilanadi, keyin takrolanuvchi guruhlar joriy jadvaldan ajratilib aloxida jadvalga o`tkaziladi. Bunda takrorlanuvchi guruhdagi har bir qiymat kalit nusxasi bilan birga yangi jadvalga o`tkaziladi. Yangi jadvalga o`tkazish har bir takrorlanuvchi guruh uchun bajariladi. Agar yaratilgan jadvalda ham takrorlanuvchi guruhlar mavjud bo`lsa, ular uchun ham to`g`ri yoki noto`g`ri usul qo`llaniladi.
Keltirilgan misolda farzand ismlari va tug`ilgan kunlari haqidagi ma`lumotlar yangi jadvalga o`tkaziladi.
Xodimlar
Xodim_ID
|
Ism
|
Fam
|
1001
|
Jane
|
Doe
|
1002
|
John
|
Doe
|
1003
|
Jane
|
Smith
|
1004
|
John
|
Smith
|
1005
|
Jane
|
Jones
|
|
|
Farzand
Xodim_ID
|
Ism
|
Tug_yil
|
1001
|
Masu
|
1/1/92
|
1001
|
Sam
|
5/15/94
|
1002
|
Mary
|
2/2/92
|
1002
|
Sam
|
5/10/94
|
1003
|
John
|
10/5/94
|
1003
|
Pat
|
10/12/90
|
1003
|
Lee
|
6/6/96
|
1003
|
Masu
|
8/21/9
|
1004
|
Michael
|
7/4/96
|
1005
|
Edward
|
10/21/95
|
1005
|
Martha
|
10/15/89
|
|
Birinchi normal formaga bo`lgan talablar quyidagilardan iborat:
Berilgan boshlang`ich munosabat tasvirlangan relyatsion jadvalning har bir atributining qiymati atomar bo`lishi kerak. Ya`ni bu qiymat relyatsion (munosabat) bo`lishi mumkin emas;
boshlang`ich munosabat ma`lumotlar orqali – ya`ni relyatsion jadval va unga tegishli bo`lgan ma`lumotlar bazasining butunlik shartlari orqali ifodalanadi. Xususan bu quyidagilarni bildiradi:
jadvalda bir satrlar (kortejlar, yozuvlar) mavjud emas;
har bir ustun jadvalda atribut nomi bilan nomlangan va atributning joriy qiymatlaridan iborat bo`ladi;
har bir atribut ma`lum domen (ma`lumotlarni abstrakt tipi) bilan bog`langan;
agar relyatsion munosabatda ushbu jadval ilan ishlash e`tiborga olinishi kerak bo`lgan funktsional bog`lanishlar mavjud bo`lsa, u holda ushbu bog`lanishlar ma`lumotlar bazasining butunlik shartida qayd qilinadi;
yozuvlar yaqqol va noyaqqol tartiblangan (masalan, jimlikka ko`ra - foydalanuvchiga ma`lum yoki noma`lum shaklda). Xususan tartiblanganligiga qat`iy talablar qo`yilmaydi (bu talab effektiflik bilan yoki ishlashdagi qulaylik bilan bog`liq);
birlamchi kalitning xech biri bo`sh (NULL) bo`lmasligi kerak;
agar 1NF darajasida kalitlar belgilansa (kalit keyinroq – 2NF da aniqlanishi ham mumkin), u holda ko`rsatgichlarning butunlik sharti qanoatlantirilishi kerak.
Birinchi normal forma (1NF). Jadval 1NF da deyiladi, qachonki undagi hech bir qatorning istalgan maydonda bittadan ortiq qiymat joylashmagan bo`lmasa va birorta kalit maydoni bo`sh (NULL qiymatga) bo`lmasa. Boshqacha aytganda 1NF bu har bir satr va ustun kesishmasida bitta bo`linmas atomar qiymat joylashgan munosabat yoki jadvaldir.
Agar munosabat 1NF bo`lsa, unda barcha kalit bo`lmagan atributlar kalit atributga funktsional bog`langan. Lekin, bog`lanish darajasi har xil. Agar kalit bo`lmagan atribut kalit atributni qismiga bog`langan bo`lsa, u qisman bog`lanishli deyiladi. Agar kalit bo`lmagan atribut barcha murakkab kalitga bog`langan bo`lsa va uni qismiga bog`langan bo`lmasa, unda bu atributni murakkab kalitga to`la funktsional bog`lanish deyiladi.
Har bir normal forma ma`lum shartlar to`plamiga mos keladi va xos shartlar to`plamini qanoatlandirsa, munosabatlar ba`zi normal formada bo`ladi. Shunday qilib yuqoridagi berilgan ta`rifga ko`ra, 1 NFda joylashgan munosabatlar uchun, uning barcha atributlari bo`linmas va bo`sh bo`lmagan qiymatlarga ega bo`lishi kerak.
Barcha normal formalar uchun, har bir keyingi normal forma ma`lum bir tarzda avvalgisining xususiyatlarini yaxshilaydi va keyingi normal formaga o`tishda oldingi normal formalarning xususiyatlari saqlanib qolinishi odatiy hisoblanadi.
1NF dan keyingi normal formalar qanoatlantiradigan shartlarni ko`rsatish uchun quyida ko`rib chiqilgan bir qator tushunchalar qo`llaniladi.
X va Y bir munosabatning bir yoki bir nechta atributlarini o`z ichiga olgan to`plamlar bo`lsin. Agar X bir nechta atributlardan iborat bo`lsa, unda Y to`plami X ga to`liq funktsional bog`liq deyiladi, agar (a) Y funktsional jihatdan X (X→V) ga bog`liq bo`lsa va (b) Y har qanday X` dan mustaqil bo`lsa. Bu yerda X` to`plami X to`plamining atributlari shunday kuyi to`plamiki, X ning kamida bitta atributi X` ga tegishli bo`lmasligi kerak, ya`ni. X`X.
A→C funktsional bog`liqligi tranzitiv deyiladi, agar A→B va B→C bog`liqliklari mavjud bo`lsa. Masalan, T-TN-T munosabatlari uchun, Num→Ntel bog`liqligi tranzitiv, sababi Num→Manzil va Manzil→Ntel bog`liqliklari mavjud.
Munosabatning atribut yoki atributlar to`plamini tasvirlaydigan kalit munosabat uchun birlamchi kalit sifatida ishlatilishi mumkin. Birlamchi kalit har doim mumkin bo`lgan kalitdir, ammo, mumkin bo`lgan birlamchi kalit sifatida ishlatilmagan boshqa kalitlar ham bo`lishi mumkin.
Kalit bo`lmagan atribut - bu munosabatning har qanday mumkin bo`lgan kalitlari tarkibiga kirmaydigan atributidir. O`zaro mustaqil atributlar - bu munosabatning funktsional jihatdan bir-biriga bog`liq bo`lmagan atributlari.
MBni loyihalashda foydalanilgan boshqa bog`liqliklar asosida olinishi mumkin bo`lmagan axborotlarni o`zida jamlamagan funktsional bog`liqlik ortiqcha funktsional bog`liqlik deb ataladi. Ortiqcha funktsional bog`liqliklar o`zida noyob ma`lumotlarni saqlamaydi va natijalarni salbiy ta`sir ko`rsatmasligini ta`minlash uchun ularni funktsional bog`liqliklar to`plamidan olib tashlash mumkin.
Ikkinchi normal forma (2NF). Agar munosabat 2NF bo`ladi, agar munosabat 1NFda bo`lsa va birlamchi kalitdan boshqa barcha atributlar to`liq birlamchi kalitga bog`liq bo`lsa. T-TN-T munosabati 2NFda emas, chunki uning birlamchi kaliti juft <Num, Source > atributlari hisoblanadi va o`zi boshlang`ich kalit emas SumD atributi Num ga bog`liq bo`lganligi sababli munosabatdagi asosiy kalit bilan to`liq funktsional bog`liq emas.
Uchinchi normal forma (3NF). Munosabat 3NF bo`ladi, agar u 2NF bo`lsa va uning asosiy bo`lmagan atributlaridan biri funktsional ravishda boshqa biron bir kalit atributga bog`liq bo`lmasa. Ma`lumotlar munosabatlarda 2NF ga keltirilganda ham bir qancha noqulayliklar bo`ladi. Jumladan, ma`lumotlarda informatsiyani ortiqchaligi, amallarni bajarish qiyinligi va boshqalar. Bunday munosabatlarni 3NF ga keltiriladi. 3NF da tranzitiv bog`lanish yo`qotiladi.
Agar A,V,S R munosabatini 3 ta atributi yoki atributlar to`plami bo`lsin. Agar V atribut A atributga, S atribut esa V atributga bog`langan bo`lsa, ya`ni, A → V va V→S Bunda teskari bog`linishlar bo`lmasa, unda S atribut A atributga tranzitiv bog`langan deyiladi. Uni ko`pincha diagramma ko`rinishida quyidagicha belgilaymiz:
Masalan, xizmatchi (nomer, nomi, maosh, loyiha_nomeri, tugash sanasi).
Shunday qilib, R munosabat 3NF da berilgan deyiladi, agarda u 2NF da bo`lsa va R munosabatdagi birlamchi kalit bo`lmagan har bir atribut R munosabatni har har bir mumkin bo`lgan kalit atributiga notranzitiv bog`langan bo`lsa. Umuman olgandanormallashtirish jarayoni va munosabatni 3NF ga keltirish quyidagi bosqichlardan iborat bo`ladi:
Ma`lumotlarni ixtiyoriy strukturasidan oddiy strukturali 2 o`lchamli jadvallarga o`tish va 1NF ni hosil qilish.
Kalit atributlari bilan barcha atributlar orasidagi mumkin bo`lgan to`liqmas funktsional bog`lanishlarni yo`qotish va 2NF hosil qilish.
Mumkin bo`lmagan kalit atributlari va asosiy bo`lmagan (nokalit) atributlar orasidagi tranzitiv funktsional bog`lanishlarni yo`qotish va 3NF ni hosil qilish
Boysa-Kodd normal formasi. Relyatsion MB nazariyasida dastlabki va eng muhim natijalardan biri Kodd tomonidan tasdiqlangan: agar har bir munosabatlar Boys-Kodd normal formasiga o`tkazilsa, MBda yuzaga kelishi mumkin bo`lgan anomaliyalarning aksariyati yo`q qilinadi. Munosabat Boys-Kodd normal formasida (BKNF) bo`ladi, agar u 3NFda bo`lsa va munosabatlarning har bir determinanti uning mumkin bo`lgan kaliti bo`lsa. Masalan, T-TN-T munosabati uchun, ko`rsatilgan shartlarning ikkinchisi bajarilmaydi, chunki munosabatlarning har bir determinanti mumkin bo`lgan kalit emas:
-
Mumkin bo`lgan kalitlar
|
Determinantlar
|
|
|
To`rtinchi normal forma (4NF). Munosabat 4NF bo`ladi, agar u faqat BKNF da bo`lsa va uning to`liq dekompozitsiyalangan ikkala proektsiyada mumkin bo`lgan umumiy kalitga ega emas bo`lsa.
Beshinchi normal forma (5NF). Munosabat 5NF bo`ladi, agar u faqat 4NF da bo`lsa va uning to`liq dekompozitsiya proektsiyalarida bo`lishi mumkin bo`lgan kalitlar mavjud bo`lsa. Birorta to`liq dekompozitsiyaga ega bo`lmagan jadval ham 5NF bo`ladi.
Nazorat savollari
Relyatsion MBni loyihalashning maqsadlari nima?
Universal munosabatni foydalanishda qanday muammolar bor?
Funktsional bog`liqliklar qanday alohalarni ko`rsatadi?
1NF va 2NF larning farqlarini ko`rsating?
Do'stlaringiz bilan baham: |