Коммерциялық емес акционерлік қоғамы

Алматы энергетика және байланыс университеті

Инженерлік кибернетика кафедрасы

 

 

 

МӘЛІМЕТТЕР ҚОРЛАРЫН ЖОБАЛАУ БОЙЫНША ДӘРІСТЕР ЖИНАҒЫ  

5В071800 Электр энергетика мамандығы бойынша оқитын

барлық оқу түрінің студенттері үшін

 

 

 

Алматы 2010 

ҚҰРАСТЫРУШЫЛАР: В.М. Тарасов, Р.Ж. Жумаканова. Мәліметтер қорларын жобалау бойынша дәрістер жинағы. 5В071800 – Электр энергетика  мамандығы бойынша оқитын барлық оқу түрінің студенттері  үшін. – Алматы: АУЭС, 2010. – 26 б.

 

5В071800 – Электрэнергетика мамандығы бойынша оқитын барлық оқу түрінің студенттері үшін «Мәліметтер қорларын жобалау» пәні бойынша дәрістер жинағы келтірілген. Оларда емтиханда, зертханалық жұмыстарды орындауға және есептік-графикалық жұмыстарда қолдануға арналған жүйелі түрде көрсетілген ақпараттар және ұсыныстар келтірілген

 

Пікір беруші: тех. ғыл. канд., проф. Шевяков Ю.В.

  

“Алматы энергетика жэәне байланыс институтының” коммерциялық емес акционерлік қоғамының 2010 ж. жоспары бойынша басылады. 

 

©  “Алматы энергетика және байланыс университетының ” КЕАҚ , 2011 ж.

 

1 дәріс. Мәліметтер қорының реляциялық үлгісі туралы негізгі түсініктер

 

Кейбір анықтамалар

Мәліметтер қоры (МҚ)қандай да бір білім облысындағы (металлургия, білім, кәсіпорын, энергетика) нақты өмірдің нысандары жайлы мағлұматтардың жиынтығы.

МҚБЖ (СУБД)программалар кешенінен тұратын мәліметтер қорын басқару жүйесі.

Нысан өмірде бар және басқалардан ажыратылатын қасиетке ие (кәсіпорын, студент, оқытушы).  Нысандар бұл тек қана материалды заттар емес, ол абстрактты түсініктер: оқиғалар, шешімдер, нормалар.

Атрибут немесе мәліметқандай да бір нысанды сипаттайды және сандық, мәтіндік және басқа да күйі болуы мүмкін.

Кодтау. Атрибуттардың мәніндерінің тізімін жиі жағдайда кодтайды. Кодтауды бір тектес, ыңғайлы болу үшін, енгізу қателігін болдырмау үшін қолданады. Мысалы, «Тула з-ты», «тула зауыты», «Тула зауыты» адам үшін бірдей мағынада, ал ДК үшін әртүрлі мәліметтер болады.

МҚ-нда фото немесе сайттарға сілтеме орнатуға болады.

Егер ұяшыққа ештеңе жазылмаса оны бос деп санайды (мәні Null), Null мәнін  пробел белгісімен (оның коды 32) немесе нөлмен (оның коды 48) шатастыруға болмайды.

МҚ желілік, иерархиялық немесе кестелік (реляциялық) құрылымда болуы мүмкін.

Желілік құрылым 1-суретте келтірілген.   Желі түйіндерінде мәліметтер орналасады. Мұндай мәліметтер қорын автоматтандыру қиын.

Иерархиялық құрылым 2-суретте келтірілген.

Мәліметтер қорының реляциялық үлгісі

Реляциялық үлгі мәліметтерді кесте түрінде көрсетуге ыңғайлы үлгі болып табылады.

Кез-келген желілік немесе иерархиялық сұлбаны екі өлшемді кестелер түрінде көрсетуге болатыны теория жүзінде дәлелденген.

Математикалық пәндерде «кесте» түсінігіне «қатынас» (relation) түсінігі сәйкес. Осыдан үлгінің реляциялық үлгі аты шыққан. Мәліметтер қорына қатысты қолданғанда «реляциялық МҚ» және «кестелік МҚ» синоним болып табылады.

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

МҚ-ның кестесіндегі бағананы теориялық әдебиеттерде атрибуттар деп атайды, ал техникалық әдебиеттерде жиірек өріс деп атайды. Жолдарды теориялық әдебиеттерде кортеждер деп атайды, ал техникалық әдебиеттерде жазба деп атайды.

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

 

Фирма атауы

 

 

Өнім кодтары (шина, фарлар, әйнектер)

 

 

Технология кодтары (штамптау, құю, бояу, хромдау)

 

Бағасы

 

 

 

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

 

1 кесте

Санағыш

Фирма

Өнім коды

Технология коды

Бағасы

1

Арго фирмасы

3895

02

578

2

Арго фирмасы

3895

03

612

5

Борей фирмасы

3895

02

600

6

Борей фирмасы

3895

03

605

7

Борей фирмасы

3095

03

1200

 

1 кестеге автоматтандыру мақсатында қосымша өріс енгізілген –  Санағыш. Енді кестенің әрбір жазбасы Санағыш өрісінің мәнімен анықталады, ол бірінші реттік кілт деп аталады.

Бірінші реттік кілт (Primary Key, PK) – идентификатор, оның мәні сол кестедегі жазбаны көрсетеді. Бұл кестенің басқа өрістерінде қайталанатын ақпарат болғандықтан оларды кілттік өріс ретінде қолдануға болмайды. Әдетте бірінші реттік кілт ретінде жазба санағышы (счетчик записей) қолданылады.

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

2 кестеде кілттік өрістер комбинациясы тауар түрін және оның бағасын көрсетеді.

 

2 кесте – Құрама бірінші реттік кілт

Кілттік өріс1

Кілттік өріс 2

Тауар

Бағасы

0

0

Фара

5000

0

1

Шина

6000

1

0

Әйнек

4000

1

1

Руль

4500

 

Нөмірлер (кілттер) ешқашан өзгермейді.

Практика жүзінде көптеген кодтардың мәнін баспаға шығару мүмкіндігі бар. Мысалы, 02 кодының орнына «Штамповка» сөзін шығару.

Егер мәліметтер қорында қайталанатын элементтер болса, мысалы әртүрлі кестеде бірдей өрістер болса, онда ол қолайсыз МҚ болады. Мұндай МҚ-нда мәліметтер артықшылығы бар. Оны жөндегенде бірнеше кестеге бірдей өзгертулер енгізу қажет. Бұл қателіктерге жиі әкеледі және мәліметтер қорынан алынатын мәліметтер анық болмайды.

Сыртқы кілт (Foreign Key, FK)  — басқа кестенің бірінші реттік кілтіне сәйкес келетін бір кестенің өрісі. Сыртқы кілті анықталаған кестені бағынышты кесте деп, ал бірінші реттік кілті бар кестені бас кесте деп атаймыз. Екі өрісте де біртипті мәліметтер жазылуы керек, мысалы студенттің сынақ кітапшасының нөмірі. Сыртқы және бірінші реттік кілттер мәліметтер қорының кестелерін байланыстыру үшін құрылады.

