Хелпикс

Главная

Контакты

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





8.2 Қалыптастыру: бірінші, екінші және үшінші қалыпты формалар.



8. 2 Қ алыптастыру: бірінші, екінші жә не ү шінші қ алыпты формалар.

Бойс-Кодтың қ алыпты формасы.

1Қ Ф. (Бірінші қ алыпты форма).

Бірінші қ алыпты форма тү сінігі 2 бө лімде қ арастырылғ ан. Бірінші қ алыпты форма (1Қ Ф) бұ л- қ арапайым қ атынас. Біздің анық талатын қ атынасымызғ а келісімді қ андай да болмасын қ атынас автоматты тү рде 1Қ Ф қ алыптасады.

Қ атынастың қ ысқ аша қ асиетін еске тү сіреміз(бұ л болады 1Қ Ф қ асиеті):

· Қ атынастарда бірдей кортеж жоқ;

· Кортеждер реттелмеген

· Қ асиеттер реттелмеген жә не аты бойынша ерекшеленеді

· Қ асиеттердің барлық мә ні атомарлы.

Логикалық моделдеудің бірінші қ адамының жү рісінде деректер қ орымендің бірінші қ атынаста сақ талуы ұ сынылғ ан жә не келесі қ асиеттерді қ амтиды.

Қ ЫЗМЕТКЕРЛЕР_БӨ ЛІМДЕР_ЖОБАЛАР_Н_ЗАДАН мұ ндағ ы

Н_СОТР -қ ызметкердің табель номері.

ФАМ - қ ызметкердің фамилиясы.

Н_ ОТД -қ ызметкердің есептелетін бө лім номері.

ТЕЛ - қ ызметкер телефоны. Н_ПРО - қ ызметкер жұ мыс жасайтын бө лім номері.

ПРОЕКТ - қ ызметкер жұ мыс жасайтын жоба атауы.

Н_ЗАДАН - қ ызметкер жұ мыс жасайтын тапсырма номері.

Сондық тан да ә р қ ызметкер ә р жобада таза бір жұ мыс жасайды жә не потенциалды тү йін есебінде 2 қ асиет алу қ ажет болады {Н_СОТР, Н_ПРО}

Ағ ымдағ ы уақ ытта пә ндік аймақ қ асиеті келесі фактлермен бейнеленеді.

· 1 бө лімде жұ мыс істейтін қ ызметкер Иванов бірінші жобада 1 тапсырманы жә не 2 жобада “Климат”1 тапсырманы орындайды.

· 1 бө лімде жұ мыс істейтін қ ызметкер Петров “Космос”1 жобада 2 тапсырманы орындайды.

· 2 бө лімде жұ мыс істейтін қ ызметкер Сидоров “Космос”1 жобада 3 тапсырманы жә не “Климат” екінші жобасында 2 тапсырманы орындайды.

Бұ л қ асиет кестеде кө рсетіледі: кілттік қ асиеттер курсивпен белгіленген:

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

Кесте 7 - Қ ЫЗМЕТКЕРЛЕР_БӨ ЛІМДЕР, ЖОБАЛАР қ атынасы.

Ауытқ у жаң аруы.

Қ арым-қ атынас кестесіне бір қ арағ аннан-ақ қ ұ жаттардың онда ү лкен қ ажеттілікпен сақ талатыны жоба бө лімінің қ ызметкерлеріне бірден тү сінікті. Сондай-ақ бұ л қ атынаста бір-бірінен тә уелсіз қ ұ жаттармен бірге қ ызметкерлер жө нінде, бө лім, жоба жә не жоба бойынша жү ргізілген жұ мыстар сақ талады.

Ә зірге ешқ ашдай қ имыл қ атынаспен ө ндірілмейді, бұ л қ орқ ынышты емес. Бірақ пә н аумағ ының жайы ө згерген шақ та осы ә рекетпен қ ұ жат базасының жайын ө згертуде ү лкен қ олайсыздық пайда болады. Тарихи тұ рғ ыдан бұ л қ олайсыздық тар жаң ару ауытқ уы деген атқ а ие. Аномияғ а қ атал тү сінік беру қ ұ жаттар базасында толық қ анағ аттанарлық болып табылмайды. Ауытқ удың бұ л жұ мысында пә н аумағ ының моделі қ ұ жаттардың физикалық моделі арасындағ ы қ арама-қ айшылық ашық. Біздің пйн аумағ ы жө нінде біліміміз белгісіз себептермен ДҚ кестесінде жеткіліксіз болғ анда немесе солармен қ арсылық та кірген жағ дайда ауытқ у пайда болады. Біз ө зге кө зқ арасты ұ станамыз. Есте сақ талғ ан автордың анық тауыштың ойында ауытқ у жоқ, онда қ ұ жаттардың пә ндік аумағ ының моделі бар немесе ДҚ БЖ ә рекеттерімен пә ндік аумақ тың шектеулігін таратудағ ы бірнеше қ осымша ең бектер бар. Ауытқ у туралы тү сінікті терең ірек талқ ылау сол жұ мыс барысында шығ ады.

