Э. В. Фуфаев, Д. Э. Фуфаев



жүктеу 10,13 Mb.
Pdf просмотр
бет80/93
Дата19.11.2018
өлшемі10,13 Mb.
#21568
түріОқулық
1   ...   76   77   78   79   80   81   82   83   ...   93

Осыған  ҧқсас  жағдай  реляциялық  ДҚБЖ-лерінде  де  ДҚ 
көрінісіндегі  сҧранысты  оңтайландыру  кезінде  кездеседі.  Бҧл 
жағдайда,    шарттар  тағы  да  сыртқы  атрибуттар  (көрініс  атрибуттары) 
терминдерінде  қҧрылады  жəне  сҧранысты  оңтайландыру  ҥшін  бҧл 
шарттар  сақталған  қарым-қатынас  атрибуттарында  анықталған 
шарттарға  айналуы  керек.  Осындай  алдын-ала  оңтайландырудың  кең 
тараған тəсілі – қажетті тҥрлендірулерді қамтамасыз ететін (SQL тілін 
қолданған  жағдайдың  бəрінде  болмаса  да)  көріністерді  алмастыру 
болып табылады.  
ОБДҚ  жҥйелерінде  бҧл  жағдай  екі  тҥрлі  жайттың  əсерінен 
қиындайды. 
Біріншіден,  əдістер  əдетте  кейбір  процедуралық  бағдарламалау 
тілдерінде бағдарламаланады да, олардың параметрлері болуы мҥмкін, 
яғни  жалпы  жағдайда  көрініс  атрибуттарын  анықтау  кезіндегідей  əдіс 
денесі  тек  арифметикалық  өрнектен  бөлек,  сонымен  қатар,  басқа 
объектілердің  тармақтарын,  функционалдық  шақыруларын  жəне 
əдістерін қамтитын параметрленген бағдарламаны қамтиды.  
Екіншіден,  əдісті  нақты  іске  асыру,  тіпті  объектінің  қҧрылымы 
сҧранысты компиляциялау уақытында белгісіз болуы мҥмкін. 
Мəселені  жеңілдетудің  бір  жолы  –  объектілердің  ішкі 
атрибуттарының кейбірін (оңтайландыру ҥшін ең маңыздыларын) көру 
мҥмкіндігін  ашу.  Бҧл  тҧрғыда  көру  мҥмкіндігін  тек  сҧраныс 
компиляторы  ҥшін  ғана  ашу  да  жеткілікті  болатын  еді,  яғни  мҧндай 
айнымалыларды  класс  тармақтарында  қайта  анықтауға  тыйым 
салынатын  еді.  Пайдаланушы  тҧрғысынан,  мҧндай  атрибуттар  сəйкес 
тҥрдің  мəнін  қайтаратын  параметрлер  жоқ  əдістерге  ҧқсайды. 
Дегенмен,  бҧл  сҧранысты  оңтайландырудың  қажеттіліктерін  ескере 
отырып,  объектілерді  қатаң  инкапсуляциялауды  (қосымшаны  іске 
асыруға сыни тəуелділіктен сақтау ҥшін) жəне ОБДҚ сҧлбасын мҧқият 
жобалау мҥмкіндігін қамтамасыз еткен абзал болар еді. 
Объектілердің бір класына сынамаларды іріктеу шарттарын алдын-
ала оңтайландыру тəсілі төмендегідей болуы мҥмкін. 
1.  Шарттың  логикалық  формуласын  конъюнктивті  қалыпты 
формаға  айналдыру.  Біз  нақты  бір  КҚФ-ны  таңдау  əдісіне 
тоқталмаймыз,  бірақ,  əрине,  жақсы  ҚҚФ  таңдалуы  керек  (мысалы, 
атомарлық конъюнкттер саны ең көп). 
2.  Денені  компиляциялау  уақытында  белгілі  əдістерді  қамтитын 
кез-келген 
конъюнкт 
ҥшін, 
əдістер 
шақыруларын 
олардың 
параметрлері  қойылған  денелерімен  ауыстыру.  (Бҧл  параметрлерде 
басқа объектілердің функцияларына немесе əдістеріне шақырулар жоқ 
деп
а
болжайық.)


