Хелпикс

Главная

Контакты

Случайная статья





3.2 Деректер қорын жобалау кезеңдері.



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

1. Деректердің реляциялық моделі  -пә ндік саладағ ы деректерді кө рсетудің ың ғ айлы ә дісі.

2. SQL тілі- осындай деректерді манипуляциялаудың ә мбебап тә сілі.

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

Осы бө лімде реляциялық қ атынасты жобалаудың " жақ сы" немесе " дұ рыс" тә сілдері қ арастырылады. Алғ ашқ ыда біз, деректер моделінің " жақ сысы" немесе " дұ рысын" талқ ылаймыз. Содан кейін бірінші, екінші, ү шінші қ алыпты форма қ атынас тү сінігі енгізіледі (1Қ НФ, 2Қ Ф, 3Қ Ф) жә не кө рсетілген " жақ сысы" ү шінші қ алыпты форма болып табылады.

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

· Сол пә ндік сала

· Пә ндік сала моделі

· Деректердің логикалық моделі

· Деректердің физикалық моделі

· Негізінен деректер қ оры жә не қ осымша

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

Пә ндік сала модел. Пә ндік сала моделі – бұ л біздің пә ндік сала жө ніндегі біліміміз. Білім сарапшы маман миындағ ы қ алыпты емес білім тү рінде болады, сонымен қ атар қ андай бір қ ұ ралдар кө мегімен қ алыпты тү рде кө рсетіледі. Мұ ндай қ ұ ралдар ретінде пә ндік саланың мә тіндік сипаттамасы, қ ызметкерлердің міндеттері, компаниядағ ы істі жү ргізу ережесі жә не т. б болады. Пә ндік салада мә тіндік тә сілді кө рсету моделі эффектілі емес. Деректер қ орын қ ұ ру кезінде ақ параттылығ ы жә не пайдалысы арнайы графикалық нотация кө мегімен орындалағ ан пә ндік сала сипаттамасы. Пә ндік саланы сипаттаудың кө птеген ә дістері бар. Солардың ішінде ең ә йгілі ә дістер SADT қ ұ рылымдық талдауы жә не оғ ан негізделген IDEF0, Гейн-Сарсон деректер ағ ымының диаграммасы, UML объектілі-бағ дарланағ ан талдау ә дісі жә не т. б. Пә ндік сала моделі осы процесте қ олданылатын пә ндік сала мен деректерде болып жатқ ан процестерді сипататйды. Келешекте қ осымша қ ұ ру пә ндік саланың дұ рыс модельденуімен байланысты.

Деректердің логикалық моделі. Келесі тө менгі дең гейде пә ндік саланың логикалық моделі тұ р. Логикалық модель пә ндік сала тү сінігін сипаттайды, олардың байланысы, сол сияқ ты пә ндік сала деректеріне шектеу қ ояды. Тү сінік мысалдары  - " қ ызметкер", " бө лім", " жоба", " тө лем ақ ы". Тү сінік арасындағ ы ө зара байланыс мысалы - " қ ызметкер тура бір бө лімде тіркеледі ", " қ ызметкер бірнеше жоба орындай алады", " жобамен бірнеше қ ызметкер жұ мыс істей алады". Шектеу мысалдары - " қ ызметкерлердің жасы 16 жастан кіші жә не 60 жастан ү лкен болмауы керек ".

Деректердің логикалық моделі болашақ тағ ы деректер қ орының алғ ашқ ы прототипі болып табылады. Логикалық модель ақ параттық бірлік терминінде нақ ты ДҚ БЖ байланыссыз тұ рғ ызылады. Сонымен бірге деректердің логикалық моделі деректердің реляциялық модель қ ұ ралдарымен кө рінуі міндетті емес. Осы кезде деректердің логикалық моделін қ ұ рудың негізгі қ ұ ралы ER-диаграмм (Entity-Relationship,  мә н-байланыс диаграммасы) ә ртү рлі варианттары болып табылады. Сол бір ER-модельді деректердің реляциялық моделі сияқ ты, иерархиялық жә не желілік ДҚ БЖ ү шін деректер моделі сияқ ты немесе деректердің постреляциялық моделі сияқ ты тү рлендіруге болады. Бірақ біз реляциялық ДҚ БЖ қ арастырып отырғ андық тан, онда біз ү шін деректердің логикалық моделі деректердің реляциялық моделі терминінде қ алыптастырылады деп санауғ а болады. Алдың ғ ы дең гейде пә ндік сала моделін қ ұ ру кезінде, кейбір шектеулерді анық тайды, осы шектеулер аймағ ында ә ртү рлі шешіміер қ абылдауғ а болады. Мысалы, қ ойма есебінің пә ндік сала моделінде содержит понятия " қ ойма", " накладной", " тауар" тү сініктер бар. Тиісті реляциялық модельді қ ұ ру кезінде бұ л терминдер міндетті тү рде қ олдануы керек, бірақ мұ ндай таратудың ә ртү рлі ә дістері кө п – бір қ атынас қ ұ руғ а болады, онда атрибуттар ретінде " қ ойма", " накладной", " тауар" қ атыса алады. Сол сияқ ты ә рбір тү сінікке ү ш жеке қ атынас қ ұ руғ а болады. Деректердің логикалық моделін қ ұ ру кезінде сұ рақ тар туады: қ атынастар дұ рыс жобаланғ ан ба? Олар пә ндік сала моделін дұ рыс кескіндейме, сонымен қ атар сол пә ндік саланы?

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

Пә ндік саланың деректер қ орының адекваттылығ ы.

Деректер қ оры пә ндік саланы адекватты тү рде кескіндеу керек. Бұ л келесі шарттар орындалу керектігін білдіреді:

1. Ә р уақ ыт сайын деректер қ оры кү йі пә ндік сала кү йіне сә йкес келуі керек.

2. Пә ндік сала кү йінің ө згеруі деректер қ оры кү йінің тиісті ө згерісіне ә кеп соғ ады

3. Пә ндік сала моделінде кескінделген пә ндік саланың шектелуі, қ андай бір жолмен деректер қ орында ескерілуі жә не кескінделуі керек.

Деректер қ орының қ ұ рылу жең ілдігі жә не қ арастырылуы.

Негізінен кез келген деректер қ оры, тіпті қ арапайымнан басқ асы, сақ талынатын процедура мен триггерлер тү ріндегі программалық кодтың қ андай да бір санынан тұ рады.

Сақ талынатын процедуралар– бұ л компиляцияланғ ан тү рдегі деректер қ орында тікелей сақ талынатын процедуралар мен функциялар, жә не олар деректер қ оры мен жұ мыс істейтін пайдаланушы немесе қ осымшамен жү ктелінеді. Сақ талынатын процедуралар кө бінесе арнайы процедуралы кең ейтілген SQL тілінде жазылады, (мысалы, ORACLE ү шін PL/SQL немесе MS SQL Server ү шін Transact-SQL), немесе кейбір ә мбебап программалау тілінде, мысалы, C++, қ осылудың арнайы ережелеріне сә йкес SQL операторының кодына қ осылады. Сақ талынатын процедуралардың жалпы бекітілімі – пә ндік саланың бизнес-процестерін тарату.

Триггерлер – бұ л сақ талынатын процедуралар деректер қ орының жұ мысы кезінде болатын кейбір кү йлермен байланысты. Мұ ндай кү йлер ретінде кесте жолын қ оятын, жаң артатын жә не жоятын операциялар тұ рады. Егер деректер қ орында кейбір триггер анық талса, онда осы триггер байланысқ ан кү й пайда болғ ан кезде автоматты тү рде іске қ осылады. Триггер пайдаланушылардың біреуі кү йді қ андай тә сілмен инициализация жасағ анына қ арамастан іске қ осылады. Сонымен, триггердің жалпы қ ызметі – деректер қ орын толығ ымен автоматты тү рде ұ стау. Триггерлер қ арапайым болуы мү мкін, мысалы сілтеме тұ тастығ ын ұ стайтын, пә ндік саланың қ андай да бір кү рделі шектеуін тарататын немесе кейбір кү йлер болғ ан кездегі крделі ә рекеттер. Мысалы, накладнойғ а жаң а тауарды қ ою операциясы триггермен байланысты, ол келесі ә рекеттерді орындайды – тауардың қ ажетті саны бар ма соны тексереді, тауардың қ ажетті саны болғ ан кезде оны накладнойғ а қ осады жә не қ оймадағ ы тауар саны жө ніндегі деректі азайтады, тауар жоқ болса, онда оны жеткізу жө ніндегі сұ ранысты жасайды жә не сол мезетте жеткізушіге электронды пошта арқ ылы сұ раныс жасайды.

Деректерді жаң арту операциясының жылдамдығ ы (қ ою, жаң арту, жою).

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

Деректер қ орының кү йін ө згертетін негізгі операциялар жазбаларды қ ою, жаң арту жә не жою операциялары. Тұ рақ ты ө згертуді талап ететін деректер қ орындағ ы (қ оймадағ ы есеп, билеттерді сату жү йесі жә не т. б. ) ө німділік қ ою, жаң арту жә не жою аз ғ ана операцияларының ү лкен кө лемде орындалу жылдамдығ ымен анық талынады. Кестеге жазба қ ою операциясын қ арастырамыз. Жазбаны қ ою берілген кесте ү шін белгіленген, жадының бір бос бетінде жү ргізіледі. ДҚ БЖ бос бет жө нінде жә не орналасу жө ніндегі ақ парат тұ рақ ты тү рде сақ талынады. Егер кесте ү шін индекс қ ұ рылмаса, онда қ ою операциясы кесте ө лшеміне жә не кесте атрибут санына тә уелсіз, бірдей жылдамдық пен орындалады. Егер кестеде индекс болса, онда жазбаны қ ою операциясын орындалу кезінде индекстер қ айта тұ рығ ызылу қ ажет. Соынмен қ атар, қ ою операциясының орындалу жылдамдығ ы кестедегі индекс санының кө бею кезінде азаяды жә не кестедегі жол санына тә уелсіз.

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

Деректерді таң дау операциясының жылдамдығ ы. Деректер қ орының қ ызметттерінің бірі – пайдаланушығ а ақ парат ұ сыну. Ақ парат реляциялық деректер қ орынан SQL – SELECT операторы кө мегімен алынады. SELECT операторы орындалу кезіндегі ө те бір қ ымбат операциялардың бірі кестені біріктіру операциясы. Сонымен, логикалық модельдеу кезінде қ аншалық ты ө зара байланысқ ан қ атынас қ ұ рылса, соншалық ты ық тималдық, сұ раныс орындалу кезінде бұ л қ атынастар бірігеді, жә не сол сияқ ты сұ раныс баяу орындалады. Енді қ атынас санының кө беюі егер сұ раныс бұ рыннан белгілі болса деректерді таң дау операциясының орындалуын жай жұ мыс істеуге ә келіп соғ ады.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.