Осылайша біз пә ндік аймақ тағ ы қ ұ жаттардағ ы ауытқ у жө нінде ө зіндік тү сінік ұ станамыз. (Онда шындығ ына келсек қ ұ жаттардың, ойлау моделі дұ рыс емес делінген) немесе пә ндік аумақ тағ ы анық тауыштық шектеуліктің таратылу барысындағ ы барлық қ ажеттіліктер деп қ абылдаймыз. (триггер немесе сақ таулы процедур тү ріндегі бағ дарламалық код). Ауытқ у ө зін қ ұ жаттар базасын ө згерту ү шін орындалғ ан операция кезінде кө рсетсе, онда ауытқ уды мынандай тү рлерге бө леді:

· Орнату ауытқ уы. (INSERT)

· Жаң арту ауытқ уы (UPDATE)

· Ө шіру ауытқ уы (DELETE)

Қ атынаста Жоба Бө лімінің Қ ызметкерлері мына ауытқ уларғ а мысал келтіруге болады:

Орнату ауытқ уы. (INSERT)

Қ атынаста Жоба Бө лімінің Қ ызметкерлері ә лі бірде бір жобағ а қ атынаспағ ан қ ызметкерлер жө нінде қ ұ жаттарды қ оюғ а болмайды. Мысалы, егер екінші бө лімде жаң а қ ызметкер пайда болса, айталық Пушников, жә не ол бірде бір жобағ а қ атынаспаса, онда біз қ атынас сызбасына қ оюғ а тиіспіз. (4, Пушников 62, 33-22-11, null, null, null).

Н_ПРО жоба номері потенциалдық кілт қ ұ рамына кіреді жә не де ол null мағ ынасына ие бола алмайды, сондық тан мұ ны жасау мү мкін емес.

Дә л сол сияқ ты, ә зірше бірде-бір қ ызметкер жұ мыс істемейтін жоба туралы деректер қ орыменді қ оюғ а болмайды.

Жаң арту ауытқ уы (UP DATE).

Қ ызметкерлер фамилиясы, жоба атауы, телефондар номері қ атынастың кө п тізбелерінде қ айталанады. Сондық тан, егер қ ызметкер фамилиясын ө згерсте, немесе жоба атауы ө згерсе, немесе телефон номері ө згерсе, онда мұ ндай ө згерістер бір уақ ытта барлық жерде ө згеруі керек, фамилиясы атауы немесе телефон номері дегендер кездескен жерлерде, болмаса бұ л қ атынастар дұ рыс емес болып табылады. (мысалы бір жоба ә ртү рлі тізімдерде ә ртү рлі аталуы мү мкін). Осылайша, берілген деректер қ орымен жиынын бір амалмен ө згерту мү мкін емес. Бір жазбаны жаң арту кезінде, басқ а жерлердегі деректер қ орыменді дұ рыс тү зету ү шін, қ атынастарды тұ тас кү йінде ұ стайтын триггер жазу керек.

Ө шіру ауытқ уы (DELETE).

Бірнеше берілген деректер қ орыменді ө шірген кезде басқ а да ақ параттарды жоғ алтып алуымыз мү мкін. Мысалы: егер “Космос” жобасын жауып ол кездесетін бірнеше бағ андарды ө шіретін болсақ, онда қ ызметкер Петров туралы барлық деректер қ орымендіжоғ алтып алуымыз мү мкін. Егер қ ызметкер Сидоровты ө шіретін болсақ, онда екінші бө лімдегі телефоны: 33-22-11 ақ паратты жоғ алтып аламыз. Егер жоба бойынша жұ мыс уақ ытша тоқ татылса, бұ л жоба бойынша деректер қ орыменді ө шірген кезде жобаның ө зі туралы деректер қ орымені де ө шіріледі.

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

Кө рсетілген ауытқ уды, берілген деректер қ орыменді дұ рыс жобалау ү шін қ атынастарды қ алыптастыру ә дісі қ олданылады.

Қ алыптастыру қ атынастар атрибутының функционалды тә уелділік ұ ғ ымына негізделген.

1 Анық тама. R қ атынасы У кө птеген атрибуттары Х тің кө птеген атрибуттарына функционалды тә уелді(Х -У ті ) функционалды анық тайды тек сонда ғ ана rx=rx болғ андық тан ---------------- кез-келген тізім ү шін R-қ атынасының кез-келген кү йі ү шін (яғ ни Х атрибуты мә ніне ие болатын барлық ) тізімдерде У атрибутының мә ні сә йкес келеді. Символдық тү рде функционалдық тә уелділік мына тү рде жазылады: Хà Y.

Х қ асиетінің кө пшілігі функционалды тә уелділік детерминанты деп аталады, У қ асиетінің кө пшілігі тә уелді бө лік болып табылады.

1 мысал. Қ ЫЗМЕТКЕРЛЕР_БӨ ЛІМДЕР_ЖОБАЛАР қ атынасында келесідегідей функционалды тә уелділік қ атынасын кө рсетуге болады.

Қ атынас кілтіне қ асиеттің тә уелділігі:

{Н_СОТР, Н_ПРО}à ФАМ



  

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