![]()
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Н_ОТДàТЕЛ. ҚЫЗМЕТКЕРЛЕР БӨЛІМДЕР қатынасын 2 қатынасқа декомпозирлейміз олар: ҚЫЗМЕТКЕРЛЕР _БӨЛІМДЕР.. Н_СОТР àФАМ. Н_СОТР à Н_ОТД. Н_СОТР à ТЕЛ. Н_ОТДàТЕЛН_ОТДà ТЕЛ Тү йінсіз атрибуттар тә уелділігін қ ұ ру ү шін бірнеше қ атынастарғ а декомпозицияны қ ұ ру қ ажет. Сондық тан тү йінсіз атрибуттар жә не тә уелді болып аталатындар бө лек қ атынасқ а шығ арылады. Қ ЫЗМЕТКЕРЛЕР БӨ ЛІМДЕР қ атынасын 2 қ атынасқ а декомпозирлейміз олар: Қ ЫЗМЕТКЕРЛЕР _БӨ ЛІМДЕР. Қ ЫЗМЕТКЕРЛЕР (Н_СОТР, ФАМ, Н_ОТД )қ атынасы. Функционалды тә уелділіктер: Қ ызметкердің табель номерінен қ ызметкерді мінездейтін қ асиеттер тә уелділігі. Н_СОТР à ФАМ Н_СОТР à Н_ОТД Н_СОТР à ТЕЛ
Кесте 11 - Қ ызметкерлер қ атынасы. Кесте 12 - Бө лімдер қ атынасы.
Бө лімдер қ атынасы ( Н_ОТД, ТЕЛ) Функционалды тә уелділіктер: Телефон номерінің бө лім номерінен тә уелділігі: Н_ОТДà ТЕЛ Н_ОТД атрибуты қ ызметкерлер_бө лімдер қ атынасының кілті болмаса да БӨ ЛІМДЕР қ атынасының потенциалдық кілті болып табылатынына кө ң іл аударайық. Осының есебінен бір номерді бірнеше рет сақ тау артық шылығ ы жойылады. Жоғ ары реттің қ алыпты тү рлері. Алдың ғ ы бө лімде ү шінші қ алыпты (3Қ Ф) тү рге дейін қ алыпты тү рлер қ арастырылғ ан. Кө птеген жағ дайларда, жеткілікті жұ мыс қ абілетті деректер қ орымен жиынын ө ң деуге осы да жеткілікті. Берілген бө лімде жоғ ары ретті қ алыпты тү рлер, атап айтқ анда, Бойс-Кодттық (БКҚ Ф) тө ртінші қ алыпты тү рі (4қ ф), бесіші қ алыпты тү рі (5қ ф) қ арастырылады. БКҚ Ф (Бойс- Кодтық қ алыпты тү рі). Қ алыптастыру алгоритмінің кө мегімен қ атынастарды ү шінші (3Қ Ф) қ атынасқ а келтіргенде барлық қ атынастар бір потенциалдық кілттен тұ ратыны дұ рыс жорамалданбағ ан. Бұ л барлық кезде дұ рыс болмайды. Қ атынасы екі кілттен тұ ратын келесі мысалды қ арастырайық. 1 мысал. Бірнеше қ амтамасыз етушілердің жеке атауы болсын деп жорамалдайық. Сонымен қ атар ә р қ амтамасыз етушінің ө з номерлері болсын. Орналастыру туралы деректер қ орыменді келесі қ атынаста сақ тауғ а болады.
Кесте 13 - “Қ ойылатындар қ атынасы”. Берілген қ атынас екі потенциалдық кілттен тұ рады: {PNUM, DNUM}, жә не {PNAME, DNUM}. Деректер қ орымен қ атынаста артығ ымен сақ талатыны кө рініп тұ р - қ амтамасыз етушінің атауын ө згерткен кезде барлық тізімде ол кездесетін жердің бә рін ө згерту керек. Бұ л ауытқ уды алдың ғ ы бө лімде сипатталғ ан қ алыптастыру алгоритмі кө мегімен жоюғ а бола ма? Бұ л ү шін функционалдық тә уелділіктерді анық тау қ ажет (Ә дептегідей, курсивпен тү йінді атрибуттар белгіленген): PNUMà PNAME - қ амтамасыз етушінің атауы қ амтамасыз етушінің номеріне тә уелді. PNAME жә не PNUM- қ амтамасыз етушінің номері қ амтамасыз етушінің атауына тә уелді. { PNUM, DNUM }à VOLUME - қ амтамасыз етілетін мө лшер бірінші қ атынастар тү йініне тә уелді. { PNUM, DNUM }- VOLUME-қ амтамасыз етілетін мө лшер екінші қ атынастар тү йініне тә уелді. {PNAME, DNUM}à PNUM à қ амтамасыз етушінің номері екінші қ атынастар тү йініне тә уелді. Берілген қ атынас кү рделі тү йін бө лігіне тә уелді болатын тү йінді емес атрибуттардан тұ рмайды (2 Қ Ф анық тамасын қ араң ыз). Шындығ ында, PNAME жә не PNUM атрибуттары кү рделі кілттің бө лігіне тә уелді, бірақ олар ө здері тү йінді болып табылады. Осылайша қ атынас 2қ ф болып табылады. Сонымен қ атар қ атынас бір-біріне тә уелді болатын тү йінді емес атрибуттардан тұ рмайды, яғ ни тү йінді емес атрибут біреу ғ ана - VOLUME (3қ ф анық тамасын қ атаң ыз). Осылайша, “қ ойылатындар” қ атынасы 3қ ф болып табылады. Осылайша алдыда сипатталғ ан қ алыптастыру алгоритмі берілген қ атынасқ а қ олданылмайды. Бірақ -та, берілген қ атынас ауытқ уы, оны келесі екі қ атынасқ а декомпозициялау жолымен қ ойылатыны анық:
Кесте 14 - “Қ амтамасыз етушілер қ атынасы”.
Кесте 15 - “Қ ойылатындар 2 ” қ атынасы. 1- анық тама. Барлық фкнкциоалдық тә уелділіктердің детерминанттары потенциалдық тү йін болып табылғ ан жағ дайда, тек сол кезде ғ ана, R қ атынасы Бойс- Коддтың (БКҚ Ф) қ алыпты тү рінде болып табылады. “Қ ойылатындар” қ атынасы (БКҚ Ф) да болып табылмайды, яғ ни (PNUMà PNAME жә не PNAMEà PNUM), детерминанттары потенциалдық тү йін болып табылмайтындар тә уелділікке ие болады. Потенциалды тү йін болып табылмайтын детерминанттарғ а тә уелділікті тә уелділікті жою ү шін, бұ л детерминанттарды жә не бө лек қ атынастарғ а оның бө лігіне тә уелділерді шығ арып тастап отырып декомпозиция жү ргізу қ ажет. Декомпозиция нә тижесінде алынғ ан “Қ амтамасыз етушілер жә не “Қ ойылатындар 2” қ атынастары БКҚ Фт-да болып табылады. Ескерту. Келтірілген “Қ ойылатындар” деомпозицисының “қ амтамасыз етушілер” мен “Қ ойылатындар 2 ” қ атынасы жалғ ыз мү икіндік болып табылмайды. Келесі қ атынастағ ы декомпозициялар альтернативті декомпозиция болып табылады:
Кесте 16 - Қ амтамсыз етушілер қ атынасы.
Кесте 17 - “Қ ойылатындар 3” қ атынасы.
Бір қ арағ анда мұ ндай композиция біріншіге қ арағ анда нашар болып кө рінеді. Шындығ ында, қ амтамасыз етушілер атауы бұ рынғ ысынша қ айталанады, жә не қ амтамасыз етушінің атауын ө згерткенде бірнеше жерде бір уақ ытта ө згертуге тура келеді. (екі қ атынастан бірдей). Декомпозиция болғ анғ а дейінгіге қ арағ анда жағ дай қ иындап кеткен сияқ ты болады. Бірақ та қ амтамасыз етушінің атауы ө згереді, ол телефон номері ө згермейді деп саналы тү рде ойлағ анымыздан осындай сезім пайда болады. Егер қ амтамасыз етушілердің номері де ө згереді деп жорамалдасақ, (неге жоқ - директор қ амтамасыз етушілерді нө мірлеуді бұ йырды! ), онда бірінші декомпозиция екінші декомпозиция сияқ ты “нашар” болып табылады-қ айталанбалы номерлерді бір уақ ытта бір ғ ана жерден, екі қ атынаста да ауыстыруғ а тура келеді. Шындығ ында мұ нда ешқ андай қ айшылық жоқ. “Қ ойылатындар 3” қ атынасында “қ амтамасыз етушілер” мен байланыс қ ызметіндегі “қ амтамасыз етуші” атауы (PNAME) атрибуты сыртқ ы тү йін болып табылады. Сондық тан қ амтамасыз етуші атауын ө згерткен кезде бұ л ө згеріс “қ амтамасыз етушілер” қ атынасында жү ргізіледі жә не каскадты тү рде (3 бө лімдегі сілтемелік тұ тастық ты қ олдау стратегиясын қ араң ыз) “Қ ойылатындар 2” қ атынасында “қ амтамасыз етушілер” номерін ө згертуі таралғ андай каскадты тү рде “Қ ойылатындар 3” қ атынасында таралады. Сондық тан формальды тү рде екі декомпозиция да тең қ ұ қ ылы. Нақ ты жұ мыс кезінде ө ң деуші ә рине, бірінші декомпозицияны таң дайды, бірақ мұ нда оның таң дауы қ алыпты тү рдің жалғ ан теориясына қ атынасы жоқ мү лдем басқ а ойларғ а негізделгенін айта кету қ ажет. 2 мысал. Бізге бұ рынғ ыдай қ ойылатындарды ескеру қ ажет болсын, бірақ ә р қ ою актісі бірқ атар номерге ие болсын деп жорамалдайық. Қ атынас келесі тү рге ие болады:
Кесте 18 - “Нө мірмен қ ою қ атынасы”. Берілген қ атынастың потенциалды тү йіні болып, { PNUM, DNUM } атрибуттар жұ бы табылады. Басқ а тү йіні ретінде ө тпелі номер атрибуты NN алынады. Берілген қ атынас келесі функционалдық тә уелділіктерге ие: Қ атынастың бірінші тү йіннен атрибуттардың тә уелділігі: { PNUM, DNUM }à VOLUME,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|