Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция8.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
47 Кб
Скачать
☆

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Н_СОТР

ФАМ

Н_ОТД

ТЕЛ

Н_ПРО

ПРОЕКТ

Н_ЗАДАН

1

Иванов

1

11-22-33

1

Космос

1

1

Иванов

1

11-22-33

2

Климат

1

2

Петров

1

11-22-33

1

Космос

2

3

Сидоров

2

33-22-11

1

Космос

3

3

Сидоров

2

33-22-11

2

Климат

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

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

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

{Н_СОТР, Н_ПРО}Н_ОТД

{Н_СОТР, Н_ПРО}ТЕЛ

{Н_СОТР, Н_ПРО}ПРОЕКТ

{Н_СОТР, Н_ПРО}Н_ЗАДАН

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

Н_СОТР ФАМ

Н_СОТР Н_ОТД

Н_СОТР ТЕЛ

Жоба атауының жоба номерінен тәуелділігі:

Н_ПРОПРОЕКТ

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

Н_ОТДЕЛ ТЕЛ

Қатынастардың функционалды тәуелділігі және функционалдық қатынастың математикалық түсінігі.

Функционалды тәуелділік қатынастары функционалды тәуелділіктің математикадағы түсінігін еске түсіреді.Бірақ бұл тура сондай емес. Тексеру үшін функционалды тәуелділіктің математикалық түсінігін еске түсіреміз:

2 Анықтама.Функционалды тәуелділік бұл функция - үштік бөліктер.

{x,y,f}, мұндағы

Х - көпшілік (анықтау аймағы)

У - көпшілік (мәндер аймағы)

F – Х Х элементінің қатысуына қойылатын бір немесе бірнеше элемент У У (функционалды тәуелділік ережесі).

Функционалды тәуелділік қарапайым түрде f: xx немесе y=f(x) 2ҚФ(екінші қалыпты форма).

3 Анықтама. R қатынасының екінші қалыпты формада орналасуы мынадай жағдайда ғана 1ҚФ орындалады және күрделі кілт бөліміне қатысы жоқ, кілттік емес қасиеті жоқ болса ғана (Кілттік емес қасиет бұл ешқандай потенциалды кілт құрамына кірмейтін қасиет).

ҚЫЗМЕТКЕРЛЕР_БӨЛІМДЕР_ЖОБАЛАР қатынасы 2ҚФ орналаспайды, сондай-ақ қасиеттері бар күрделі кілт бөлігіне қатысатындар:

Күрделі кілт бөлігінен қызметкерлер табелінің номері күрделі болып табылатын қызметкерлерді мінездейтін қасиеттер тәуелділігі:

Н_СОТР ФАМ

Н_СОТР Н_ОТД

Н_СОТР ТЕЛ

Жоба атының жоба номерінен тәуелділігі күрделі кілт бөлігінен тәуелді болып табылады:

Н_ ПРОПРОЕКТ

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

ҚЫЗМЕТКЕРЛЕР_БӨЛІМДЕР_ЖОБАЛАР қатынасын үш қатынасқа декомпозирлейміз ҚЫЗМЕТКЕРЛЕР_БӨЛІМДЕР,ЖОБАЛАР,ТАПСЫРМА.

ҚЫЗМЕТКЕРЛЕР_БӨЛІМДЕР (Н_СОТР,ФАМ, Н_ОТД,ТЕЛ);

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

Мінезделетін қызметкердің және қызметкер табелінің номерінің қасиетінің тәуелділігі:

Н_СОТР ФАМ

Н_СОТР Н_ОТД

Н_СОТР ТЕЛ

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

Н_ОТДТЕЛ

Н_СОТР

ФАМ

Н_ОТД

ТЕЛ

1

Иванов

1

11-22-33

2

Петров

1

11-22-33

3

Сидоров

2

33-22-11

Н_ПРО

ПРОЕКТ

1

Космос

2

Климат

Кесте 8 - ҚЫЗМЕТКЕРЛЕР БӨЛІМДЕР қатынасы. Кесте 9 - Жобалар қатынасы.

Жобалар қатынасы (Н_ ПРО;ПРОЕКТ);

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

Тапсырмалар қатынасы (Н_СОТР,Н_ПРО,Н_ЗАДАН)

Функционалды тәуелділік:{Н_СОТР,Н_ПРО},Н_ЗАДАН

Н_СОТР

Н_ПРО

Н_ЗАДАН

1

1

1

1

2

1

2

1

2

3

1

3

3

2

2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]