Хелпикс

Главная

Контакты

Случайная статья





Н_ОТДàТЕЛ. ҚЫЗМЕТКЕРЛЕР БӨЛІМДЕР қатынасын 2 қатынасқа декомпозирлейміз олар: ҚЫЗМЕТКЕРЛЕР _БӨЛІМДЕР.. Н_СОТР àФАМ. Н_СОТР à Н_ОТД. Н_СОТР à ТЕЛ. Н_ОТДàТЕЛ



Н_ОТДà ТЕЛ

Тү йінсіз атрибуттар тә уелділігін қ ұ ру ү шін бірнеше қ атынастарғ а декомпозицияны қ ұ ру қ ажет. Сондық тан тү йінсіз атрибуттар жә не тә уелді болып аталатындар бө лек қ атынасқ а шығ арылады.

Қ ЫЗМЕТКЕРЛЕР БӨ ЛІМДЕР қ атынасын 2 қ атынасқ а декомпозирлейміз олар: Қ ЫЗМЕТКЕРЛЕР _БӨ ЛІМДЕР.

Қ ЫЗМЕТКЕРЛЕР (Н_СОТР, ФАМ, Н_ОТД )қ атынасы.

Функционалды тә уелділіктер:

Қ ызметкердің табель номерінен қ ызметкерді мінездейтін қ асиеттер тә уелділігі.

Н_СОТР à ФАМ

Н_СОТР à Н_ОТД

Н_СОТР à ТЕЛ

Н_СОТР ФАМ Н_ОТД
1 Иванов
2 Петров
3 Сидоров
Н_ОТД ТЕЛ
1 11-22-33
2 33-22-11

           Кесте 11 - Қ ызметкерлер қ атынасы.             Кесте 12 - Бө лімдер қ атынасы.

 

Бө лімдер қ атынасы ( Н_ОТД, ТЕЛ)

Функционалды тә уелділіктер:

Телефон номерінің бө лім номерінен тә уелділігі:

Н_ОТДà ТЕЛ

Н_ОТД атрибуты қ ызметкерлер_бө лімдер қ атынасының кілті болмаса да БӨ ЛІМДЕР қ атынасының потенциалдық кілті болып табылатынына кө ң іл аударайық. Осының есебінен бір номерді бірнеше рет сақ тау артық шылығ ы жойылады.

Жоғ ары реттің қ алыпты тү рлері.

Алдың ғ ы бө лімде ү шінші қ алыпты (3Қ Ф) тү рге дейін қ алыпты тү рлер қ арастырылғ ан.

Кө птеген жағ дайларда, жеткілікті жұ мыс қ абілетті деректер қ орымен жиынын ө ң деуге осы да жеткілікті. Берілген бө лімде жоғ ары ретті қ алыпты тү рлер, атап айтқ анда, Бойс-Кодттық (БКҚ Ф) тө ртінші қ алыпты тү рі (4қ ф), бесіші қ алыпты тү рі (5қ ф) қ арастырылады.

БКҚ Ф (Бойс- Кодтық қ алыпты тү рі).

Қ алыптастыру алгоритмінің кө мегімен қ атынастарды ү шінші (3Қ Ф) қ атынасқ а келтіргенде барлық қ атынастар бір потенциалдық кілттен тұ ратыны дұ рыс жорамалданбағ ан. Бұ л барлық кезде дұ рыс болмайды. Қ атынасы екі кілттен тұ ратын келесі мысалды қ арастырайық.

1 мысал. Бірнеше қ амтамасыз етушілердің жеке атауы болсын деп жорамалдайық. Сонымен қ атар ә р қ амтамасыз етушінің ө з номерлері болсын. Орналастыру туралы деректер қ орыменді келесі қ атынаста сақ тауғ а болады.

Қ амтамасыз етуші номері PNUM Қ амтамасыз етуші атауы PNAME Деталь                           номері DNUM Қ ойылатын саны VOLUME
Фирма 1
Фирма 1
Фирма 1
Фирма 2
Фирма 2
Фирма 3

Кесте 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қ ф болып табылады.

Осылайша алдыда сипатталғ ан қ алыптастыру алгоритмі берілген қ атынасқ а қ олданылмайды.

Бірақ -та, берілген қ атынас ауытқ уы, оны келесі екі қ атынасқ а декомпозициялау жолымен қ ойылатыны анық:

 

Қ амтамасыз етуші номері PNUM Қ амтамасыз етуші атауы PNAME
Фирма 1
Фирма 2
Фирма 3

Кесте 14 - “Қ амтамасыз етушілер қ атынасы”.

 

Қ амтамасыз етуші номері PNUM Деталь                           номері DNUM Қ ойылатын саны VOLUME

Кесте 15 - “Қ ойылатындар 2 ” қ атынасы.

