5.2. Деректердің берілуі
?алып?а келтіру (нормалау). Д?-ны жобалау кезінде арты? деректерді барынша минималдау керек. Арты? дерек а?паратк?леміні? артуына, к?шірме а?парат енгізу барысында туындайтын ?ателіктерге ?кеп со?тырады.
Атрибуттарды та?дау барысында басты критерий ма?сат?а с?йкес критерийге, я?ни Д?-ны ??ру ма?сатына, оны? келесі ?олданыста?ы ?асиеттеріні? талаптарына с?йкестігі болып табылады. Мысалы, кітапхананы? кітап ?орына байланысты ??рыл?ан Д?-да кітапты? салма?ы, баспаны? мекенжайы, кітапты? шы?арыл?ан жері, авторды? ?мір с?ру уа?ыты секілді т.б. сипаттамаларын енгізуді? ?ажеттілігі жо?.
Жобалау кезіндегі ?ателіктер ?те ?лкен ?иынды?тар?а ?кеп со?тырады, себебі егер Д? ?лкен болса, онда мы?да?ан жазбалар са?талады. ?ажеттілігі жо? а?парат, оларды? ?арама-?арсылы?ы, т?тасты?ыны? жо?алуы, я?ни деректер арасында?ы байланысты? жо?алуы ?ате жобалауды? ?серінен туындайды. Н?тижесінде Д? ж?мыс?а ?абілетсіз ж?не ?ымбат ?згерістерді талап етеді.
1970 жылы Е. Кодд реляциялы? Д?-ны? теориясын жетілдірді. Жо?арыда?ы Д?-ны жобалау кезінде туындайтын ?ателіктерді? алдын алу ?шін Д?-ны жобалау технологиясы ?сынылды. Б?л технология бойынша Д?-да?ы кестелер ?шінші ?алыпты форма?а келтіріледі. Осы?ан дейін Д?-?а енгізілетін деректер бірінші ?алыпты формада к?рсетіліп, кейін екінші ?алыпты форма?а т?рленеді. Б?л ?рдіс деректерді? ?алып?а келуі деп аталады. Деректерді ?алып?а келтіруді мысал ретінде студенттерді? о?итын курсы мен о?ытушыны та?дауын ?арастырайы?.
Студенттерді? та?да?ан курстары мен о?ытушылары туралы деректен т?ратын Д?-ны ??ру керек. Алдымен студентті? аты-ж?ні, оны? ту?ан к?ні, студент жататын топты? н?мірі, о?ытушыны? аты-ж?ні, курсты та?дау уа?ытынан т?ратын кесте (5.1-кесте).
5.1-кесте
«Та?дау бойынша курстар» Д?

Осындай т?рде ?йымдастырыл?ан деректерді? кемшіліктері аны? к?рсетілуде. Біріншіден, арты? дерек к?п екендігі, я?ни бір студентті? ту?ан к?ні, бір курстан беретін о?ытушыны? аты-ж?ні ?айталануда. М?ндай Д?-да д?йексіз, ?айшы келетін деректер кездестіріп ?алуды? ы?тималдылы?ы ?лкен. Мысалы, 102-топта о?ытушы ?згерсе, онда Д?-ны толы? ?арастырып, осы курс?а ?атысты жазбаларды? б?ріне ?згерістер енгізу керек. Осы?ан орай бір жазбаны ?ткізіп алу ы?тималдылы?ы ?лкен. ?рбір жа?а курсты енгізген сайын студенттер ?зіні? ту?ан к?нін, топ н?мірін, о?ытушыны? аты-ж?нін енгізіп отыру ?ажет, я?ни Д?-да енгізіліп ?ой?ан а?парат.
Біз бірінші ?алыпты формада?ы кестені аламыз. Айтыл?ан кемшіліктерді жою ?шін ?рі ?арай ?алып?а келтіру керек. Осы кестені? ??рылымы келесі т?рде келтіріледі:
ТА?ДАУ БОЙЫНША КУРСТАР (АТЫ-Ж?НІ, ТУ?АН К?НІ, ТОП, О?ЫТУШЫ, КУРСТЫ ТА?ДАУ УА?ЫТЫ)
Жазбалар кілтін орнату керек. М?нда ??рама кілт, ол ?зінде екі ?рісті ?амтиды: АТЫ-Ж?НІ ж?не ТА?ДАУ УА?ЫТЫ. ?рбір жазба – студент та?да?ан белгілі бір курс жайлы а?парат. Егер студент бір жолда тек бір та?дау жасай алатынын ескерсек, онда ?рт?рлі жазбаларда екі ?ріс: студентті? аты-ж?ні ж?не курсты та?дау уа?ыты жайлы а?парат ?айталанбайды.
Екінші ?алыпты форманы? аны?тамасы бойынша барлы? кілттік емес ?рістер функционалды? жа?ынан толы? кілтке т?уелді болу керек. Б?л кестеде тек КУРС ?рісі студентті? аты-ж?ні мен та?дау уа?ыты ар?ылы аны?талады. ?ал?ан ?рістер студентті? аты-ж?ніне ?ана т?уелді, я?ни та?дау уа?ытына т?уелсіз болып келеді. Екінші ?алыпты форма?а т?рлендіру ?шін кестені келесідей екіге б?лу ?ажет:
ТА?ДАУ (АТЫ-Ж?НІ, ТА?ДАУ УА?ЫТЫ, КУРС)
СТУДЕНТ (АТЫ-Ж?НІ, ТУ?АН К?НІ, О?ЫТУШЫ)
ТА?ДАУ?а байланысты екі ?рістен т?ратын ??рама кілт ?рекет етеді, ал СТУДЕНТке байланысты АТЫ-Ж?НІ кілттік ?ріс болып табылады.
Екінші к?з?араста ?тпелі т?уелділік бар. Ол келесі т?рде аны?талады:
О?ЫТУШЫ ?рісі студентті? аты-ж?німен ?тпелі ТОП ?рісімен аны?талады. Шынымен, барлы? о?ытушылар белгілі бір топ?а тіркеліп, осы топ?а кіретін студенттермен ж?мыс жасайды.
?шінші ретті ?алыпты форманы? аны?тамасына с?йкес ?тпелі т?уелділіктер орын алмау ?ажет. Осы?ан орай СТУДЕНТ ?арым-?атынасын екіге б?лу ар?ылы орындаймыз.
Н?тижесінде ?ш ?арым-?атынастан т?ратын Д?-ны аламыз:
ТА?ДАУ (АТЫ-Ж?НІ, ТА?ДАУ УА?ЫТЫ, КУРС)
СТУДЕНТ (АТЫ-Ж?НІ, ТУ?АН К?НІ, ТОП)
О?ЫТУШЫ (ТОП, О?ЫТУШЫ)
?шінші ?арым-?атынаста кілт ретінде топ н?мірі алынады, себебі ол ?айталана алмайды. О?ан ?оса о?ытушы бірден арты? топтарды о?ытуы м?мкін жа?дай туындайды. Алын?ан Д? ?шінші ретті ?алыпты форманы? талаптарына сай келеді: кестедегі кілттік емес ?рістер ?зіні? кілттеріне т?уелді, ?тпелі т?уелділік жо?.
??рыл?ан Д?-ны? та?ы бір ерекшелігі – осы ?ш ?арым-?атынасты? арасында орта? ?рістерді? бар болуы. ТА?ДАУ ж?не СТУДЕНТ ?арым-?атынастарыны? арасында орта? АТЫ-Ж?НІ ?ріс болып табылады. СТУДЕНТ пен О?ЫТУШЫ ?арым-?атынастарыны? арасында орта? ТОП ?рісі. Байланыс?ан кестелер арасында та?ы бір ??ым: байланыс типі. Байланыс типіні? 3 н?с?асы болады: «бірді? бірге», «бірді? к?пшілікке», «к?пшілікті? к?пшілікке». Бізді? мысалда байланыс?ан кестелер арасында?ы байланыс типі «бірді? к?пшілікке» сызбалы? т?рде келесідей к?рсетіледі:
Ма?ынасы келесідей: ?рбір о?ытушыда (?рбір топта) к?п студент бар; ?рбір студент о?ытушыны бірнеше рет та?дайды.
?арастырыл?ан мысалда ?алып?а келтіру процедурасы реляциялы? Д? теориясымен с?йкес келеді.
Деректер бір-бірімен логикалы? байланыста ж?не а?парат ?айталанбау ?шін деректерді егжей-тегжейлі талдау ?ажет.
Барлы? деректерді ?зіне ?атысты т?рлі объектілер арасында б?луге болады. Жо?арыда келтірілген мысалда КУРС ТА?ДАУ кестесі осы а?парат?а байланысты ?ш т?рлі емделушілер, д?рігерлер ж?не емделушілерді? д?рігерге баруы объектілерін к?руі керек. С?йкесінше, ?з арасында орта? ?рістермен байланыс?ан ж?не осы ?ш объекті типіне ?атысты атрибуттардан т?ратын ?ш кесте ??рылады.
Осылайша, болмыстар атрибуттар деп аталатын сипаттамалар?а ие. Атрибуттар ?зіндік ішкі ??рылымына ?арай ?арапайым немесе к?рделі болу м?мкін. ?арапайым атрибуттар ?арапайым деректер типімен беріледі.
Байланынсты? негізгі екі т?ріне мысал келтірейік:
1. Бірді? бірге 1:1 – бірінші кестені? бір атрибутына екінші кестені? тек бір атрибуты с?йкес келеді.
Мысалы: ?аза?стан азаматында тек бір жеке с?йкестендіру н?мері (ЖСН) ж?не с?йкесінше бір ЖСН-?а тек бір азамат тіркеле алады

2. Бірді? к?пшілікке 1:М – бірінші кестені? бір атрибуты екінші кестені? бірнеше атрибутына с?йкес келеді.
Мысалы: бір студент тек бір топта о?и алады, біра? бір топта бірнеше студент о?и алады.

Деректер сызбасы (ЕR-диаграмма – Еntitу-Rеlаtiоnshiр) а?паратты ??деу жылдамды?ын арттыру?а ж?не деректерді? т?тастылы?ын са?тау?а м?мкіндік береді. Деректер сызбасын ??ру барысында кестелерді? бір-бірімен байланысуына м?н берген ж?н, егер бір-бірімен байланыспа?ан кестелер кездессе, ??рылымды та?ы да ?арап шы??ан д?рыс. Егер сізде 1:1 ж?не 1:М байланыстарынан бас?а байланыстар ??рылса, б?л да ??рылымны? ?ате екендігін к?рсетеді. Егер бір ?ріске бірнеше рет байланыс жіберілсе, сізге кесте?ізді? ??рылымын та?ы ?арап шы??ан ж?н.
5.2-кестеде мысал ретінде ФАКУЛЬТЕТ деп аталатын Д?-ны? ??рылымы келтірілген.
5.2-кесте
«ФАКУЛЬТЕТ» Д?-ны? ??рылымы

Бес байланыс н?с?ар ар?ылы белгіленіп, ба?ыттал?ан м?ндерді байланыстырады: ?ОСЫЛУ ара?атынасы бір факультетте бірнеше кафедра бар болуын к?рсетеді; КІРУ ара?атынасы бір кафедрада студенттерді бірнеше маманды? бойынша бітіре алатынын к?рсетеді; Ж?МЫС ІСТЕЙДІ ара?атынасы бір кафедрада бірнеше о?ытушылар бар екендігін к?рсетеді; екі?шты н?с?ары бар ?ЙРЕТЕДІ ара?атынасы бір о?ытушы бірнеше топ?а саба? бере алатынын, ал бір топ бірнеше о?ытушыда о?и алатынын к?рсетеді; ?ЙРЕНУ ара?атынасы бір топ бірнеше студенттерден т?ратынын к?рсетеді.

5.1-сурет. «ФАКУЛЬТЕТ» Д?-ны? ЕR-диаграммасы
Жобала?ан Д?-ны? на?ты ?асиеттері болуы керек;
– т?тасты?. Деректер бір-біріне ?арама-?айшы болмау керек;
– ?айта ?алпына келтіре алуы. Ж?йені? программалары істен шы??ан кезде ?алпына келтіре алу м?мкіндігі;
– ?ауіпсіздік. Р??сат етілмеген ?ол жетімділік кезінде деректерді? ?ауіпсіздігі.
Д?-ны? тиімділігі оны? с?ратуды ??деуге кеткен уа?ыты мен жадыда алып жат?ан орнымен аны?талады.
А?паратты ??деуге кететін жылдамды?ты арттыру ?шін индексацияны ?олдану?а болады.
Индексация – деректі белгілі бір параметр бойынша с?рыптау.
Негізгі кілт – бірегей индекс. Бірде-бір жол екі бірдей негізгі кілтке ие бола алмайды. ?детте, негізгі кілттерді кестелерді бір-бірімен байланыстыру ?шін ?олданады. Берілген тапсырма бойынша логикалы? ж?не суррогатты кілттер ажыратылады.
Логикалы? негізгі кілт – б?л жазбаны таби?и жолмен аны?тайтын кілт. Мысал ретінде, ?Р азаматыны? ЖСН-і, жеке ку?лік н?мірі. Осы деректер бірегей, я?ни ЖСН ж?не жеке ку?лік н?мірлері ??сас екі ?Р азаматы жо?.
Суррогатты негізгі кілт – негізгі кілтпен ?амтамасыз етілетін таби?и кілт болма?ан жа?дайда ?олданылатын кілт. Б?л кілттерге автоматты белгілеу ?ояды.
Д?БЖ – пайдаланушылар?а Д?-ны аны?тау?а, ??ру?а, ?згертуге ж?не с?йемелдеуге м?мкіндік беретін, о?ан ?оса ?ор?а бас?арылатын ?олжетімділікті ж?зеге асыратын П?.
Д?БЖ-ны? функционалды? м?мкіндіктеріні? тізімі.
1. Дерек са?тауды бас?ару – а?паратты ?осу, кетіру ж?не жа?арту алу м?мкіндік. Дерекке ?олжетімділікті жылдамту ?шін Д? а?паратын сырт?ы жадыда са?тауды ?амтамасыздандыру.
2. Оперативті жадыны? буферін бас?ару – а?паратты ??деуді жылдамдату ?шін деректерді оперативті жады?а буферлеу.
3. Ж?йелік деректер каталогын бас?ару – оны деректер с?здігі деп те атайды. М?нда са?талатын а?параттарды? аты, типі ж?не к?лемі; ?олданушыларды? аты ж?не оларды? ?олжетімділігі; статистикалы? деректер са?талады.
4. Журналды бас?ару – журнал ?олданушылар?а ?олжетімсіз. Онда кез келген ?згерістер туралы дерек са?талады.
5. М?мілені бас?ару – т?тас болып есептелетін деректерге ж?ргізілетін операцияларды? реттілігі. Деректі ??деу барысында?ы бір этап істен шы?са, деректерді? бастап?ы ?алпына оралады.
6. ?ауіпсіздікті бас?ару – ?ауіпсіздік белгілі бір кестеге ???ы? Д?-да сол немесе бас?а кестелерге ?олжетімділік ж?не м?мкіндіктер ???ы?ын орнату есебімен ?ауіпсіздікке жетеді. Мысалы, кейбіреуге сол кестедегі ?арау?а, кейбіреуге кестедегі деректерді ??деуге р??сат етіледі, ал администратор Д?-ны? ??рылымын ?згерте алады.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.