Егер кесте бірнеше басқа кестелермен байланысса, онда ол кестеде бірнеше сыртқы кілттер болады.

Кесте ұяшықтарында өте күрделі мәліметтер болмауы керек. Бір ұяшыққа сынып және сынып әрпін жазуға болмайды, мысалы, «10Б», бірақ кейбір жағдайларда рұқсат.

Бүтіндік шектеулері

Бірінші реттік кілттің тағы бір қызметі – ол бірнеше кестедегі мәліметтердің сілтемелік бүтіндігін қамтамасыз ету. Бұны бағынышты кестелердегі сәйкес сыртқы кілттер (Foreign Key)  көмегімен іске асыруға болады. Екі кестенің мәліметтерінің сілтемелік бүтіндігі келесі түрде іске асады:

- бағынышты кестедегі сыртқы кілттің мәнін бас кестенің бірінші реттік кілтінде жоқ мәнмен толтыруға болмайды;

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

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

 

3 сурет – Бірінші және сыртқы кілттердің байланысы

 

3-суретте «Код студента» (Студенттің коды) және «Учебный план» (Жоспар коды) өрістері бөлек алғанда «Сводная ведомость» (Жиынтық ақпарат тізімі) кестесінің сыртқы кілттері болады және сол кестенің «Студенты» (Студенттер) және «Учебный план» (Оқу жоспары) кестелерімен байланысы ретінде қызмет етеді. Бірге бұл өрістер «Сводная ведомость» (Жиынтық ақпарат тізімі) кестесінің құрама бірінші кілті болады және «Оценка» (Баға) және «Дата сдачи» (Тапсыру күні) өрістерінің мәнін көрсетеді.

Мәліметтерге шектеулер орнату

Мәліметтерді енгізгенде қателіктер болдырмау үшін мәліметтерге шектеулер орнатылады. Өрістің мүмкін мәндерінің диапазонын беру арқылы орнатады. Мысалы, егер өрісте жалпы саннан алынған пайыз түріндегі мәлімет болса, онда оның диапазонын 0-ден 100-ге дейін деп көрсету керек. Ақпарат қағазында емтихан бағасын 0-ден 9-ға дейін деп шектеуге болады.

Сонымен қатар, өріс үшін келісім бойынша мән берілуі мүмкін. Мысалы, көп жағдайда нөл сандық өрістер үшін келісім бойынша мән ретінде жүреді, ал символдық (мәтіндік) өрістер үшін «н/о» анықталмаған келісім бойынша мән ретінде.  

МҚ жобалау пәндік облысты зертеуден басталады.

Пәндік облыс басқаруды ұйымдастыру, автоматтандыру мақсатында зерттеуге  жататын нақты өмірдің бір бөлігі. Пәндік облыс фрагменттер жиынынан тұрады, мысалы, кәсіпорын - цехтар, басқарма, бухгалтерия және т.б. тұрады. Пәндік облыстың әрбір фрагменті объекттер және процестер жиынымен сипатталады.

Пәндік облыс негізінде әмбебап қатынас құруға болады. МҚ жобалаудың келесі мәселесі бұл – сақталатын мәліметтердің артықтығын қысқарту, мысалы, әртүрлі кестелердегі бірдей өрістерді жою. МҚ-дағы әрбір факт тек бір  ерт қана жазылуы керек, бұл келесіні қамтамасыз етеді:

- бірдей мәліметті әртүрлі кестелерге орнатумен байланысты операциялар санын азайту;

- бір нысан жайлы ақпараттың әртүрлі түрде әртүрлі кестелерде болуынан қарама-қайшылық туындауды болдырмау («Тула з-ты», «тула зауыты», «Тула зауыты»).

Әмбебап қатынас (кесте)

МҚ жобасын қатынастарды нормалау әдістемесін қолданып құруға болады.

Деканат мәліметтер қорын құру қажет болсын. Онда студенттердің барлық жоспарланған пәндер бойынша емтихан тапсыруы көрсетілуі керек. Сонымен қатар, МҚ оқытушының сағат түріндегі жұмысы ескерілуі керек. Пәндік облысты талдау нәтижесі бойынша рубеждік баға және емтихандық баға қатысты пәнді бірнеше тәуелсіз атаулармен көрсету қажет. Мысал, ТОЭ орнына ТОЭ-лекция, ТОЭ практика, ТОЭ зертханалық деп жазу керек.

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

 

3 кесте – Деканат әмбебап қатынасы (фрагмент)

Студенттің аты-жөні

Пән

Есеп беру түрі

Баға

Тапсыру күні

Сағат саны

Оқытушының аты-жөні

Студенттер легі

Иванов И.

ТОЭ дәр

Емтихан

9

09.03.2009

20

Тайцев Л.К.

БЭ-09-1,2,3,4

Иванов И.

ТОЭ зер

Аралық бақылау

7

04.03.2009

26

Теткова Л.Б.

БЭ-09-1

Иванов И.

Физика дәр

Емтихан

3

01.03.2009

30

Факов Л.К.

БЭ-09-1,2,3,4

Пак И.

Физика зер

Аралық бақылау

9

05.03.2009

16

Феменов Л.Б.

БЭ-09-2

 

2 дәріс. Мәліметтерді жобалау кезеңдері. Нормалау

Артықшылық және қарама-қайшылық

Әмбебап қатынасты қолданғанда екі мәселе туындайды:

- мәліметтер артықшылығы.   Кестедегі өріс мәндері бірнеше рет қайталанады, мысалы, Дисциплина, ФИО студента;

- потенциалды қарама-қайшылық. Мысалы, ТОЭ зер. пәнінің сағаттар санын өзгерту қажет болса, онда түзету үшін осы пән жайлы ақпараттары бар барлық жолдарды тауып, олардың бәрін өзгерту керек. Сонымен қатар, мұндай кестені толтырғанда кездейсоқта бір мәнді әртүрлі жазып қою мүмкіндігі бар, мысалы: «ТОЭ зер.» және «ТОЭ зер».

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

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

Егер кестенің әрбір ұяшығында атомарлы, бөлінбейтін мән орналасса, онда кесте бірінші нормалы формада деп айтады, қысқаша  1НФ деп жазады.

Мысалы, Класс өрісінде «10 б» жазбасының мәні атоммарлы емес, сондықтан класс нөмірі және класс символын әртүрлі өрістерде жазу қажет.

1НФ-ға қосымша келесі нормалау деңгейлері анықталады: екінші нормалы форма (2НФ), үшінші нормалы форма (ЗНФ).

Функционалдық және көп мағыналық тәуелділік

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

Функционалдық тәуелділік. 1 кестеде Фирма, Өнім коды өрістері бірмағыналы функционалды түрде Санағыш кілтіне тәуелді.

