Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DKBZh_shpor.docx
Скачиваний:
270
Добавлен:
01.05.2015
Размер:
2.48 Mб
Скачать

13.2 Мүмкін болатын жабу кілттері және Бойс-Коддқалыпты формасы

Осыған дейін қалыпты формалардың анықтамаларында декомпозицияланатын қатынастардың тек бір ғана мүмкін кілті болады деп жоспарлағанбыз. Тәжірибе жүзінде осылай болады. Бірақ, 2NF және 3NF талаптарын қанағаттандыратын, аномалия жаңаруын тудыратын ерекше бір жағдай бар. Бұл жағдайда бір қатынастың бірнеше мүмкін кілттері болғанда, сол кілттердің кейбірі «жабылады», яғни ортақ атрибуттардан тұрады.

Мүмкін болатын жабу кілттерімен байланыста жаңару аномалиялары

Мысалы, Например, 13.3 суретте көрсетілгендей ҚЫЗМ_ПРО_ТАПС1 {ҚЫЗМ_НОМ, ҚЫЗМ_АТЫ, ПРО_НОМ, ҚЫЗМ_ТАПС} қатынасының айнымалысының FD жиыны болсын делік.

Сутер 13.3.  ҚЫЗМ_ПРО_ТАПС1 қатынасының FD диаграммасы

ҚЫЗМ_ПРО_ТАПС1 қатынасында қызметшілер төлқұжат номері бойынша да, аттары бойынша да идентификацияланады. Демек, ҚЫЗМ_НОМҚЫЗМ_АТЫ және ҚЫЗМ_АТЫҚЫЗМ_НОМ FD бар болады. Бірақ бір қызметші бірнеше жобаларға қатыса алады, сондықтан олардың мүмкін кілттері { ҚЫЗМ_НОМ, ПРО_НОМ} және { ҚЫЗМ_АТЫ, ПРО_НОМ}. 13.4 суретте ҚЫЗМ_ПРО_ТАПС1 қатынас айнымалысының мүмкін мәндері көрсетілген.

Сурет 13.4.  ҚЫЗМ_ПРО_ТАПС1 қатынас айнымалысының мүмкін мәндері.

ҚЫЗМ_ПРО_ТАПС1 қатынасында барлық кілттік емес атрибуттарының FD мүмкін болатын минималды және транзитивті FD кілттері жоқ, бұл қатынас жаңару аномалиясына тән. Мысалы, қызметшінің аты өзгерген кезде ҚЫЗМ_ПРО_ТАПС1 қатынасының барлық кортеждерінде ҚЫЗМ_АТЫ атрбутын жаңарту керек. Әйтпесе, ҚЫЗМ_ НОМ ҚЫЗМ_ АТЫ бар FD бұзылады және деректер қоры үйлесімсіз жағдайда болады.

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

2NF және 3NF талаптарында басқа мүмкін кілттердің компоненттері болатын бастапқы кілт атрибуттарынан минималды функционалдық тәуелділік талап етілмеді,сол белгіленген аномалия себептері болды. Бұл мәселені Бойс-Кодд қалыпты формасы деп атауға тарихи шешім қабылданған және бірнеше мүмкін болатын жабу кілттері болғандағы 3NF анықтамасы болатын қалыпты форма шешеді.

Қатынас айнымалысы Бойс-Кодд (BCNF) қалыпты формасында орналасады, тек кез келген осы қатынас айнымалысы үшін орындалатын нетривиалды және минималды FD берілген қатынас үшін кейбір мүмкін кілті бар детерминант ретінде орындалса.

ҚЫЗМ_ПРО_ТАПС1 қатынасының айнымалысы BCNF-ке екі декомпозицияның біреуімен келуі мүмкін: ҚЫЗМ_НОМ_АТЫ {ҚЫЗМ_НОМ, ҚЫЗМ_АТЫ} және ҚЫЗМ_НОМ_ПРО_ТАПС {ҚЫЗМ_НОМ, ПРО_НОМ, ҚЫЗМ_ТАПС} FD жиынымен және 13.5 суреттегі мәндері бар, және ҚЫЗМ_НОМ_АТЫ { ҚЫЗМ_НОМ, ҚЫЗМ_АТЫ} және ҚЫЗМ_АТЫ_ПРО_ТАПС { ҚЫЗМ_АТЫ, ПРО_НОМ, ҚЫЗМ_ТАПС} (FD және нәтижелік айнымалы қатынастар мәні аналогты түрде болады).

Сурет 13.5.  ҚЫЗМ_НОМ_АТЫ және ҚЫЗМ_НОМ_ПРО_ТАПС қатынастардың айнымалы мәндері және FD диаграммасы

Осы декомпозициялардың әрқайсысы ҚЫЗМ_ПРО_ТАПС1 қатынасының жаңаруымен байланысты.

BCNF-ке үнему талпыну керек пе?

Ұжымдағы барлық жобаларда түрлі тапсырмалар бар делік және әр қызметші бірнеше жобаға қатыса алады, бірақ, әр жобада бір тапсырманы орындай алмайды. Әр жобадағы бір тапсырманы бірнеше қызметші орындай алады. Сонда ҚЫЗМ_ПРО_ТАПС қатынасының айнымалысында 13.6 суретте көрсетілген FD жиыны болады және сол сурттегі мәндер де болуы мүмкін.

Бұл қатынастың екі мүмкін кілті бар: {ҚЫЗМ_НОМ, ПРО_НОМ} және {ҚЫЗМ_НОМ, ҚЫЗМ_ТАПС}. Қатынастар 3NF талаптарын қанағаттандырады: мүмкін

Сурет 13.6.  ҚЫЗМ_ПРО_ТАПС қатынас айнымалысының жаңа нұсқасы

кілттерден кілтсіз атрибуттардың минималды емес FD болмайды және транзитивті FD болмайды. Бірақ, FD ҚЫЗМ_ТАПСПРО_НОМ болғандықтан бұл қатынас BCNF-те болмайды. Сондықтан Қ ЫЗМ_ПРО_ТАПС қатынасына қайтадан жаңару аномалиясының қасиеттері тән болады. Мысалы, (ҚЫЗМ_НОМ екі мүмкін кілттің компоненті болғандықтан), сол тапсырма туралы ақпаратты жоғалтпай бір қызметші туралы деректерді жоюға болмайды.

ҚЫЗМ_ПРО_ТАПС қатынасын BCNF-келтіруге болады, ол үшін ҚЫЗМ_НОМ_ТАПС {ҚЫЗМ_НОМ, ҚЫЗМ_ТАПС} және ПРО_НОМ_ТАПС {ҚЫЗМ_ТАПС, ПРО_НОМ} қатынасына оның декомпозициясын орындау керек және бұл декомпозиция белгіленген мәселелерді шешеді (енді бірде бір қызметшімен орындалмайтын жоба тапсырмасы туралы мәселені шешуге болады). 13.7 суретте ҚЫЗМ_НОМ_ТАПС және ПРО_НОМ_ТАПС қатынастарының айнымалы мәндері көрсетілген.

Бірақ жаңа қиындықтар пайда болады. Мысалы, ҚЫЗМ_НОМ_ТАПС қатынасына <2934, D> кортежін қосуға тыйым салу керек, себебі D тапсырмасы 1 жобаға қатысты, ал 2934 номерлі қызметші сол жобадағы тапсырманы орындап жатады. Бұлай болудың себебі бастапқы FD {ҚЫЗМ_НОМ, ПРО_НОМ}ҚЫЗМ_ТАПС FD ҚЫЗМ_ТАПСПРО_НОМ жобасы үшін шығарылмайды және сәйкес біртұтастық шектеулері деректер қорының шектеулері болып табылады.

ҚЫЗМ_НОМ_ТАПС және ПРО_НОМ_ТАПС тәуелсіз болмайды, ал ҚЫЗМ_ПРО_ТАПС қатынасы BCNF болса да атомарлы. Осыдан, реляционды деректер қорын жобалау кезінде қатынасты BCNF-ке келтіру өзіндік мақсатта болуы керек. Нормализацияның оң және теріс жақтарын дұрыс бағалау керек.

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

Сурет 13.7.  ҚЫЗМ_НОМ_ТАПС және ПРО_НОМ_ТАПС қатынас

айнымалысының мәндері

Сонда ҚЫЗМ_НОМ_ТАПС қатынасының айнымалысы 13.8 суретте көрсетілген FD жиынын құрады және ол сол суретте көрсетілген мәндерден тұра алады.

ҚЫЗМ_НОМ_ТАПС қатынасының үшінші нұсқасында мүмкін болатын жабу кілттері ({ҚЫЗМ_НОМ, ПРО_НОМ} және {ПРО_НОМ, ҚЫЗМ_ТАПС}) бар, бірақ бұл кілттер бір ғана детерминантты болғандықтан ол BCNF- орналасқан. ҚЫЗМ_НОМ_ТАПС қатынасының жаңару аномалиясы қасиетіне тән еместігін көру қиын емес.

Сурет 13.8.  ҚЫЗМ_НОМ_ТАПС қатынасының үшінші нұсқасы

Қорытынды

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

Тексері мен қосымша әрекеттер саны қысқарғандықтан деректер қоры сұлбасының нормализациясы деректер қоры операциясының жаңаруын деректер қорын басқару жүйесімен тиімді орындалуына себеп болады. Реляционды деректер қорын жобалау кезінде көп жағдайда деректер қорына кіретін барлық қатынастардың екінші қалыпты формада болуы талап етіледі. Жиі жаңартылатын деректер қорында үшінші қалыпты форманы қамтамасыз етуге тырысады. Бойс-Кодд қалыпты формасына аса көңіл бөлінбейді, себебі тәжірибеде қатынастың бірнеше құрамдас мүмкін болатын жабу кілттері жиі кездеспейді.

ҚЫЗМ_НОМ_ТАПС қатынасыныңбір ғана мүмкін кілті {ҚЫЗМ_НОМ, ҚЫЗМ_ТАПС}, бұл жағдайда да нетривиалды FD болмайды.

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