3. Funktsional bog`liqlik
Anomaliyalar kelib chiqishini bartaraf qilish maqsadida munosabatlarni ajratish (bo`lish) jarayoni dekompozitsiya deyildai. Munosabatni ko`plab yangi munosabatlarga ajratishda relyatsion algebraning tegishli amallari ishlatilib, bu munosabat proektsiyalari deb ataladi.
Dastlab munosabatni «munosabatning proektsiyalari» deb ataluvchi bir nechta yangi munosabatlarga ajratish uchun relyatsion algebraning tegishli amallari qo`llaniladi. Munosabatning to`liq dekompozitsiyasi - tabiiy bog`lanuvchi ushbu munosabat bilan bir xil bo`ladigan uning cheklanmagan sondagi proektsiyalari to`plami bo`lib hisoblanadi.
Dekompozitsiyalashni amalga oshirishda qaralayotgan munosabatdagi atributlar orasidagi funktsional bog`liqliklar kalit bo`lib hisoblanadi. Funktsional bohliqlik (FB) quyidagicha aniqlanadi: A va B atributlari berilgan bo`lib, agar A ning har bir qiymati uchun doimo u bilan bog`liq bo`lgan B ning biror qiymati bor bo`lsa, unda B atribut A atributiga funktsional bog`liqli deb ataladi. A va B o`rtasida funktsional bog`liq bo`lgan atributlar ko`p bo`lsa bu murakkab (sostavnoy) deb ataladi.
Ushbu ta`rifning ma`nosi shundan iboratki, agar B funktsional A ga bog`liq bo`lsa, unda A da qandaydir qiymatiga ega bo`lgan kortejlar B da ham xuddi shu qiymatiga ega bo`lishi kerak. A va B qiymatlari vaqti-vaqti bilan o`zgarishi mumkin, ammo bunda A ning har bir noyob qiymati B bilan bog`liq bo`lgan bitta qiymatga ega bo`ladiganday o`zgarishi kerak.
Funktsional bog`liqlikni tavsiflash uchun eng ko`p ishlatiladigan ikkita usuli 4.4-rasmda ko`rsatilgan.
4.4-rasm. Funktsional bog`liqlikni tavsiflash (a - matematik; b - grafik)
Muayyan vaziyatda, funktsional bog`liqlik, munosabatlardagi barcha atributlarning semantik xususiyatlarini tahlil qilish va atributlarning bir-biri bilan qanday bog`liqligi to`g`risida xulosa chiqarish orqali aniqlanadi. Funktsional bog`liqlik atributlarning asosiy xususiyatlariga qarab olinishi kerak.
Misol tariqasida, T-TN-T universal munosabatlaridagi (4.1-jadval) atributlar qanday bog`liqligini ko`rib chiqamiz. Atributlar semantikasi o`rganilgandan so`ng, 4.5-rasmdagi bog`liqliklar mavjudligi ko`rinadi.
Ushbu Funktsional bog`liqliklarning mavjudligini tushuntiradigan mulohazalar quyidagicha:
1. Fuqarolarning Num raqamlari noyobdir. Shunday qilib, agar fuqaroning raqami ma`lum bo`lsa, u holda faqat bitta familiya, ism va otaning ismi (FISH) bilan bog`lanishi mumkin: Num→FISH. Teskarisi to`g`ri emas: FISH→Ngm to`g`ri funktsional bog`liqlik emas, chunki bir nechta fuqaroning familiyasi, ismi va otasining ismi bir xil bo`lishi mumkin;
4.5-rasm. T-TN-T munosabatlarining atributlari o`rtasida mavjud funktsional bog`liqlikni taqdim etishning turli usullari
2. Yuqoridagi kabi mulohazalar TSana, Jinsi va SumD atributlariga nisbatan ham qo`llaniladi. Agar fuqaro raqami ma`lum bo`lsa, u bilan faqat bitta tug`ilgan sana, bitta jinsi va bitta umumiy daromad bog`liq bo`lishi mumkin: Num→FISH, Num→Tsana, Num→Jinsi. Teskari funktsional bog`liqliklar to`g`ri kelmaydi, chunki bir nechta aholining tug`ilgan sanasi, jinsi va umumiy daromadi bir xil bo`lishi mumkin emas;
3. Har bir fuqaro bitta kvartirada ro`yxatga olingan, ammo bitta kvartirada bittadan ko`proq fuqaro yashashi mumkin. Shunday qilib, Num→Manzil to`g`ri funktsional bog`liqlik;
4. Har bir kvartira uchun bittadan ortiq telefon hisobga olinmaydi, kvartiraning borligi yoki yo`qligi telefon bilan aniqlanmaydi, lekin telefon bor bo`lsa u qaysidir bir kvartiraga bog`liq bo`ladi, Manzil→Ntel;
Do'stlaringiz bilan baham: |