2 кестеде  Тауар өрісі функционалды түрде құрама кілтке тәуелді (Кілттік өріс 1, Кілттік өріс 2).

Функционалдық тәуелділік қарастырылатын кестедегі өріс мәндерінің арасындағы «бірдің-бірге» типтегі байланыс түріне жатады.

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

Мысал ретінде 4 кесте фрагментін қарастырайық. Бұл кестеде  көп мағыналық тәуелділік бар Пән-Оқытушы. Математика дәрістер пәнін бірнеше оқытушы жүргізеді (Усов И. И., Петин К. К.), сәйкесінше олар емтихан қабылдауға қатыса алады. Есеп беру түрі және Оқытушы өрістерінің арасында функционалдық тәуелділік жоқ, бұл ақпарат артықтығына әкеледі. Бұл кестеге лекциялық және практикалық сабақтарды жүргізетін тағы бір оқытушының  фамилиясын енгізу үшін кестеге рубеждік бақылау  және емтихан үшін екі жаңа жазба енгізу қажет болады.

 

4 кесте Бақылау қатынасының фрагменті

Пән

Оқытушы

Есеп беру түрі

Математика дәрістер

Усов И. И.

Емтихан

Математика дәрістер

Петин К. К.

Емтихан

Математика машықтану

Усов И. И.

Аралық бақылау

Математика машықтану

Петин К. К.

Аралық бақылау

 

Екінші нормалы форма. Егер кесте 1НФ-да болса және оның бірінші реттік кілтке кіретін барлық өрістері құрама кілт бола алатын бірінші реттік кілтпен функционалдық тәуелділік те болса, онда кесте екінші нормалы формада (2НФ).

Бұл талаптарды 3 кесте Деканат қатынасы қанағаттандырмайды. Кестеде құрама бірінші реттік кілт Студенттің аты-жөніПән және кілттік емес өрістері Есеп беру түрі, Баға, Сағат саны, Оқытушының аты-жөні, Студенттер легі, олар құрама қілттің кейбір бөліктеріне тәуелді. Сағат саны және Оқытушының аты-жөні өрістері Пән  өрісіне ғана тәуелді және нақты бір студентке тәуелді емес. Сонымен, бұл өрістердің бірінші реттік кілтпен функционалдық тәуелділігі жоқ.

Кесте 2 екінші нормалы формаға келтірілген.

Үшінші нормалы форма.  Егер кесте 2НФ-да болса және оның бірде бір кілттік емес өрісі  басқа кілттік емес өріспен функционалдық тәуелділікте болмаса, онда кесте үшінші нормалы формада (3НФ).

Кодд және Бойс кестеде екі бірінші реттік кілт болуын ескеретін ЗНФ анықтамасын ұсынды.

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

 

5 кесте

Санағыш

Фирма

Өнім коды

Технология коды

Баға

1

Арго фирмасы

3895

02

578

2

Арго фирмасы

3895

03

612

3

Арго фирмасы

3002

02

650

4

Арго фирмасы

3002

05

680

5

Борей фирмасы

3895

02

600

6

Борей фирмасы

3895

03

605

7

Борей фирмасы

3095

03

1200

 

5 кестеде бір жағынан Баға және Санағыш кілттік өрістерінің арасында байланыс және екінші жағынан Фирма, Өнім коды және Технология коды құрамына байланысы бар. Яғни бұл үш өріс (Фирма, Өнім коды және  Технология коды) бірінші реттік кілт ретінде жүре алады, бірақ олар 5 кестеде Санағыш өрісімен анықталады. Сонымен, 5 кестедеекі мүмкін бірінші реттік кілт бар. Сондықтан, 5 кесте НФБК және ЗНФ формаларда.

Тағы да 6 кестені қарастырайық, оларда бірдей фамилиялылар бар. Бірінші қарағанда кесте НФБК формасында, кестеде екі мүмкін бірінші реттік кілт бар, өйткені Студенттің аты-жөні және Топ өрістері бірігіп бір мағынада Топ басшы және Топ жетекші өрістерін бейнелейді.

 

6 кесте

Студент коды

Студенттің аты-жөні

Топ

Топ басшы

Топ жнтекші

1

Ким К.

БЭ-09-1

Тулеев П.

Зайцев К.И.

2

Серов А.

БЭ-09-1

Тулеев П.

Зайцев К.И.

2

Ким К.

БЭ-09-2

Кукин Т.

Сапаров М.И..

Бірінші реттік кілт

Мүмкіндік бірінші реттік кілт

 

 

 

Ал егер әртүрлі топтарда оқитын бірдей фамилиялы студенттер бар болса, онда топ басшы және Топ жетекші өрістері мүмкін болатын бірінші кілттің Топ өрісіне тәуелді болады және кесте НФБК формасында болмайды. Бір жағынан бұны ескермесе, онда Студент коды кілті және Топ басшы және Топ жетекші өрістері Топ кілттік емес өрісіне тәуелді болады.  Сондықтан, кестені екі жағдайда да нормалау қажет.

3 дәріс. Нормалау процедурасы

Кестелерді 3НФ (НФБК) түріне келтіру процедурасын қарастырайық. Функционалдық тәуелділіктер – кез-келген кестедегі бірінші реттік кілт бір мағынада кез-келген өрісті бейнелейтіндей тәуелділік болу керек. «Бір факт бір орында» деген принцип кесте ішінде басқа функционалдық тәуелділіктер болмауы керек дегенді айтады. Нормалау мақсаты да тура осы және басқа функционалдық тәуелділіктерді жою.

Екі мүмкін болатын нұсқасын қарастырайық.


Нұсқа 1. Кестеде DK, EК өрістерінен тұратын құрама бірінші кілт және А, В және С өрістері болсын. А өрісі функционалды түрде құрама кілттің EК өрісіне тәуелді, 4-суретті қараңыздар. Бұл жағдайда EК өрісі бар (бірінші реттік кілт ретінде) және А өрісі бар қосымша кесте құрастыру ұсынылады . А кілттік емес өрісі бастапқы кестеден жойылады. Онда DK, EК,  В, С өрістері қалады.

 

 

4 сурет

 

Нұсқа  2. Кестеде бірінші реттік кілт СК, А және В өрістері бар. А өрісі функционалды түрде СК кілтіне және В кілттік емес өрісіне тәуелді. Нормалау кезінде ВK (бірінші реттік кілт ретінде) және А өрістерінен тұратын қосымша кесте құрылады.. А өрісі бастапқы кестеден жойылады және онда СК және В өрістері қалады.

 СК, А, В è СК, В + ВК , А

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

3 кестеде көрсетілген Деканат қатынасын нормалау үшін келтірілген тәсілдерді қолданайық.

Деканат қатынасындағы тәуелділіктерді анықтайық.

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

 

7 кесте – Деканат қатынасы

Студенттің аты-жөні

Пән