1- анық тама. Барлық фкнкциоалдық тә уелділіктердің детерминанттары потенциалдық тү йін болып табылғ ан жағ дайда, тек сол кезде ғ ана, R қ атынасы Бойс- Коддтың (БКҚ Ф) қ алыпты тү рінде болып табылады. “Қ ойылатындар” қ атынасы (БКҚ Ф) да болып табылмайды, яғ ни (PNUMà PNAME жә не PNAMEà PNUM), детерминанттары потенциалдық тү йін болып табылмайтындар тә уелділікке ие болады. Потенциалды тү йін болып табылмайтын детерминанттарғ а тә уелділікті тә уелділікті жою ү шін, бұ л детерминанттарды жә не бө лек қ атынастарғ а оның бө лігіне тә уелділерді шығ арып тастап отырып декомпозиция жү ргізу қ ажет. Декомпозиция нә тижесінде алынғ ан “Қ амтамасыз етушілер жә не “Қ ойылатындар 2” қ атынастары БКҚ Фт-да болып табылады.

Ескерту. Келтірілген “Қ ойылатындар” деомпозицисының “қ амтамасыз етушілер” мен “Қ ойылатындар 2 ” қ атынасы жалғ ыз мү икіндік болып табылмайды.

Келесі қ атынастағ ы декомпозициялар альтернативті декомпозиция болып табылады:

Қ амтамасыз етуші номері PNUM Қ амтамасыз етуші атауы PNAME
Фирма 1
Фирма 2
Фирма 3
Қ амтамасыз етуші атауы PNAME Деталь номері DNUM Қ ойылатын саны VOLUME
Фирма 1
Фирма 1
Фирма 1
Фирма 2
Фирма 2
Фирма 3

 

Кесте 16 -  Қ амтамсыз етушілер қ атынасы.

 

Кесте 17 -  “Қ ойылатындар 3” қ атынасы.

 

Бір қ арағ анда мұ ндай композиция біріншіге қ арағ анда нашар болып кө рінеді.

Шындығ ында, қ амтамасыз етушілер атауы бұ рынғ ысынша қ айталанады, жә не қ амтамасыз етушінің атауын ө згерткенде бірнеше жерде бір уақ ытта ө згертуге тура келеді. (екі қ атынастан бірдей).

Декомпозиция болғ анғ а дейінгіге қ арағ анда жағ дай қ иындап кеткен сияқ ты болады.

Бірақ та қ амтамасыз етушінің атауы ө згереді, ол телефон номері ө згермейді деп саналы тү рде ойлағ анымыздан осындай сезім пайда болады. Егер қ амтамасыз етушілердің номері де ө згереді деп жорамалдасақ, (неге жоқ - директор қ амтамасыз етушілерді нө мірлеуді бұ йырды! ), онда бірінші декомпозиция екінші декомпозиция сияқ ты “нашар” болып табылады-қ айталанбалы номерлерді бір уақ ытта бір ғ ана жерден, екі қ атынаста да ауыстыруғ а тура келеді. Шындығ ында мұ нда ешқ андай қ айшылық жоқ. “Қ ойылатындар 3” қ атынасында “қ амтамасыз етушілер” мен байланыс қ ызметіндегі “қ амтамасыз етуші” атауы (PNAME) атрибуты сыртқ ы тү йін болып табылады. Сондық тан қ амтамасыз етуші атауын ө згерткен кезде бұ л ө згеріс “қ амтамасыз етушілер” қ атынасында жү ргізіледі жә не каскадты тү рде (3 бө лімдегі сілтемелік тұ тастық ты қ олдау стратегиясын қ араң ыз) “Қ ойылатындар 2” қ атынасында “қ амтамасыз етушілер” номерін ө згертуі таралғ андай каскадты тү рде “Қ ойылатындар 3” қ атынасында таралады. Сондық тан формальды тү рде екі декомпозиция да тең қ ұ қ ылы. Нақ ты жұ мыс кезінде ө ң деуші ә рине, бірінші декомпозицияны таң дайды, бірақ мұ нда оның таң дауы қ алыпты тү рдің жалғ ан теориясына қ атынасы жоқ мү лдем басқ а ойларғ а негізделгенін айта кету қ ажет.

2 мысал. Бізге бұ рынғ ыдай қ ойылатындарды ескеру қ ажет болсын, бірақ ә р қ ою актісі бірқ атар номерге ие болсын деп жорамалдайық. Қ атынас келесі тү рге ие болады:

Қ амтамасыз етуші номері PNUM Деталь                             номері DNUM Қ ойылатын саны VOLUME Қ амтамасыз етушілердің ө тпелі номері NN

Кесте 18 - “Нө мірмен қ ою қ атынасы”.

Берілген қ атынастың потенциалды тү йіні болып, { PNUM, DNUM } атрибуттар жұ бы табылады.

Басқ а тү йіні ретінде ө тпелі номер атрибуты NN алынады. Берілген қ атынас келесі функционалдық тә уелділіктерге ие:

Қ атынастың бірінші тү йіннен атрибуттардың тә уелділігі:

{ PNUM, DNUM }à VOLUME,



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.