Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecture_SBD.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Қамтамасыз етуші номері PNUM

Деталь номері DNUM

Қойылатын саны VOLUME

Қамтамасыз етушілердің өтпелі номері NN

1

1

100

1

1

2

200

2

1

3

300

3

2

1

150

4

2

2

250

5

3

1

1000

6

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

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

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

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

{ PNUM, DNUM } VOLUME,

{ PNUM, DNUM } NN.

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

NN PNUM

NN DNUM

NN VOLUME

Қатынас түйіндерінен тәуелділіктердің салдары болып табылатын тәуелділіктер:

{ PNUM, DNUM } VOLUME, NN},

NN{PNUM, DNUM },

NN{PNUM, VOLUME},

NN{DNUM, VOLUME},

NN {PNUM, DNUM, VOLUME}.

Барлық тәуелділіктердің детерминанттары потенциалдық түйін болып табылады, сондықтан берілген қатынас БКҚФ-да болып табылады. Берілген қатынастың ерекшелігі, ол өзара тәуелсіз екі потенциалдық түйінге ие.

Негізгі әдебиеттер[1],бет 130-142.

Қосымша әдебиет[2],бет 92-101.

Бақылау сұрақтары

  1. Берілген деректер қорымен түрін құрылымдау не үшін қажет?

  2. Берілген деректер қорымендің сілтеме түрі не үшін қажет?

  3. Қандай деректер қорымен түрі қарапайым болып саналады?

  4. “Домен” дегеніміз не?

  5. Потенциадық түйін дегеніміз не?

Дәріс 9. Реляциялық алгебра. Негізгі амалдар.

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