Есеп беру түрі

Баға

Күні

Сағат саны

Оқытушының аты-жөні

Лек

К1

К2

 

 

 

 

 

 

Құрама кілт , PK

 

 

 

 

 

 

 

Есеп беру түрі, Сағат саны, Оқытушының аты-жөні, Лек өрістерінің әрбіреуі құрама бірінші кілттің тек Пән өрісінен функционалдық тәуелділікте, Студенттің аты-жөні өрісіне тәуелді емес.

Жоғарыда көрсетілген 1-нші нұсқаға сәйкес Деканат кестесінің декомпозициясын жүргізейік. Пән, Есеп беру түрі, Сағат саны, Оқытушының аты-жөні және Лек өрістерін бөлек Оқу жоспары қатынасында көрсетейік, 8-нші кестені қараңыз. Онда  Пән өрісі бірінші реттік кілт ретінде көрсетілген.

 

8 кесте – Оқу жоспары қатынасы

Пән

Есеп беру түрі

Сағат саны

Оқытушының аты-жөні

Лек

РК

 

 

 

 

 

Бастапқы Деканат қатынасынан Есеп беру түрі, Сағат саны, Оқытушы және Лек өрістері жойылады. Қатынастың қалған бөлігін Сессия қорытындысы қатынасы деп атайық, 9 кестені қараңыз.

 

9 кесте Сессия қортындысы қатынасы

Студенттің аты-жөні

Пән

Баға

Күні

К1

К2

 

 

Құрама бірінші реттік кілт , PK

 

 

 

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

 

10 кесте – Оқу жоспары қатынасы

Пәннің коды

Пән

Есеп беру түрі

Сағат саны

Студенттер легі

Оқытушының коды

1

ТОЭ дәр.

Емтихан

20

БЭ-09-1,2,3,4

Тайцев Л.К.

2

ТОЭ зер.

Аралық бақылау

26

БЭ-09-2

Теткова Л.Б.

3

ТОЭ зер.

Аралық бақылау

26

БЭ-09-1

Теткова Л.Б.

 

Енді Есеп беру түрі және Сағат саны өрістері кілттік өріс пен қатар Пән кілттік емес өрісіне де тәуелді. Кестені 2-нші нұсқауға сәйкес декомпозициялаймыз және екі жаңа кесте аламыз.

 

11 кестеОқу жоспары қатынасы

Пәннің коды (РК)

Пән

Стдуденттер легі

Оқытушы

1

ТОЭ дәр.

БЭ-09-1,2,3,4

Тайцев Л.К.

2

ТОЭ зер.

БЭ-09-2

Теткова Л.Б.

3

ТОЭ зер.

БЭ-09-1

Теткова Л.Б.

 

12 кестеПәндер  қатынасы

Пән (РК)

Есеп беру түрі

Сағат саны

ТОЭ дәр.

Емтихан

32

ТОЭ зер.

Аралық бақылау

26

Физика дәр.

Емтихан

32

Физика зер.

Аралық бақылау

26

 

Оқу жоспары қатынасында Лек өрісі артық, өйткені әртүрлі пән үшін бір мәнді бірнеше рет енгізу керек. Сонымен қатар Лек өрісі Пән кілттік емес өрісіне тәуелді. Бұл кемшілікті жою үшін бөлек поле Лектер кестесіне апару керек және Студенттер саны бойынша ЕГЖ, курстық жұмыс және емтихандағы жұмысының сағатын есепке алатын өріс қосамыз.

 

13 кесте – Лектер  (фрагменті)

Лек (РК)

Студенттер саны

БЭ-09-1

21

БЭ-09-1,2,3,4

85

 

Бұл декомпозиция арқылы біз бастапқы кестені нормаланған кестелер жиынына түрлендірдік. Барлық алынған кестелер НФБК формасына келтірілген. Алынған МҚ-ның мәліметтер сұлбасы 5-суретте келтірілген.

 

5 сурет – МҚ жобасы

 

3 дәріс. МҚ жобасын жақсарту

 

Алынған МҚ жобасын «Студенты» (Студенттер)«Преподаватели» (Оқытушылар) қосымша кестелерін енгізу арқылы жақсартуға болады. Онда «Код студента» (Студенттің коды) және «Код преподавателя» (Оқытушының коды) кілттік өрістерін құрайық, аттас студенттер болғандықтан. Оларға бірінші реттік кілтке тәуелді «Группа» (Топ), «Пол» (Жынысы), «Телефон» (Телефон), «Адрес» (Мекенжайы), «Кафедра» (Кафедра), «Должность» (Кызметі) атты және басқа да қызметтік өрістер енгізуге болады. Негізгі кестелерді мен жаңа кестелерді байланыстыру үшін негізгі кестеге «Код преподавателя» (Оқытушы коды) және «Код студента» (Студенттің коды) екінші реттік кілттерін қосамыз.

 

14 кестеСтуденттер қатынасы

Студенттің коды (РК)

Студенттің аты-жөні

жынысы

топ

Студенттің телефоны

Студенттің мекенжайы

3

Петров П.

Ер

БЭ-09-1

235-12-65

Немцова, 15

2

Иванов И.

Ер

БЭ-09-1

325-32-14

Ықшам аудан. 1, д. 2, кв. 5

11

Новикова Н.

Әйел

БЭ-09-2

 

1 жатақхана, 35 кв. 7

 

15 кестеОқытушылар қатынасы

Оқытушының коды (РК)

Оқытушының аты-жөні

Қызметі

Телефон

Мекен-жай

Кафедра

3

Петров П.

Доцент

325-32-14

Немцова, 15

ТОЭ

2

Иванов И.

 

 

 

ИК

11

Новикова Н.

 

 

 

 

 

16 кестеде көрнекі болу үшін «Код студента» (Студенттің коды) және «Код преподавателя» (Оқутушының коды) орнына олардың мәтіндік мәндерін қоюға болады, бұл  Access МҚБЖ-сында орнына қою және «Подпись» (Қолы) қасиеттері арқылы оңай іске асады.

 

16 кестеСессия қорытындысы қатынасы

Студенттің коды (РК)

Пән (РК)

Баға

Тапсыру күні

Иванов И.

ТОЭ дәр

9

09.03.2009

Иванов И.

ТОЭ машық

6

07.03.2009

Иванов И.

ТОЭ зер

7

04.03.2009

 

Алынған МҚ-ның мәліметтер сұлбасы 6-суретте келтірілген.

 

6 сурет

МҚ-нда оқытушылар жұмыс істейтін кафедралар жайлы ақпарат аз екені көрініп тұр. Келесі қызметтік ақпараттар болуы қажет: «Ф.И.О. заведующего» (Меңгерушінің аты-жөні), «Телефон» (Телефоны) және «Аудитория» (Бөлменің №). Бұл өрістерді «Преподаватели» (Оқытушылар) кестесіне жай ғана енгізу мүмкін емес, өйткені олар кілттік емес «Ф.И.О. преподавателя» (Оқытушының аты-жөні) өрісіне тәуелді болады. Сондықтан көрсетілген өрістері бар жаңа «Кафедры» (Кафедралар) кестесін құрамыз. Оның бірінші реттік кілті «Кафедра» (Кафедра), ал «Преподаватели» (Оқытушылар) кестесіне байланыс үшін екінші реттік кілт «Кафедра»афедра) өрісін енгіземіз.

 

17 кесте – «Кафедры» (Кафедралар) қатынасы

Кафедра (РК)

Меңгерушінің аты-жөні

Кафедраның телефоны

Бөлменің №

 

 

 

 

 

Сонымен қатар, топ басшысы және эдвайзері кім екенін білуіміз керек. Сондықтан  алдыңғы кесте сияқты «Группы» (Топтар) кестесін құрамыз, бірінші реттік кілті «Группа» (Топ).

 

18 кесте – «Группы» (Топтар) қатынасы

Топ (РК)

Топ басшының аты-жөні

Топ жетекшінің аты-жөні

 

 

 

 

Құрылған МҚ-ның әрбір кестесінде бірінші реттік кілт (PK) бар,  «Итоги сессии» (Сессия қорытындысы) кестесінде ол құрама кілт және «Код студента» (Студенттің коды) және «Код дисциплины» (Пәннің коды) өрістерінен тұрады. Бұл өрістер бір жағынан сыртқы кілттер және «Студенты» (Студенттер), «Учебный план» (Оқу жоспары) кестелерімен байланыс үшін керек.

«Итоги сессии» (Сессия қорытындысы) кестесі ыңғайсыз, өйткені онда  «Дисциплина» (Пән), «Ф.И.О. преподавателя» (Оқытушының аты-жөні), «Количество часов (кридиты)» (Сағат саны (кредиттер)) өрістері жоқ. Бірақ сұраныс немесе есеп құрғанда бұл өрістерді басқа кестелер арқылы толтыруға болады.

Кейде бағынышты кестелердің кілттік емес өрістері кодтардан тұрады. Кестелерді толтырғанда бұл кодтарды орнына қою (подстановка) арқылы бас кестеден олардың мәтіндік мәндерімен алмастырады және атының орнына өрістік «Подпись» (Қол) қойылады. Нәтижесінде кестелерде  пән аттары, оқытушы және студенттер аты-жөні  тұрады.

 

19 кесте – «Итоги сессии» (Сессия қорытындысы) қатынасы

Бағанның аты

 Студенттің коды

Пәннің коды

Баға

Тапсыру күні

Жазу

Студент

Пән

 

 

 

Иманов И.

ТОЭ дәр.

9

09.03.2009

 

Иманов И.

ТОЭ зер.

7

04.03.2009

 

Иманов И.

Физика дәр.

3

01.03.2009

 

Петров П.

ТОЭ дәр.

6

06.08.2009

 

Петров П.

Физика дәр.

7

06.08.2009

 

Бастапқы қатынасты нормалау және жаңа кестелер құру арқылы біз «Студенты» (Студенттер), «Преподаватели» (Оқытушылар),  «Дисциплина» (Пән), «Потоки» (Лектер) кестелеріне жаңа жолдарды қосуға мүмкіндік алдық және олар басқа кестелерде қайталанбайтын болды.

Қызметтік өрістері көрсетілген кестелердің байланыс сұлбасы 7 суретте келтірілген.

 

7 сурет

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

4 дәріс.  МҚ-ын инфологиялық үлгі арқылы жобалау

 Маңыз және байланыстар

 «Маңыз және байланыс» үлгісі негізінде МҚ-ын жобалаудың тағы бір әдісін қарастырайық. Келесі анықтамалары:

Маңыз (Сущность-entity) – бұл басқа нысандардан өзгешелігін табатын қандай да бір әдіспен анықталатын нысан. Мысалдар: нақты бір адам, студент, мекеме, оқиға және т.б.

Маңыздар жиыны (entity set) – бір типтегі маңыздар жиынтығы (бірдей қасиеті бар). Мысалдар: барлық адамдар, студенттер, мекемелер, мейрамдар және т.б.

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

Маңыз (нысан) атрибуттар жиынымен анықталады. Олар осы маңыздар жиынының барлық даналарының қасиетін сипаттайды.

Мысалы,  студенттер жиынын қарастырайық. Олардың әрбіреуін атрибуттар (қасиеттер) көмегімен сипаттауға болады: сынақ кітапшасының нөмірі, аты-жөні, туған күні, тобы. Сондықтан, «Студент» (Студент) маңызы келесі атрибуттардан тұра алады: «№ зачетной книжки» (Сынақ кітәпшасының №), «Ф.И.О студента» (Студенттің аты-жөні), «Дата рождения» (Туған жылы), «Группа» (Топ) және т.б.

Маңыз кілті - бұл берілген маңызды тура анықтайтын бір және көп атрибуттар. Біздің мысалда «Студент» (Студент) маңызының бірінші реттік кілті «№ зачетной книжки» (Сынақ кітәпшасының №) атрибуты бола алады, қалған атрибуттардың мәні қайталанады.

Байланыс (relationship) - это бірнеше аңыздардың арасында орналасқан қауымдастық. Байланыс мысалдары:

- әрбір  «Студент» (Студент) қандай да бір топта оқығандықтан, «Студент» (Студент) және «Группа» (Топ) нысандарының арасында «учится» (оқиды) байланысы болады;

- студенттердің біреуі топ басшысы болғандықтан «Студент» (Студент) және «Группа» (Топ) арасында екінші  «руководит» (басқарады) байланысы болады.

График түрінде сұлбаларда нысандар (маңыздар) тіктөрбұрышта көрсетіледі, ал байланыстар ромбта, 8 суретті қараңыздар.

8 сурет

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

Байланыстар жиыны (relationship set) – маңыздар арасындағы қатынас. Келесідей байланыс дәрежелері болуы мүмкін:

а)  бірдің-бірге (белгіленуі 1:1). Бұл бір міндеттегі нысанға тек бір міндеттегі нысан ғана сәйкес екенін білдіреді. «Студент» (Студент) және «Группа» (Топ) арасындағы «руководит» (басқарады) байланысы осындай, шындығында да бір староста тек бір ғана топты басқара алады.

б) бірдің-көпке (1:К). Бұл жағдайда бір міндеттегі нысанға басқа міндеттегі бірнеше нысан аәйкес келеді. «Студент» (Студент) және «Группа» (Топ) арасындағы «учится» (оқиды) байланысы осындай. Әрбір топта бірнеше студент оқуы мүмкін, ал студент тек бір топта ғана оқи алады. Мұндай түрдегі байланыс 8 суретте келтірілген.

в)  Көптің-бірге (К:1). 1:К байланысына ұқсас.

г)  Көптің-көпке (К:К). Бұл жағдайда нысандардың әрбіреуіне басқа нысанның бірнеше данасы сәйкес келуі мүмкін.

Жобалау кезеңдері

МҚ жобалау кезінде оның мақсаттарын және оған қойылатын талаптарды анықтау қажет. Нысандар типі бойынша және арасындағы байланыстар бойынша топталады (студент-сессия, оқытушы-пән және т.б.). Бұл кезеңнің соңында "маңыз-байланыс" үлгісі түріндегі концептуалды үлгіні аламыз.

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

1) Концептуалды жобалау – мәліметтерге қойылатын талаптарды жинау, талдау және өңдеу. Ол үшін келесі шаралар орындалады:

- пәндік облысты зерттеу, оның ақпараттық құрылысын оқу;

- ақпараттық нысандар мен олардың арасындағы байланыспен сипатталатын, қолданушыға қажетті мәлімет фрагменттерін анықтау;

- барлық ақпараттан үлгі құрастыру және біріктіру.

2) Нысандарды нормалау. Нысандарды нормалау кестелерді нормалау процесіне ұқсас және алдында қарастырылып өткен.  

Мәліметтер қорының жобасын құру

Келесі мәселені қарастырайық: факультет студенттерінің емтихан тапсыру және рубеждік бақылау тапсыру нәтижелері бойынша ақпараттарды жинау және өңдеуден өткізу керек болсын. Мәліметтер қоры келесіні қамтамасыз етуі керек:

- студенттер тобының нәтижелер жайлы ақпараттық тізімін құру;

- оқытушылардың жұмысын сағат бойынша санау;

- оқытушы және студенттер жайлы қызметтік ақпаратты алу.

Бұл мәселені шешу үшін инфологиялық үлгіні құрудың кезеңдерін (ER-диаграмма) және реляциялық сұлбасын келтірейік.

Студент нысаны міндетті түрде болуы керек екені анық, және онда нақты бір студентті сипаттайтын аргументтер болуы керек: «Код студента (РК)» (Студенттің коды (РК)), «Ф.И.О. студента» (Студенттің аты-жөні), «Пол» (Жынысы), «Телефон студента» (Студенттің телефоны) және сервистік өрістер «Группа» (Топ), «Староста» (Топ басшы) және «Ф.И.О. эдвайзера» (Топ жетекшінің аты-жөні). Бір аттас студенттер болуы мүмкін болғандықтан «Код студента» (Студенттің коды) бірінші реттік кілті енгізілген.

Пәндік облысты талдау нәтижесі келесідей: қазіргі заманғы рубеждік баға және емтихандық бағаны қою тәжірибегесіне сәйкес  пәнді бірнеше атпен тау қажет. ТОЭ орнына ТОЭ дәріс, ТОЭ машықтану, ТОЭ зертханалық деп алу қажет.

Сессия кезінде тапсырылатын пәндр тізімі Оқу жоспары нысанымен анықталады. Онда нақты бір пәнді сипаттайтын кілттік аргументтер болуы керек (ТОЭдәріс, ТОЭ зертханалық және ТОЭ машықтану және т.б.), есеп беру түрі (рубеждік бақылау және емтихан), оқуға жоспарланған сағаттар саны, оқытушы аты-жөні және оқытушының сервистік аргументтері: кафедрасы, кафедра телефоны және т.б. Оқытушы жұмысының көлемін сағат түрінде бақылау үшін «Поток» (Лек) және «Количество студентов» (Студенттер саны) өрістерін қосайық. Лектегі және топтағы студенттер саны арқылы  оқытушының ЕСЖ, курстық жұмыс, емтиханға кетірген сағаттары анықталады. Бірақ «Дисциплина» (Пән) аргументі кілттік бола алмайды. Бір пәнді әртүрлі лектерге бір немесе бірнеше оқытушы жүргізе алады, мысалы «ТОЭ зер.» БЭ-09-1, БЭ-09-2 және БЭ-09-3 топтарында бір оқытушы жүргізеді. Бұл аргумент мәндері қайталанады, сондықтан «Код дисциплины» (Пәннің коды) кілттік аргументін енгіземіз.

Студенттер қалай оқитынын бақылау үшін әрбір пән бойынша қай күні,қай емтиханнан немесе рубеждік бақылаудан студенттің қандай баға алғанын ескеретін нысан болуы керек. Емтихан қабылдаған оқытушының аты-жөнін көрсетіп қажет емес, ол толығымен  «Учебный план» (Оқу жоспары) нысанының «Код дисциплины» (Пәннің коды) кілттік өрісімен анықталады. Бұлнысанды «Ведомость» (Ақпарат тізімі) деп атайық. Онда құрама кілттің ролінде болатын «Код студента» (Студенттің коды), «Код дисциплины» (Пәннің коды) аргументтері және кілттік емес өрістер «Оценка» (Баға) және «Дата сдачи» (Тапсыру күні) болуы керек.

Нысандар арасында байланыс табу керек. Сұлбада нысандар тіктөртбұрыштарда, ал ромбтарда көрсетіледі. Барлық нысандар және олардың байланыстары 9-суретте көрсетілген.

 

9 сурет – Бастапқы ER-диаграмма

 

Барлық нысандарды аттас кестелерге түрлендіреміз, ал олардың аргументтерін аттас өрістерге ауыстырамыз,  9 суретті қараңыздар.

МҚ-нда потенциалды мәліметтердің қарама-қайшылығы және артықшылығы болмас үшін  барлық кестелер бірінші, екінші және үшінші нормалы формада болуы керек (1НФ, 2НФ және 3НФ).

Барлық құрылған кестелер 1НФ-да, өйткені өрістегі барлық мәліметтер атоммарлы және оларды оңайлату мүмкін емес.

Барлық құрылған кестелер 2НФ-да, өйткені барлық өрістер біріші реттік кілтке тәуелді.

 

10 сурет – Маңыздарды қатына түрінде көрсету

 

Кестелер 3НФ-да емес, өйткені кілттік емес өрістерге тәуелді өрістер бар (бағыттармен көрсетілген). Сондықтан кестелерді декомпозиция көмегімен 3НФ-ға келтіру керек.

«Студенты» (Студенттер) кестесін қарайық. Онда «Староста» (Топ басшы) және «Эдвайзер» (Топ жетекші) өрістері кілттік емес «Группа» (Топ) өрісіне тәуелді. Сондықтан кестені нормалау керек. Осы тәуелділікті 2 нұсқаға сәйкес жоямыз, 11- суретті қараңыздар.

 

11 сурет «Студенты» (Студенттер)  кестесін декомпозициялау нәтижесі

 

«Учебный план» (Оқу жоспары) кестесінде тура сондай жағдай, 12 суретті қараңыздар: «Телефон кафедры» (Кафедра телефоны) кілттік емес «Кафедра» (Кафедра)  өрісіне тәуелді, «Количество студентов» (Студенттер саны) кілттік емес «Поток» (Лек) өрісіне тәуелді, «Телефон преподавателя» (Оқытушы телефоны) және «Должность» (Қызметі) өрістері кілттік емес «Ф.И.О. преподавателя» (Оқытушының аты-жөні) өрісіне тәуелді, «Форма отчетности» (Есеп беру түрі) және «Количество часов» (Сағат саны) өрістері «Дисциплина» (Пән) өрісіне тәуелді. Алдыңғы жағдайға сәйкес «Учебный план» (Оқу жоспары) кестесін бес проекцияға бөлеміз: «Учебный план» (Оқу жоспары), «Дисциплины» (Пәндер), «Потоки» (Лектер), «Кафедры» (Кафедралар), «Преподаватели» (Оқытушылар), оған қоса «Кафедры» (Кафедралар), «Преподаватели» (Оқытушылар) кестелеріне сервистік өрістер қосылған. Олар тек бірінші реттік кілтке тәуелді. «Кафедры» (Кафедралар) кестесіне «Ф.И.О.  заведующего» (Меңгерушінің аты-жөні) және «Аудитория» (Бөлме №) өрістері енгізілген. «Преподаватели» (Оқытушылар) кестесіне «Адрес» (Мекен-жай) өрісі, және аттас мәліметтерге байланысты  «Код преподавателя» (Оқытушы коды) кілттік өрісі енгізілген. «Учебный план» (Оқу жоспары) кестесінде 5-суретте көрсетілген өрістер қалады.

 

12 сурет «Учебный план» (Оқу жоспары) кестесін декомпозициялау нәтижесі

 

«Ведомость» (Ақпарат тізімі) кестесін қарастырайық,  3-суретті қараңыздар. «Оценка» (Баға) және «Дата» (Күн) өрістері «Ф.И.О. студента» (Студенттің аты-жөні) және «Дисциплина» (Пән) құрама кілтіне тәуелді. Баға нақты бір студентке нақты бір пән бойынша оқу жоспарында анықталған күні қойылады. Оқытушы аты-жөнін емтиханның ақпараттық тізіміне сұраныс нәтижесі бойынша қалаған кезде қоюға болады. Сондықтан, «Ведомость» (Ақпарат тізімі) кестесі 3НФ келтірілген. Енді барлық кестелер 3НФ келтірілген. Алынған МҚ-ның сұлбасы 13-суретте көрсетілген.

Құрылған МҚ-нда артықшылық және қарама-қайшылықтар жоқ, өйткенң әрбір факт өз орнында тек бір-ақ рет көрсетілген. MS Access-те кестелер арасындағы байланыс типін көрсеткенде байланыстың барлық қасиеттерін көрсете аламыз: мәліметтер бүтіндігін қамтамасыз ету, байланысқан өрістерді каскадты жаңарту және байланысқан жазбаларды каскадты жою. Бұл орнатылғандар мәліметтерді енгізуді тездетеді және автоматты түрде МҚ-ның бүтіндігіне кепілдік береді.

 

13 сурет – МҚ-ның  толық сұлбасы

 

Өзіндік оқуға арналған материал

Мәліметтер типін анықтау

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

Мысалы, егер өрісте пайыз түріндегі мәліметтер сақталса, онда сандық тип беру керек және мүмкін мәндер диапазонын көрсету керек  0-ден 100-ге дейін.

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

Келесі қадам келісім бойынша мәндерді өрістерде орнату. Келісім  бойынша мән нәтижесінде өзі көрсетілген өріске енгізіледі. Мысалы, Жиынтық ведомость кестесінің Тапсыру күні өрісіне мән енгізгенде автоматты түрде күнді енгізуге болады.

Мәліметтер типін және шектеулерді енгізу мысалы 20 кестеде көрсетілген.

 

20 кесте – «Сводная ведомость» (Жиынтық ақпарат тізімі)

Өріс аты

Кілт

Мәліметтер типі

Шектеулер

Студенттің коды

 

РК

Санағыш

Кілттік өрістердің мәндері ерекше, сәйкестіктер болмауы керек. Мәні бос болмауы керек

Пәннің коды

Сандық

Баға

 

Сандық

Мәні бос болмауы керек және 0-ден 9-ға дейінгі интервалда болуы керек

Тапсыру күні

 

Күн/уақыт

Мәні бос болмауы керек, келісім бойынша ағымдағы күн

 

Қалған кестелерді өздігінше құру керек.

MS Access программасында көрсетілген шектеулер өріс қасиеттеріне енгізіледі: «Значение по умолчанию» (Үнсіз мәні), «Условие на значение» (Шартты мән), «Обязательное поле» (Міндетті өріс), «Пустые строки» (Бос жол), «Индексированное поле (ключ)» (Индекстік (кілттік) өріс), «Подстановка» (Тосу).

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

Access-тегі өрістердің қасиетттері:

«Имя» (Аты) – мәліметтер қорын басқару үшін.

«Подпись» (Қолы) - өріс атауы аса көрнекті болу үшін қолданады. Ол экранға немесе қағазға өріс атының орнына шығады.

«Значение по умолчанию» (Үнсіз мәні) – жиі кездесетін мәліметтерді автоматты түрде шығару үшін қолданады. Мысалы: жазулар немесе күндер.

 «Условие на значение» (Шартты мән) – өрістің рұқсат етілген мәліметтер диапазонын көрсетеді. Мысалы: жалақының диапазоны.

 «Обязательное поле» (Міндетті өріс) – бұл өрісте барлық ұяшықтарды міндетті түрде толтыру керек деген талап қоюға болады.

«Пустые строки» (Бос жол) – бұл өрісте бос жол қалдыруға немесе өрістің барлық жолын толтыру керек деген талап қоюға болады: Мысалы: Телефон өрісін бос қалдырып ал Группа өрісін міндетті түрде толтыру керек деген рұқсат беруге болады.

«Индексированное (ключевое) поле» (Индекстік (кілттік) өріс) – бірінші реттік кілттік өрісте мәндердің қайталануына тиым салынады, ал құрама кілттің бөлек өріс мәндері қайталануы мүмкін, бірақ бүкіл кілттің қайталануына рұқсат берілмейді.

«Подстановка» (Тосу) – өрісті белгілі бір мәліметтер тізімінен немесе кестеден алынған тізімнен толтыру үшін қызмет етеді.

Төменде өріс қасиеттері көрсетілген кестеге мысал келтірілген.

 

21 кесте – Өріс  қасиеттері көрсетілген «Студенты» (Студенттер) кестесі.

Өріс аты

Студент коды

Студенттің аты-жөні

Топ

Жынысы

Шәкірт ақы

Қолы

 

 

 

 

 

Мәлімет түрі

Счетчик

Текстовый

Текстовый

Текстовый

Денежный

Үнсіз мәні

 

 

БЭ-09-

 

 

Шартты мән

 

 

 

 

>=0 And <=15000

Міндетті өріс

 

Иә

Иә

 

Иә

Жоқ

Бос жол

 

Жоқ

Жоқ

Жоқ

 

Кілттік өріс

Иә (түйісу рұқсат етілмейді)

Жоқ

Жоқ

Жоқ

Жоқ

Тосу

 

 

 

Ер, Әйел тізімнен

 

 

Таратылған мәліметтер қоры

Тарихта бірінші болып (ДК шыққанға дейін) мәліметтерді көрсетідің таратылған үлгісі құрылған болатын, ол терминалдарға (дисплей) қосылған үлкен универсалды ЭЕМ-да іске асырылатын. Мәліметтерді басқару және қолданушымен өзара әрекеттесуі бір программаға біріктірілген еді, ал дисплейге орталық компьютерде құрылған «сурет» қана берілетін еді.

Дербес компьютерлер (ДК) және локалдық желілер пайда болысымен, алыстағы мәліметтер қорына қол жеткізудің жаңа үлгілері шықты. Бұл кезде компьютерлердің бірі файлдық сервер болады, ал компьютер – қажеткерлерде МҚБЖ және қолданбалы программа қойылған қосымшалар орындалады. Мұндай архитектурада кемшіліктер бар – жоғары желілік трафик, өйткені барлық мәліметтер қорын әрбір клиенттік компьютерге орнату керек.

Қажеткер-сервер сәулеті.

Әдетте ақпараттық жүйенің құрамына кіретін компьютерлер және программалар тең құқықты емес. Олардың кейбіреуінде ресурстар бар, ал басқалар сол ресурстарға сұраныс жасай алады. Ресурсты басқаратын компьютер (немесе программаны) осы ресурс сервері деп атайды (файл-сервер, мәліметтер қорының сервері, есептік сервер).

Сонымен, алыстағы мәліметтер қорымен қатынасты ұйымдастырудың барлық әдістері «қажеткер-сервер» үлгісіне негізделген. Яғни, әрбір қосымша екі бөлікке бөлінген:

- қажеткер, ол қолданушы интерфейсін ұйымдастыруға жауап береді;

- сервер, ол мәліметтерді сақтайды, сұраныстарды өңдейді және олардың нәтижесін қажеткерге жібереді.

Қосымшаның әрбір бөлігі бөлек компьютерде жұмыс істейді деп алынған, яғни Мқ-ын сақтайтын оқшауланған серверге локалды желі көмегімен қолданушының дербес компьютерлері жалғанған (қажеткерлер). МҚБЖ-нің ядросы серверде жұмыс істейді, қажеткерлермен мәлімет алмасу SQL тілінің көмегімен жүреді. Бұл есептік ортаның кең тараған сұлбасы.

Мұндай жол  файлдық сервермен салыстырғанда желіні жүктеуге әкелмейді. Бірақ желілік трафик жоғары болып қала береді.

Бүгінгі күнде  таратылған қосымша үлгісін қолдану тенденциясы бар. Мұндай қосымшалардың ерекшелігі қосымшаны екі логикалық бөлікке бөлуде болып тұр. Олардың әрқайсысы өзінің бөлек компьютерінде орындалады. Қосымшаның ерекшеленген бөліктері мәлімет алмасып, бір-бірімен өзара қатынаста болады. Бұл жағдайда «клиент-сервер» (қажеткер-сервер) сәулеті үш буындық болады, 14-суретті қараңыздар.

 

14 сурет – Қажеткер-сервер сәулеті

 

SQL тілі  

Қолданушы МҚ-нан мәліметтер алу үшін SQL тілінің көмегімен сұраныс құрады. Сұраныс нәтижесі қолданушының  компьютер-клиентінде көрсетіледі.

SQL тілі мәліметтерді тек басқаруға мүмкіндік береді, өйткені онда  экрандық интерфейсті құру құралдары жоқ. Бұл интерфейсті құру үшін C, C++, Pascal тілдері және есептерге-негізделген xBase, Informix 4Gl, Progress тілдері қызмет етеді. Программаның соңғы мәтініне  SQL тілінің операторларын қосады, олар программа орындалған кезде МҚ-ның серверіне беріледі. Сервер мәліметтерді басқарады. SQL-сұраныстарды орындау нәтижесі қолданбалы программаға қайтып келеді (қажеткерге). Қажеткердің ары қарай жұмысы (мәліметтерді көрсету, ретке келтіру) қолданбалы программа арқылы жүреді. Қажеткерлер саны бір серверге 20-ға дейін жетуі мүмкін. Қажеткер қосымшасының МҚ-ның серверімен қатынасу сұлбасы 15 суретте көрсетілген.

15 сурет – Сервер-қажеткер сәулеті

Транзакциялар

 

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

МҚ-ның бүтіндік күйі SQL тілінің  бір командасын орындағанда да бұзылуы мүмкін.  Мысалы, фирма қызметкерлерінің жалақысын 20%-ға өсіру операциясы жүріп жатыр делік:

             UPDATE employers SET salary=salary*1.2

Мұндайда МҚБЖ-сі жаңартуға тиесілі барлық жазбаларды ретімен өңдейді СУБД, яғни жазбалардың қандай да бір бөлігі жаңа жазбалардан тұратын сәті болады, ал басқа бөлігі ескі жазбадан тұрады. Егер осы  сәтте жүйеде ақаулар болса, МҚ-ның бүтіндік күйі қалпына келмейді.

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

Транзакциялардың орындалуын бақылау әдісі ретінде журналда толтыру жүреді, онда МҚ-ндағы транзакциямен орындалатын барлық өзгерулер жазылады. Егер транзакция орындалуы кезінде жүйеде ақау болса, онда транзакция артқа кетеді – журналдан МҚ-ның транзакция  басталғанға дейінгі күйі қайта орнына келеді.


Әдебиеттер тізімі
 
1. О. Голицына, Н. Максимов, И. Попов. Базы данных. Учебное пособие. – М.: «Форум», 2006.
2. С. Робинсон. Microsoft Access 2000: учебный курс. – СПБ: Питер, 2001.
3. Н. Вирт. Алгоритмы и структуры данных. – М.: Мир, 1989.
4. Дейт К.Дж. Введение в системы баз данных. / Перевод с англ. 7-е издание. М.: Вильямс, 2001.
5. Ю. Шафрин.  Курс компьютерной технологии. Учебное пособие. – М.: АБФ, 1998.
6. MS Access. Меню справка – Примеры баз данных – Учебная база данных БОРЕЙ.
 
 

Мазмұны 

1 дәріс. Мәліметтер қорының реляциялық үлгісі туралы негізгі түсініктер

3

2 дәріс. Мәліметтерді жобалау кезеңдері. Нормалау

7

3 дәріс. Нормалау процедурасы

10

4 дәріс. МҚ-ын инфологиялық үлгі көмегімен жобалау

16

Өзіндік оқуға арналған материал

22

 

                                                                      2010ж. жиынтық жоспары,  реті  228