Қозғалып отырған жайт статистика жайлы болғандықтан, мҧнда
транзакцияларды қатаң тҥрде топтамалау жəне əр ақау мен істен
шығудан кейін оларды нақты бҧрынғы қалпына келтіруді сақтау талап
етілмейді. (Әңгіме статистикалық ақпарат туралы болғандықтан, оның
бірнеше бетін жоғалту əдетте аса көлемді шығын болып есептелмейді.)
Сондықтан, мҥмкіншіліктері қосымшаның қажеттіліктеріне тиісті
деңгейде сəйкес келетін деректер қорының жҥйесін генерациялау
машығын дамытқан жөн. Қазіргі таңда коммерциялық нарықта мҧндай
генерациялау жҥйелері жоқ (мəселен, нақты бір қосымшаны жасау
барысында Oracle жҥйесінің сервері таңдалған болса, жҥйенің қандай
да бір ерекшеліктерінен бас тарта алмайсың).
13.3.
Ережелермен басқарылатын сҧраныстарды
оңтайландыру
Реляциялық ДҚБЖ-дегі сҧраныстарды оңтайландыру дегеніміз,
əдетте, сҧраныстың бастапқы көрінісі бойынша оны тҥрлендіру
арқылы сҧранысты орындаудың оңтайлы рəсімдік жоспарын жасап
шығаратын сҧранысты өңдеу тəсілі дегенді білдіреді.
Сҧраныстың бастапқы көрінісінің сəйкес тҥрлендірулері ДҚБЖ-нің
арнайы компоненті – оптимизатордың (оңтайландырғыш) көмегімен
орындалады, жəне ол өндіретін сҧранысты орындау жоспарының
оңтайлылығы субъективті сипатқа ие, себебі əзірлеуші оңтайлылық
критерийін оптимизаторға салып қойған.
Сҧраныстар оптимизаторларына қатысты басты мəселе – оларды
бағдарламалаудың қабылданған технологиясының жоқтығына келіп
тіреледі. Әдетте, оптимизатор – компилятордың өзге компоненттерімен
тығыс байланысқан, салыстырмалы тҥрде дербес рəсімдер жиынтығы
болып табылады. Осы себепті, оңтайландыру стратегияларын өзгерту
немесе оларды сапалы тҥрде кеңейту қиындықтар туғызады (жалпы
оңтайландыру мен сҧраныстарды оңтайландыру эмпирикалық тəртіп
болғандықтан, мҧны жасауға тура келеді, ал жақсы эмпирикалық
алгоритмдер уақыт өте келе пайда бола бастайды).
Бҧл
мəселені
компиляторлар
өндірісінің
дəстҥрлі
технологияларының шекарасынан шықпайтын ымыралы шешімдердің
көмегімен шешеді. Жалпы алғанда, олардың барлығы компиляторлар
қҧрылымын автоматтандыруды қамтамасыз ететін қандай да бір
қҧралдарды қолдануға байланысты болады. Мəселен, ондай қҧралдар
DB2, Oracle, Informix жҥйелерінде болады.
13.4.
Динамикалық ақпарат пен
темпоралды сҧранысты қолдау
Дəстҥрлі реляциялық ДҚ пəн саласы моделінің бір сəттік кескінін
сақтайды. Қандай да бір объектінің t уақыт моментіндегі қандай да бір
өзгерісі сол объект кҥйінің одан бҧрынғы уақыт моментіне қайта
алмауына алып келеді. Шын мəнінде, озық ДҚБЖ-лерінің көптеген
тҥрлерінде объектінің бҧрынғы кҥйі өзгерістер журналында сақталады,
бірақ қолданушыларға оларды қолдануға рҧқсат жоқ.
Әрине, сақталатын қатынастарға айқын уақыт белгісін енгізіп, оның
мəнін қосымшалар деңгейінде сақтап тҧруға болады. Көп жағдайда
солай жасалады. Осылайша, SQL стандартында деректердің арнайы
типтері – date жəне time пайда болды. Алайда, мҧндай тəсілдің де
кемшіліктері болады: ДҚБЖ уақыттық қатынас өрісінің мағынасын
білмейді де, оның мəндерінің дҧрыстығын қадағалай алмайды. Осыған
байланысты, қосымша сақтаудың артық көлемдері пайда болады
(деректер объектісінің бҧрынғы кҥйі басты ДҚ-да да, өзгерістер
журналында да сақталады).
Темпоралды ДҚ деп аталатын зерттеу жəне əзірлеу саласының
жекелеген бағыты да бар. Бҧл салада деректерді модельдеу, сҧраныс
тілдері, сыртқы жадтағы деректерді ҧйымдастыру жəне т.б. мəселелер
зерттеледі. Темпоралды жҥйелердің басты тезисі t1 уақыт моментінде
жасалып, t2 уақыт моментінде жойылған кез келген деректер объектісі
ҥшін, ДҚ-да оның [t1,t2] уақыт интервалындағы барлық кҥйлері
сақтаулы (сондай-ақ, оларды қолданушылар да қолдана алады).
Темпоралды ДҚБЖ прототиптерінің қҧрылыстары мен зерттеулері,
əдетте, реляциялық жҥйе ҥстіндегі қондырма бөлім тҥріндегі
реляциялық ДҚБЖ негізінде жҥзеге асырылады.
Бақылау сұрақтары
1. Реляциялық деректер қорын жетілдірудің басты бағыттарын
атаңыз.
3. Деректер қоры жҥйесін генерациялау əдісінің мəні неде?
4. Сҧраныстарды оңтайландыру тəсілдерін атаңыз.
5. Темпоралды сҧраныстар қандай міндеттер ҥшін қолданылады?
ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ДҚБЖ
14.1.
Объектілі-бағытталған тәсіл туралы жалпы тҥсініктер
Объектілі-бағытталған деректер қоры бағыты 1980жылдардың
ортасында пайда болды. Бҧл бағыттың ең қарқынды дамыған көрінісі
соңғы жылдары айқын байқалуда.
ОБДҚ бағытының пайда болуы, ең алдымен, тəжірибе жҥзіндегі
қажеттіліктерден – алдыңғы ДҚ жҥйелерінің технологиялары
айтарлықтай қанағаттанарлық деңгейде болмаған кҥрделі ақпараттық
қолданбалы жҥйелерді жасап шығару қажеттілігімен анықталады.
Әрине, ОБДҚ жоқ жерден пайда болды дей алмаймыз. Оған сəйкес
базисті ДҚ саласындағы бҧрынғы жҧмыстармен қатар, бҧрыннан
дамып келе жатқан объектілі-бағытталған бағдарламалау тілдері мен
абстрактілі деректер типіндегі бағдарламалалау тілдері қҧрады.
ДҚ саласындағы бҧрынғы жҧмыстармен байланысы туралы айтар
болсақ, біздің ойымызша, ОБДҚ саласындағы жҧмыстарға реляциялық
ДҚБЖ зерттеулері мен солардан кейінгі (хронологиялық тҧрғыда),
кҥрделі объектілерді басқара алатын ДҚ тобы ең ауқымды ықпал
тигізеді. Сонымен қатар, ОБДҚ идеялары мен тҧжырымдамаларына
жəне бҥкіл объектілі-бағытталған тəсілдерге ең айрықша əсер тигізген
деректерді семантикалық модельдеуге деген көзқарас болды. Сондай-
ақ, ОБДҚ-мен қатар дамып келе жатқан дедуктивті жəне белсенді ДҚ
бағыттарының да əсері мол.
Көп
жағдайда,
объектілі-бағытталған
тəсіл
төмендегідей
тҧжырымдамаларға негізделеді:
• объект жəне объект идентификаторының;
• атрибуттар мен əдістердің;
• кластардың;
• кластар иерархиясы мен мҧрагерлігінің.
Объектілі-бағытталған тілдер мен жҥйелерде шынайы өмірдің кез
келген болмысы объект тҥрінде бейнеленеді. Жасалу барысында кез
келген объект жҥйе генерациялайтын бірегей идентификаторға ие
болады, ол объектімен ҥнемі байланыста болады, жəне объект кҥйі
өзгергенде, ол өзгеріске ҧшырамайды.
Әр объектінің өз кҥйі мен қылығы болады. Объект кҥйі дегеніміз –
оның атрибуттарының мəндерінің жиынтығы. Объектінің қылығы –
объект кҥйіне сҥйеніп əрекет ететін əдістердің жиынтығы
(бағдарламалық код).
14 Тарау
Достарыңызбен бөлісу: |