3.  Осындай  кез-келген  конъюнкт  ҥшін  барлық  жеңілдетулерді 
жасау,  яғни,  статикалық  есептелуі  мҥмкін  барлық  деректерді  есептеу. 
Жалпы  алғанда,  бҧл  тапсырма  өте  қиын  болса  да,  ОБДҚ-ны  дҧрыс 
ойластыратын  болса,  əдістер  қатарына  оңай  жҥзеге  асырылатын 
қарапайым  əдістер  қосылуы  мҥмкін,  оларда  шарттарды  орнату  өте 
қарапайым 
тҥрде 
жҥреді. 
Мҧндай 
шарттар 
өте 
тиімді 
оңтайландырылатын болады. 
4.  Егер  де  айнымалы  мəндер  мен  тҧрақты  мəндерге  негізделген 
қарапайым  салыстыру  предикаттары  конъюнкттар  пайда  болса,  осы 
конъюнкттарды оңтайлы сҧранысты оңтайлы орындау жоспарын жасау 
ҥшін пайдалану. Егер мҧндай конъюнкттарды алу мҥмкіндігі болмаса, 
объектілер  класын  «фильтрлеудің»  жалғыз  əдісі  –  əр  объектінің 
логикалық  өрнегін  толықтай  есептел  шығару  арқылы  (мҥмкін 
жеңілдетілген) ретімен тексеріп шығу болып табылады. 
Оңтайландыру мҥмкіндіктері бағдарламалау əдістеріне, белгілі бір 
сҧраныс  тілінің  ерекшелігіне  жəне  ОБДҚ  сҧлбасының  қаншалықты 
жақсы 
жобаланғанына 
байланысты 
бағдарламалау 
тілінің 
ерекшеліктеріне  байланысты  болады.  Атап  айтқанда,  қолданылатын 
бағдарлама  тілі  объектілерді  бағдарламалау  əдістерінің  ең  тəртіпті 
бағдарламалау  стилін    ынталандыруы  керек.  Сҧраныс  тілі 
қолданушылардың 
мҥмкіндіктерін 
(атап 
айтқанда, 
сҧраныс 
шарттарында  қолданылатын  əдістердің  параметрлері  бойынша) 
шектеуі  керек.  ОБДҚ  сҧлбалары  кластарда    қарапайым  əдістерді 
қамтуы  керек,  олар  класс  тармақтарында  кездеспейді  жəне  олар 
қолжетімділік  əдістерін  ҧйымдастырудың  негізін  қҧрайтын  кҥй 
айнымалыларына негізделген. 
Бҧл  шектеулер  қолданбалы  бағдарламаның  ОБДҚ-ны  жҥзеге 
асыру  ерекшеліктеріне  тəуелді  болып  қалуына  əкелмейді,  себебі 
объектілер  толығымен  инкапсуланған  кҥйде  қалады.  Сҧраныс 
шарттарында  қарапайым  əдістерді  қолдану  іске  асыру  талаптары 
бойынша  емес,  объектілердің  семантикасы  арқылы  ынталандырылуы 
керек. 
 
Бақылау сұрақтары 
1. Объектілі-бағытталған  тəсілдің  деректер  қорын  қҧрудағы 
принциптерін атаңыз.  
2.  Объектілі-бағытталған деректердің қандай модельдерін білесіз? 
3.  Объектілі-бағытталған  деректер  қорын  əзірлеу  ҥшін  қандай 
бағдарламалау тілдері қолданылады?  


15 тарау 
 
ОБЪЕКТІЛІ-БАҒЫТТАЛҒАН ДҚБЖ CACHE 
15.1. 
ДҚБЖқҧрылымы 
Cache  ДҚБЖ  постреляциялық  объектілі-бағытталған  ДҚБЖ-ға 
жатады. «Постреляциялық ДҚЖБ» термині жаңа буынның ДҚБЖ-сіне 
жатады  дегенді  білдіреді.    Бҧл  жерде  деректердің  біркелкі 
архитектурасы  мен  объектілі-бағытталған  технологияны  толықтай 
қорғау  сияқты  технологиялық  жаңалықтардың  қанша  қатары  болса,  
соншалықты уақыттың бірнеше аспектілері айтылып тҧр (ДҚБЖ өзінің 
негізгі реляциялық бəсекелестерінен кейін барып пайда болды).   
Аталып  өткен  объектілі-бағытталған  деректер  қорының  жобалау 
принциптеріне сəйкес Cache жҥйесінің келесі мҥмкіндіктері бар:  
•  тек деректер ғана емес, оларды өңдейтін əдістері де сақталатын 
ДҚ объект-элементтерінің болуы; 
•  бҧл  жҥйеде  мультимедиалық  деректерді  өңдеуге  болады  жəне 
қолданушыларға  кез-келген  кҥрделілік  дəрежесіндегі  өздерінің 
деректер қҧрылымын жасауға мҥмкіндік береді; 
•  ОБДҚ  абстракцияның  жоғары  деңгейіндегі  жҧмыстарды 
жібереді. 
ДҚБЖ  жҥйесінің  басты  ерекшелігі  деректердің  бірыңғай 
архитектурасы  арқылы  жҥзеге  асатын  деректерді  сақтау  қабілетінің 
əдеттегі  көрсеткішіне  тəуелді  болмауы.  Аталған  архитектураның 
шеңберінде  транзакцияның  өңдеуіне  бағытталған  деректер  қорының 
көп  өлшемді  қҧрылымында  ҥздіксіз  байқалып  отыратын  объект  пен 
кестелердің  біркелкі  сипаттамалары  бар.  Объектілердің  класы 
анықталғаннан  кейін  автоматты  тҥрде  осы  класстың  SQL 
форматындағы  реляциялық  сипаттамасы  туындайды.      Дəл  осындай 
жолмен  деректер  Сөздігіне  деректерді  анықтайтын  тіл  (ДАТ)  яғни 
реляциялық  деректер  қоры  форматындағы  сипаттамасы  тҥскеннен 
кейін  автоматты  тҥрде  деректердің  реляциялық  жəне  объектік 
сипаттамасы туындайды жəне сол арқылы объект форматындағы  жол 
қалыптасады.   Осы тҧста барлық сипаттамалар келісілген тҥрде жҥзеге 
асады  жəне  барлық  операциялар  тҥзетулер  бойынша  тек  бір  ғана 
деректің  сипаттамасымен    өткізіледі.    Бҧл  өңдеудің  уақытын 
қысқартуға жəне есептелген ресурстарды ҥнемдеуге мҥмкіндік береді. 
Қосымшалар  айтарлықтай  тез  жҧмыс  істейді.  15.1  кестесінде  ДҚБЖ 
архитектурасының негізгі элементтері көрсетілген: 
•  жҥйе жҧмыс істейтін  платформалар;


жүктеу 10,13 Mb.

Достарыңызбен бөлісу:
1   ...   76   77   78   79   80   81   82   83   ...   93




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау