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

12.3 Сурет. Қызм және қызм_жоба_тапс қатынастарының айнымалыларындағы

FD диаграммасы.

Енді жаңару операцияларын оңай жүзеге асыруға болады.

  • Кортеждерді қосу. Әлі ешбір жобаға қатыспайтын жұмысқа алынған қызметші туралы деректерді сақтау үшін ҚЫЗМ қатынасына сәйкес кортеждерді қосса жеткілікті.

  • Кортеждерді жою. Егер қызметілердің біреуі жобадағы жұмысын тоқтатса, ҚЫЗМ_ЖОБА_ТАПС қатынасынан сәйкес кортеждерді жойып тастаса жеткілікті. Жұмысшы жұмыстан шығып кеткенде ҚЫЗМ_НОМ атрибутының сәйкес мәнін ҚЫЗМ және ҚЫЗМ_ЖОБА_ТАПС қатынасынан жою керек.

  • Кортеждер модификациясы. Егер қызметшінің дәрежесі өзгерсе ҚЫЗМ қатынасының бір кортежін модификациялау жеткілікті.

12.4 Сурет. Айнылы қатынас мәндері Дәріс 13. Қалыпты формалар

Функционалды тәуелділіктер. Екінші қалыпты форма. Кесте жобасы. Үшінші қалыпты форма. Көпмәнді тәуелділіктер. Төртінші қалыпты форма.

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

Әрбір қалыпты формаға кейбір анықталған шектеулер тізімі сәйкес келеді, егер қатынас өзіне тән шектеулер тізімін қанағаттандырса, онда ол кейбір қалыпты формада орналасады.

Реляционды деректер қорының теориясында келесідей қалыпты формалар тізбегі көрсетіледі:

  • бірінші қалыпты форма (1NF);

  • екінші қалыпты форма (2NF);

  • үшінші қалыты форма (3NF);

  • Бойс-Кодд қалыпты формасы (BCNF);

  • төртінші қалыпты форма (4NF);

  • бесінші қалыпты форма немесе жобалау-бірігу қалыпты формасы (5NF немесе PJ/NF).

Қалыпты формалардың негізгі қасиеттері:

  • әрбір келесі қалыпты форма кейбір жағдайда алдыңғысынан жақсырақ;

  • келесі қалыпты формаға өту кезінде алдыңғы қалыпты форманың қасиеттері сақталады.

Жобалау үдерісінің негізінде нормализация,алдыңғы қалыпты формадағы қатынастар декомпозициясы, келесі қалыпты форма талаптарын қанағаттандыратын екі немесе одан да көп қатынастар.

13.1Транзитивті емес функционалды тәуелділіктер және үшінші қалыпты форма

ҚЫЗМЕТШІЛЕР_ЖОБАЛАР_ТАПСЫРМАЛАР айнымалы қатынасынан туындаған декомпозицияда ҚЫЗМ_ЖОБА_ТАПС айнымалы қатынасының FD жиыны қарапайым – бір ғана нетривиальды функционалды тәуелділіктің детерминанты мүмкін болатын кілт болып табылады. Осы қатынас айнымалысын қолданған кезде аномалияның қанда да бір жаңаруы болмайды. Бірақ, ҚЫЗМ қатынасының айнымалысы тиімді болмайды.

В произведенной декомпозиции переменной отношения

Транзитті функционалды тәуелділіктің болуынан пайда болатын жаңару аномалиясы.

ҚЫЗМ айнымалы қатынасының функционалды тәуелділігі бұрынғыдай кейбір жаңару аномалияларын тудырады. Олар транзитивті FD ҚЫЗМ_НОМҚЫЗМ_ЖАЛАҚЫ (через FD ҚЫЗМ_НОМҚЫЗМ_ДӘР және ҚЫЗМ_ДӘРҚЫЗМ_ЖАЛАҚЫ) болуымен шақыртылады. Бұл аномалиялар әрбір кортеждегі бір разрядты қызметшімен сипатталатын ҚЫЗМ_ЖАЛАҚЫ атрибут мәнін сақтаудың артықшылығымен байланысты.

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

  • Кортеждерді жою. Берілген дәрежесі барсоңғы қызметшіні жұмыстан шығарған кезде ондай дәреже туралы және соған сәйкес жалақы туралы ақпаратты жоғалтамыз.

  • Кортеждерді модификациялау. Кейбір дәрежеге сәйкес келетін жалақы өлшемінөзгерткен кезде сол дәреже берілген барлық қызметшілер кортежіндегі ҚЗМ_ЖАЛАҚЫ атрибут мәнін өзгерту қажет болады (әйтпесе FD ҚЫЗМ_ДӘРҚЫЗМ_ЖАЛАҚЫ).

Мүмкін болатын декомпозиция

Бұл қындықтардан өту үшін ҚЫЗМ айнымалы қатынасының декомпозициясын екі айнымалы қатынасқа – ҚЫЗМ1 {ҚЫЗМ_НОМ, ҚЫЗМ_ДӘР} және ДӘР {ҚЫЗМ_ДӘР, ҚЫЗМ_ЖАЛАҚЫ} жіктейік. Хит теоремасы бойынша бұл шығынсыз декомпозиция, мысалы, FD ҚЫЗМ_НОМҚЫЗМ_ДӘР. 13.1 суретте осы айнымалы қатынастардың FD диаграммасы, ал 13.2 суретте олардың мүмкін мәндері көрсетілген.

Сурет 13.1.  ҚЫЗМ1 және ДӘР қатынастарындағы FD диаграммалар

13.1 суреттен көрініп тұрғандай бұл түрлендіру өзгермелі, яғни ҚЫЗМ айнымалы қатынасының кез келген жіберілетін мәні ҚЫЗМ1 және ДӘР қатынас мәндерінің жасанды бірігуі болып табылады. Мұнда жаңару операциясын орындау кезіндегі қындықтардың да оқтығын ескере кетейік.

  • Кортеждерді қосу. Жаңа дәреже туралы деректерді сақтау үшін ДӘР қатынасына сәйкес қатынас кортежін қосса болғаны.

  • Кортеждерді жою. Берілген дәрежеге ие қызметшіні жұмыстан шығарған кезде ҚЫЗМ1 қатынасынан сәйкес кортеж жойылады және дәрежелер туралы деректер ДӘР қатынасында сақталады.

  • Кортеждер модификациясы Кейбір дәрежеге сәйкес жалақы мөлшері өзгергенде ҚЫЗМ_ЖАЛАҚЫ атрибтының мәні ДӘР қатынасының бір кортежінде өзгереді.

Үшінші қалыпты форма

Сурет 13.2.  ҚЫЗМ1 және ДӘР қатынасының мәндері

Біз қарастырға қиындықтар FD ҚЫЗМ_НОМҚЫЗМ_ДӘР болуымен байланысты. Бұл FD болуы шын мәнінде ҚЫЗМ_ЖАЛАҚЫ қызметші негізі емес, оны дәреже сипаттағанын көрсетеді.

Егер қатынас айнымалысы екінші қалыпты формада болса, әрбір кілттік емес атрибут бастапқы кілтке транзитивті емес функционалды тәуелді болса, онда ол үшінші қалыпты формада (3NF) болады.

ҚЫЗМ1 және ДӘР қатынастарының екеуі де 3NF формада болады (барлық кілттік емес атрибуттар ҚЫЗМ_НОМ және ҚЫЗМ_ДӘР бастапқы кілттеріне тәуелді). ҚЫЗМ қатынасы 3NF орналаспаған (FD ҚЫЗМ_НОМҚЫЗМ_ЖАЛАҚЫ транзитивті). 2NF формадағы кез келген қатынас, бірақ 3NF формада болмайтын, находящихся в 3NF формада орналасқан қатынас тізіміне алып келеді. Біз бастапқы қатынас жобасының тізімін аламыз, олардың жасанды бірігуі бастапқы қатынасты тудырады. ҚЫЗМ1 және ДӘР атынастары үшін ҚЫЗМ бастапқы қатынасы олардың ҚЫЗМ_ДӘР жалпы атрибуттарының бірігуімен жүзеге асады.

ДӘР қатынастарының жіберілетін мәндері ақпараттың толуы ҚЫЗМ қатынасының шегінен шығатын кортеждерден тұруы мүмкін. Мысалы, ДӘР қатынас денесінде қызметшіге әлі тағайындалмаған 4 дәреже туралы деректер бар кортеж болуы мүмкін. Мұндай кортеждің болуы жасанды бірігудің нәтижесіне әсер етпейді, ол ҚЫЗМ қатынасының жіберілетін мәні болады.

Тәуелсіз жоба қатынастары. Риссанен теоремасы.

ҚЫЗМ {ҚЫЗМ_НОМ, ҚЫЗМ_ДӘР, ҚЫЗМ_ЖАЛАҚЫ} қатынасының айнымалысы үшін ҚЫЗМ1 {ҚЫЗМ_НОМ, ҚЫЗМ_ДӘР} және ДӘР {ҚЫЗМ_ДӘР, ҚЫЗМ_ЖАЛАҚЫ} қатынасының декомпозициясынан басқасына, ҚЫЗМ1 {ҚЫЗМ_НОМ, ҚЫЗМ_ДӘР} және ҚЫЗМ_ЖАЛАҚЫ {ҚЫЗМ_ДӘР, ҚЫЗМ_ЖАЛАҚЫ} қатынасының декомпозициясына көңіл аударыңыз. Екінші декомпозиция жолымен алынған екі қатынас та 3NF формада болады және бұл шығынсыз декомпозиция болып табылады. Бірақ, екінші декомпозиция біріншісіне қарағанда ҚЫЗМ қатынасының жаңаруымен байланысты мәселелерді жоймайды. Мысалы, бірде–бір қызметшіде жоқ дәреже туралы деректерді сақтау мүмкін емес болсын делік. Оның немен байланысқанын қарастырайық.

ҚЫЗМ1 және ДӘР қатынастары тәуелсіз жаңартылады (тәуелсіз жобалар болып табылады) және осының нәтижесінде олардың жасанды бірігуі үнемі ҚЫЗМ бастапқы қатынасының жаңаруы сияқты болады. Бұл ҚЫЗМ қатынасының FD ҚЫЗМ1 және ДӘР қатынастарының бастапқы кілттің жеке шектелуінде қалыптасады. Екінші декомпозиция кезінде ҚЫЗМ_ДӘРҚЫЗМ_ЖАЛАҚЫ FD екі қатынас үшін біртұтастық шектеуінде (мұндай біртұтастық шектеулері деректер қорының шектеулері деп аталады және техникалық тұрғыдан қарағанда оларды қолдау тиімсіз) қалыптасады. Нормализация үдерісінде қатынас декомпозициясы тәуелсіз жобаларға қатысты екені түсінікті. Қатынас жобасының қажет және жеткілікті тәуелсіз шарттарын Риссанен теоремасы қамтамасыз етеді.

Риссанен теоремасы.

r қатынасының r1 және r2 жобалары тәуелсіз болады, егер:

  • r қатынасындағы әрбір FD логикалық тұрғыдан r1 және r2 –ден FD–ға бағытталса;

  • r1 және r2 ортақ атрибуттарыосы қатынастардың кем дегенде біреуіне мүмкін болатын кілтті қалыптастырады.

Біл теореманы дәлелдей-ақ қоялық, бірақ жоғарыда көрсетілген ҚЫЗМ қатынасының екі декомпозициясының мысалында оның дұрыстығын көрсетейік. Бірінші декомпозицияда (ҚЫЗМ1 және ДӘР жобасында) ҚЫЗМ_ДӘР жалпы атрибуты ДӘР қатынасының мүмкін болатын кілті болып табылады, ал бір ғана қосымша ҚЫЗМ (ҚЫЗМ _НОМҚЫЗМ _ЖАЛАҚЫ) атрибутының FD логикалық түрде сәйкесінше ҚЫЗМ1 және ДӘР қатынасы үшін орындалатын ҚЫЗМ _НОМҚЫЗМ _ДӘР және ҚЫЗМ _ДӘРҚЫЗМ _ЖАЛАҚЫ болып табылады. Екінші декомпозиция Риссанен теоремасының екінші шартын қанағаттандырады (ҚЫЗМ1 және ҚЫЗМ_ЖАЛАҚЫ қатынастарының әрқайсысына ҚЫЗМ_НОМ бастапқы кілт болып табылады), бірақ ҚЫЗМ_ДӘРҚЫЗМ_ЖАЛАҚЫ FD қатынасы ҚЫЗМ_НОМҚЫЗМ_ДӘР және ҚЫЗМ_НОМҚЫЗМ_ЖАЛАҚЫ қатынасының FD шығарылмайды.

Атомарлы қатынас дегеніміз тәуелсіз жобаларға декомпозиция мүмкін болмайтын қатынастар. Атомарлы емес қатынастар үшін атомарлы жобалар декомпозициясы інемі қажет емес. Мысалы, FD {ҚЫЗМ_НОМҚЫЗМ_ЖАЛАҚЫ, ҚЫЗМ_НОМПРО_НОМ}жиыны бар ҚЫЗМ2 { ҚЫЗМ_НОМ, ҚЫЗМ_ЖАЛАҚЫ, ПРО_НОМ} қатынасы атомарлы емес (ҚЫЗМ3 { ҚЫЗМ_НОМ, ҚЫЗМ_ЖАЛАҚЫ} және ҚЫЗМ4 { ҚЫЗМ_НОМ, ПРО_НОМ} тәуелсіз жобаларына декомпозиция мүмкін болады). Бірақ, бұл декомпозиция ҚЫЗМ2 қатынасының қасиетін жақсартпайды, сондықтан мағыналы бола алмайды. Басқаша айтқанда, декомпозиция тәсілін таңдаған кезде міндетті түрде атомарлы жобалар емес, тәуелсіз жобалар алуға тырысу керек.

3 дәрістен еске түсірсек, егер мән типтелген болса, онда ол мәнмен сәйкес деректер типінің операциясымен жұмыс жасуға болған жағдайда ғана мән атомарлығы жүзеге асады.

Бірде бір мүмкін болатын кілт құрамына кірмейтін атрибут кілттік емес атрибут деп аталады.

Анықтама бойынша қатынастың тек қана бір мүмкін кілті болады.

FD транзитивті болмаған жағдайда транзитивті емес деп аталатыны белгілі.

Бұл анықтамада қатынастың тек бір ғана мүмкін кілті болатыны айтылған.

ҚЫЗМ қатынасының теориялық тұрғыдан болатын үшінші декомпозициясы ҚЫЗМ2 { ҚЫЗМ_НОМ, ҚЫЗМ_ЖАЛАҚЫ} және ДӘР { ҚЫЗМ _ДӘР, ҚЫЗМ_ЖАЛАҚЫ} қатынасы шығынсыз декомпозиция бола алмайды. Бұл композиция үшін Хит теоремасының шарттары орындалмайтынын көрсетіңдер. Яғни Армстронг аксиомасының негізінде шығарылады.

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