Деректер қорының тілдері



Жұмыс түрі:  Дипломдық жұмыс
Тегін:  Антиплагиат
Көлемі: 72 бет
Таңдаулыға:   
РЕФЕРАТ

Бұл дипломдық жұмыста ЦентрКредит Банкінің депозиттік бөлімін мысалға
ала отырып ақпараттық жүйенің аналитикалық мәліметтер қорын жобалау және
құру мәселесі қарастырылды.
Осы автоматтандырылған ақпараттық жүйе мәліметтер қорына жаңа мәлімет
қосуға, ондағы мәліметтерді өңдеуге, қордағы мәліметтер бойынша есеп беруді
құрастыруға мүмкіндік береді. Құрастырылған мәліметтер қоры 11 кестеден
тұрады, сонымен қатар ол кестелер өзара байланысқан. Қолданбалы интерфейс
арқылы қордағы мәліметтерді өңдеуге, жаңа жазба қосуға болады, депозиттік
модульдегі есепке кіргізу, есептен алып тастау, пайыз қосу операцияларын
орындауға болады және ол операцияларды орындағаннан кейін оның нәтижелерін
есеп беруді құру арқылы көруге болады.
Дипломдық жұмыс 5 бөлімнен тұрады, барлығы 55 бетті қамтиды. Бұл жұмыста
25 сурет, 1 кесте, 1 қосымша бар. Жұмысты жүзеге асыру барысында 4
техникалық әдебиет және интернеттегі деректер қолданылды.
Қолданылған кілттік сөздер: ДҚ – деректер қоры, ДҚБЖ – деректер қорын
басқару жүйесі, клиент-сервер, OLAP - On-line Analytical Processing, ETL
(extraction, transformation, loading), Oracle, SQL, PLSQL.
Программа ORACLE деректер қорында жасалынды, программа SQL, PLSQL
тілдерінде жазылды.

МАЗМҰНЫ

КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... ...3

1 САРАПТАМАЛЫҚ ШОЛУ ЖӘНЕ ТАПСЫРМАНЫҢ ҚОЙЫЛУЫ ... ... ... ... 5
1.1 Деректер қоймасы (Data Warehouse) ... ... ... ... ... ... ... ... ... ... ... ... ...9
1.1.1 Клиент пен сервердегі OLAP ... ... ... ... ... ... ... ... ... ... ... ... ... .11
1.1.2 Деректерді көп өлшемді сақтаудың техникалық
аспектілері ... ... ... ... ..13
1.2 Деректер қоры серверінің
түсінігі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
14
1.2.1 Деректер қоры серверінің базалық
архитектурасы ... ... ... ... ... .. ... ... ... .14
1.3 Деректер қорының тілдері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..15
1.4 Oracle компаниясының тарихы мен серверлік
өнімдері ... ... ... ... ... ... ... ... ..17
1.4.1 Oracle ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ...18
1.4.2 Oracle-дің деректер
қоры ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .20
1.5 Тапсырманы қою: Депозит АЖ-нің сараптамалық деректер қорын жобалау
(ЦентрКредит Банкі
мысалында) ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ...22
1.5.1 Транзакцияларды
басқару ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ...26
1.5.2 Журналға
енгізу ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ..27
1.6 Деректер қорын жобалау бойынша тапсырмаларды
суреттеу ... ... ... ... ... ...29

2 ЕСЕПТІ ШЕШУ АЛГОРИТМІН
ҚҰРУ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...37
2.1 Есептен алып тастау және есепке кіргізу
операциялары ... ... ... ... ... ... ... ... .37
2.2 Пайыз қосу
операциясы ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ...37

3 АҚПАРАТТЫҚ
ҚАМТАМАСЫЗДАНДЫРУ ... ... ... ... ... ... ... ... ... .. ... ... ... ...38

4. ПРОГРАММАЛЫҚ
ҚАМТАМАСЫЗДАНДЫРУ ... ... ... ... .. ... ... ... ... ... ... ...44
4.1 Мәліметтер қорының
құрылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
..44
4.2 Қолданбалы интерфейстің
жобалануы ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... 47
4.3 Программаның орындалуын
сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 50

5 ЖОБАНЫҢ ЭКОНОМИКАЛЫҚ ТИІМДІЛІГІН БАҒАЛАУ ... ... ... ... ... ... ... 56

ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... .59

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ ... ... ... ... ... ... ... ... ... ... ... ... 60

ҚОСЫМША ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ...61

КІРІСПЕ

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

1 САРАПТАМАЛЫҚ ШОЛУ ЖӘНЕ ТАПСЫРМАНЫҢ ҚОЙЫЛУЫ

Жоғарыда айтып кеткеніміздей, кез-келген ақпараттық жүйе ақпаратты
жинау, сақтау мен өңдеуге арналған. Нақты қызмет ететін ақпараттық
жүйелердің мысалдары әйгілі, оларда деректерді сақтау файлдарда негіздеу
жоспарланған болатын. Осындай көптеген жүйелердің дамуы нәтижесінде олардан
жеке сыңар бөлінді, ол деректер қорын басқару жүйесінің (ДҚБЖ) көрнекті
түрі болып табылады. Қолмен жасалған ДҚБЖ – ақпараттық жүйелердің негізгі
бичі. Бастапқыда, барлығы әдеттегідей болып көрінеді: мүмкін сұраулардың
жиыны ақпараттық жүйені жобалау кезінде танымал болады; сұраудың әрбір түрі
үшін сұрауды орындаудың тиімді әдісін ойлап табуға болады. Осыдан кейін
қарапайым программист жұмысы қалады және мамандандырылған ДҚБЖ дайын.
Ақпараттық жүйелерді ұйымдастырудың дәстүрлі әдісі - "клиент-сервер" екі
буынды архитектурасы болып табылады (1-сурет). Осындай жағдайда, ақпараттық
жүйенің барлық қолданбалы бөлігі жүйенің жұмыстық стансаларында орындалады
(яғни дублирленеді), ал сервердің (-лердің) тарапынан тек деректер қорына
кіру ғана жүзеге асырылады. Егер жүйенің қолданбалы бөлігінің логикасы
жеткілікті деңгейде күрделі болса, онда мұндай тәсіл семіз клиент
мәселесін туындатады. Әрбір жұмыс стансасы пайдаланушыдан жәненемесе
деректер қорынан келіп түсетін деректердің қолданбалы өңделуін жасауға
жағдайы бар ресурстардың жеткілікті жиынына ие болуы тиіс. Клиенттер арық
болуы үшін, ал көбінесе, жүйенің жалпы тиімділігін жоғарылату үшін жиі
кезекте клиент-сервер үш буынды архитектуралары қолданылады (2-сурет).
Осы архитектурада, жүйенің клиенттік бөлігінен және деректер қорының
серверін(лерінен) басқа, қосымшалардың аралық сервері енгізіледі. Клиенттің
тарапынан тек интерфейстік әрекеттері орындалады, ал ақпаратты өңдеудің
барлық логикасы қосымшалар серверінде қолданады.

1-cурет. "Клиент-сервер" дәстүрлі екі буынды архитектурасы

2-сурет. Қосымшалардың бөлінген сервері бар "клиент-сервер" үш буынды
архитектурасы

Айта кететініміз, үш буындылықтың кейбір белгілері екі буынды
архитектурада да болуы мүмкін. Егер, мысалы, деректер қорының қолданылатын
сервері сақталынатын процедуралардың дамыған механизмін қолдайтын болса
(мысалға, Oracle V.7-дегі сияқты), онда қосымша логикасының кейбір бөлігін
деректер қорының жағына қарай ығыстырып жіберуге болады. Сақталынатын
процедуралар механизмі SQL тілінің стандартында жеткілікті дәрежеде
мамандандырылмағанын айта кетейік. Шындығымен дамыған құралдарды
пайдалануға бел байлаған кезіңізде, сіз өзіңіздің ақпараттық жүйеңізді
деректер қоры серверінің нақты өндірушісіне дереу байланыстырасыз. Одан
ажырау өте қиын болады.
Клиент-серверлік қосымша деп біз деректер қоры серверін пайдалануға
негізделген ақпараттық жүйесін түсінетін боламыз. "Клиент-сервер"
архитектурасындағы ақпараттық жүйенің жалпы көрінісі 3-суретте көрсетілген.

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

3-сурет. "Клиент-сервер" архитектурасындағы ақпараттық жүйенің
жалпы көрінісі

Қосымшаның клиенттік бөлігі мен деректер қоры серверінің клиенттік
бөлігі арасындағы интерфейс тәртіп бойынша, SQL тілін қолдануға
негізделгенін айта кетейік. Сондықтан, мысалға, деректер қорын сұрауларға
арналған нысандарды алдын ала өңдеу немесе нәтижелік есептемелерді
қалыптастыру сияқты қызметтер қосымша кодында орындалады. Соңғысында,
деректер қоры серверінің клиенттік бөлігі, желілік қол жеткізу құралдарын
пайдалана отырып, деректер қорының серверіне SQL тілі операторының мәтінін
бере тұра, онымен қарым-қатынас жасайды.
Мұнда тағы да екі ескертулерді жасау керек.
1. Деректер қорының дамыған серверлерін шығаратын компаниялар әдетте, өз
өнімдерін бүгінгі күні стандартты TCPIP-бағытталған желілерінде ғана
пайдаланумен шектелмей, сонымен бірге, өзге де хаттамаларға негізделген
(мысалға, SNA немесе IPXSPX) желілерінде пайдалану мүмкіндіктерін
қамтамасыз етуге тырысады. Сондықтан, ДҚБЖ-нің клиенттік және серверлік
бөліктері арасындағы желілік өзара әрекеттесулерді ұйымдастыру кезінде
жоғары деңгейдегі стандартты құралдары (мысалға, программалық ұялар немесе
алыстатылған процедуралардың шақырулар механизмдері) емес, желілік көлік
хаттамаларына азырақ тәуелді болып келетін дербес қызметтік ұқсас құралдары
жиі кезекте қолданылады.
2. SQL тілі негізіндегі интерфейс туралы айтқан кезімізде, осы тілді
стандарттау бойынша титаникалық күш-жігерлерге қарамастан, тілдің
стандартты құралдары кеңейтілмеген іске асырудың жоқ екеніндгі туралы біз
өзімізге есеп беруіміз керек. Тілдің кеңейтулерін алдын ала ойластырылмай
пайдалану қосымшаның деректер қоры серверінің нақты өндірушісіне толық
тәуелді болуына алып келеді.
Ендігі кезекте, деректер қоры серверінің тарапында не болып жатқанын
көрейік. Тәжірибелі барлық компаниялардың өнімдерінде сервер клиенттен
оператордың мәтінін SQL тілінде алады.
• Сервер қолға алынған оператордың компиляциясын жүргізеді. Бұл жерде
біз нақты компилярда қандай мақсаттық тілдің қолданылатынына
тоқталмаймыз; әртүрлі іске асыруларда сан алуан тәсілдері қолданылады.
Бастысы, кез-келген жағдайда деректер қорының кесте-каталогтарында
мазмұнданатын ақпараттың негізінде оператордың процедуралық емес
көзқарасы оны орындаудың кейбір процедурасына қайта өзгеруі
жүргізіледі.
• Ары қарай (егер компиляция сәттілікті аяқталса) оператордың орындауы
болады. Біз техникалық бөлшектерін қайтадан талқыламаймыз, өйткені
олар іске асыру кезінде ерекшеленеді. SQL операторларының мүмкін
әрекеттесін қарастырайық.
o Оператор деректер қоры объектілерін (нақтырақ және дұрысырақ
айтсақ, деректер қоры жобасының буындарын немесе деректер
метабазасының объектілерін) анықтау (немесе дамыту)
операторларының сыныбына жатқызыла алады. Атап айтқанда,
домендер, кестелер, бүтінділікті шектеулер, триггерлер,
пайдаланушылардың артықшылықтары, сақталынатын процедуралар
анықталына алады. Кез-келген жағдайда, оператордың деректер қоры
жобасының буынын дамытқаны кезінде тиісті ақпарат деректер қоры
кестелері-каталогтарына (деректер метабазаларының кестелеріне)
жайғастырылады. Бүтінділікті шектеу әдетте, деректер
метабазасында тура мәтіндік көрінуінде сақталынады. Триггерлерде
анықталған әрекеттер мен сақталынатын процедуралар үшін кесте-
каталогтарында процедуралық орындалатын коды өңделініп,
сақталынады. Айта кететіні, бүтінділікті шектеулер, триггерлер
мен сақталынатын процедуралар кейбір мағынада, сервермен
қолданылып тұратын деректер қорындағы қосымшалардың өкілдері
болып табылады; олар қосымшаның серверлік бөлігінің негізін
құрайды (төменіректе қараңыз).
o Операторлардың сұраумен қарастырылатын кестелердің мазмұны
негізінде және деректер қорында қолданатын индекстерді
пайдаланумен деректерді таңдаған кезінде деректердің нәтиже
беретін жиыны қалыптасады. ДҚБЖ-нің серверлік бөлігі клиенттік
бөліктің нәтижесін жібереді және ендігі кезде, түпкілікті өңдеу
қосымшаның клиенттік бөлігінде жасалады.
o Операторлардың деректер қорының мазмұнын модификациялауды
орындағандары кезінде (INSERT, UPDATE, DELETE) осы кезеңге қарай
анықталған бүтінділік шектеулері бұзылмайтындары (яғни дереу
тексерілетіндер сыныбына жатқызылатындар) тексеріледі, одан
кейін тиісті әрекет жасалады (барлық сәйкес келетін индекстерді
модификациялаумен және өзгерістерді журналдаумен бірге жүретін).
Ары қарай сервер осы өзгерудің қандай да болса триггердің жұмыс
істеп кету шартына әсер ететіндігін тексереді және осындай
триггер анықталатын болса, оның әрекет ету процедурасын
орындайды. Бұл процедура деректер қоры модификациясының қосымша
операторларынан тұруы мүмкін, олар басқа да триггерлердің жұмыс
істеп кетуін туындата алады және т.б. Бүтінділіктің
шектеулігінің қанағаттандырылғандығын тексеру кезіндегі және
триггерлердің жұмыс істеп кету кезіндегі деректер қоры
серверінде орындалатын қызметтер қосымшаның серверлік бөлігінің
қызметтері болып табылады деп есептеуге болады.
o Операторлардың деректер қоры жобасын модификациялауын орындау
кезінде де (істегі кестелерге бағаналарды қосу немесе алып
тастау, істегі кестенің істегі бағанасындағы деректердің түрін
өзгерту және т.б.) триггерлер жұмыс істеп кете алады, яғни басқа
сөзбен айтқанда, қосымшаның серверлік бөлігі орындалуы мүмкін.
o Ұқсас түрінде, триггерлер деректер қоры жобасының объектілерін
(домендерді, кестелерді, бүтінділікті шектеулерді және т.б.) жою
кезінде де жұмыс істеп кетуі мүмкін.
o SQL тілі операторларының ерекше сыныбын ертеректе анықталған
және сақталынатын процедуралар деректер қорында сақталған шақыру
операторлары құрайды. Егер сақталынатын процедура SQL-дің
процедуралық емес операторларынан және таза процедуралық
конструкцияларынан (мысалға, Oracle компаниясының PLSQL
тілінен) тұратын жеткілікті деңгейде дамыған тілдің көмегімен
анықталатын болса, онда осындай процедураға қосымшаның қомақты
бөлігін орналастыруға болады, ол оператордың процедураны
шақыруды орындағаны кезінде клиенттің жағынан емес, сервердің
жағынан орындалатын болады.
o Оператордың транзакцияны аяқтауды орындағаны кезінде сервер
бүтінділіктің кейінге қалдырылған шектеулерінің барлығының
орындалуын тексеруі тиіс (осындай шектеулерге қор кестесінің
мазмұнына бүтіндей немесе бір уақытта бірнеше кестеге салынатын
шектеулері жатқызылады; мысалға, 999 бөлімі қызметкерлерінің
сомалық жалақысы 150 млн.тг. –ден аспауы тиіс). Қайтадан
бүтінділіктің кейінге қалдырылған шектеулерін тексеруге
қосымшаның серверлік бөлігін орындауға сияқты қарауға болады.

1.1 Деректер қоймасы (Data Warehouse)

Деректер қоймасы (Data Warehouse) – бұл деректердің жеке қоры, ол жерде
банктің менеджерлеріне: банктің клиенттері туралы, филиалдардың операциялық
күндері, несиелер, пайыз қойылымдары, валюта бағамдары және т.б. туралы
басқарушылық шешімдерін дайындау үшін қажетті барлық сан алуан түрлі
ақпарат аккумуляцияланады. Бұл кезде қойма деректердің жаңа түрлеріне
жылдам, әрі қарапайым түрде бейімделуге арналған құралдарымен қамтамасыз
етілген, яғни ол үздіксіз дами алады.

Басшылардың уақытын үнемдеу мақсаттарында кез-келген сұрау салған
ақпарат өте жылдам ұсынылады. Бұл үшін қоймада алдын ала есептелген
көрсеткіштері болады, мысалға, бір күн, тоқсан, жыл ішіндегі баланстық
шоттардың айналымдары. Қойма деректеріндегі ауқымды көлемдерді қоймада
ақпаратты іздеудің ыңғайлы құралдары, жедел сараптау құралдары (OLAP) мен
есептемелер генераторлары бастапқы кезден бастап салынғаны есебінен
пайдалану оңай болып келеді. Қойма деректерді әртүрлі көздерден жүктеудің
күшті жүйесімен қамтамасыз етілген, бұл кезде жүктеу үрдісінде келістіру
мен деректерді қателерден тазалау автоматты түрде жүреді.
Тәртіп бойынша, деректер қоймалары ақпараттың ауқымды көлемдерімен жұмыс
жасайды, бұл олардың жобалауы мен іске асырылуына жоғарылатылған талаптарын
қояды. Деректерді сақтаудың платформасы ретінде осындай жоғары өнімділікті
РДҚБЖ-ні таңдау дамытылатын ақпараттық жүйенің жалпы тиімділігін маңызды
деңгейде жоғарылатуға көмектеседі. Деректерді сақтауды жобалауға әдетте,
келесідей төменгі талаптары қойылады:
• Қоймадағы деректердің құрылымы пайдаланушыларға түсінікті болуы тиіс.
• Үнемі: күн сайын, апта сайын, тоқсан сайын модифицирленетін
статистикалық деректері бөлінуі тиіс.
• SQL бекітілімдерінің көптігін дәстүрлі реляциялық ДҚБЖ-де талап ете
алатын сұрауларды алып тастау мақсатында сұрауларға қойылатын талаптар
қысқартылуы тиіс.
• Мыңдаған немесе миллион жазбаларының тізбекті өңделуін талап ететін
SQL күрделі сұрауларының қолдауы қамтамасыз етілуі тиіс.
Нақ осы талаптарды орындау деректер қоймасының құрылымын реляциялық ДҚБЖ-
нің құрылымынан және деректер қоймасынан ерекшелейді. Реляциялық ДҚБЖ-ғы
деректерін нормализациялау бір-бірімен байланысты кестелерін дамытуға алып
келеді. Нәтижесінде, күрделі сұрауларды орындау көптеген кестелердің
бірігуіне алып келеді, бұл жауап беру уақытын маңызды деңгейде ұзартады.
Деректер қоймасын жобалау дегеніміз деректердің денормаланған құрылымын
дамытуды көздейді (деректердің шектен тыс көп болуы мен деректермен
манипулирлеу кезінде аномалийлердің туындау мүмкіндігіне жол беріледі), ол
ең бастапқы кезекте, сараптама сұрауларын орындау кезіндегі жоғары
өнімділікке бағытталған. Нормалдандыру қойма үлгісін өте күрделі етеді,
оның түсінуін қиындатады және сұрауды орындау тиімділігін нашарлатады.
Шешімдерді қабылдауды қолдау жүйелері әдетте, пайдаланушыға қабылдау мен
талдау үшін ыңғайлы түрінде бастапқы жиынынан әртүрлі таңдамаларына
арналған агрегаттық деректерін ұсыну құралдарына ие болады. Тәртіп бойынша,
осындай агрегаттық қызметтері деректердің көп өлшемді (және соның
салдарынан, реляциялық емес) жиынын (кейде оны гиперкуб немесе метакуб деп
атайды) қалыптастырады. Оның осьтерінде параметрлер, ал ұяшықтарында –
оларға тәуелді болып келетін агрегаттық деректері болады – айта кететіні,
осындай деректер реляциялық кестелерінде де сақталына алады, бірақ берілген
жағдайда, біз деректерді сақтаудың физикалық іске асырылуы туралы емес,
олардың логикалық ұйымдастырылуы туралы айтып отырмыз. Әрбір осьтің бойында
деректер иерархия түрінде ұйымдастырылуы мүмкін, ол оларды бөлшектеудің
әртүрлі деңгейлерін ұсынады. Деректердің осындай үлгісінің арқасында
пайдаланушылар күрделі сұрауларын қалыптастыра алады, есептемелерін
генерирлейді, деректердің көпшілік ішіндегілерін алады.
Деректерді кешенді көп өлшемді талдау технологиясы OLAP деген атына ие
болды (OLAP - бұл On-line Analytical Processing, яғни деректердің жедел
сараптамасы). OLAP — бұл деректер қоймаларын ұйымдастырудың негізгі сыңары.
OLAP тұжырымдамасын деректер қорының танымал зерттеушісі мен деректердің
реляциялық үлгісінің (E.F. Codd, S.B. Codd, and C.T.Salley, Providing OLAP
(on-line analytical processing) to user-analysts: An IT mandate. Technical
report, 1993 қараңыз) авторы Эдгаром Код 1993 жылы суреттеген болатын.
Кейінірек оның анықтамасы OLAP-қосымшасы бөлінетін көп өлшемді ақпаратты
жылдам сараптау мүмкіндігін ұсынуын талап ететін FASMI тесті деп
аталатынға қайта өңделген болатын.
FASMI тесті:
Fast (Жылдам) – талдау ақпараттың барлық аспектілері бойынша бірдей
жылдамдықта жылдам жүргізілуі тиіс. Жауап берудің жағымды уақыты - 5 с
немесе одан да кем.
Analysis (Сараптама) – қосымшаны өңдеуші алдын ала анықтаған немесе
пайдаланушы ерікті түрде анықтайтын сандық және статистикалық талдаудың
негізгі түрлерін жүзеге асыру мүмкіндігі болуы тиіс.
Shared (Бөлінетін) – көптеген пайдаланушылар деректерге қол жеткізулері
тиіс, осы кезде құпия ақпаратқа кіруді бақылау қажет.
Multidimensional (Көп өлшемді) – бұл OLAP-тің негізгі, анағұрлым
маңызды сипаттамасы.
Information (Ақпараттар) – қосымшада оның көлемі мен сақталу орнына
тәуелсіз кез-келген ақпаратқа кіру мүмкіндігі болуы тиіс.
Біз транзакцияларды жедел өңдеуге емес (On-Line Transaction Processing –
OLTP), жедел сараптамалық өңдеуіне (On-Line Analitical Processing - OLAP)
бағытталған ақпараттық қосымшалардың арнайы сыныбының сұрақтарын
қарастырамыз. Осы екі әртүрлі жүйелерде қағидаттық әртүрлі тапсырмалары
бар. Корпоративтік ақпараттық OLTP-жүйелері корпорацияның күнделікті
қызметіне әрекеттесу үшін құрылады және ағымдағы кезең үшін өзекті
деректеріне негізделеді. OLAP-жүйелері корпорацияның немесе оның
сыңарларының қызметін талдау мен болашақ жағдайын болжау қызметін атқарады.
Бұл үшін корпорацияның өткендегі қызметі туралы көптеген жинақталған
деректерін, сондай-ақ, корпорация жұмыс істеген контекстті қалыптастыратын
деректердің сыртқы көздерін пайдалану талап етіледі.
Біз білетініміздей, OLAP-ты пайдаланудың түпкілікті мақсаты – деректерді
талдау мен осы талдау нәтижелерін түсіну мен шешімдерді қабылдау үшін
ыңғайлы түрінде ұсыну болып табылады. OLAP-тің негізгі идеясы –
пайдаланушылық сұраулары үшін қол жеткізімді болатын көп өлшемді кубтарын
құрастыруда қорытындылады. Дегенмен, OLAP-кубтарын қалыптастыруға арналған
бастапқы деректері әдетте, реляциялық деректер қорларында сақталынады. Жиі
кезекте осы мамандандырылған реляциялық деректер қоры, сондай-ақ,
деректердің қоймалары деп аталынады (Data Warehouse). Деректерді
модифицирлейтін қосымшалардың жұмыс істейтін оперативтік деректер қоры деп
аталатындардан ерекше деректердің қоймалары тек қана ақпараттарды өңдеу мен
талдауға арналған, сондықтан, олар бойынша сұрауларды орындау уақыты
минималды болатындай етіп жобаланады. Деректер әдетте, белгілі бір
күнтізбеге сәйкес, деректердің жедел қорларынан қоймаға көшіріледі.

1. Клиент пен сервердегі OLAP

Деректерді көп өлшемді талдау әртүрлі құралдардың көмегімен жүргізілуі
мүмкін, оларды шартты түрде клиенттік және серверлік OLAP-құралдары деп
бөлуге болады.
Клиенттік OLAP-құралдары дегеніміз агрегаттық деректердің (сомалардың,
орташа көлемдердің, максималды немесе минималды мәндердің) есептеулерін
жүзеге асыратын қосымшалары және олардың көрінісі болып табылады. Бұл
кезде агрегаттық деректердің өздері ЭШа-те осындай OLAP-құралының мекен-
жайлық кеңістігінің ішінде мазмұнданады.
Егер бастапқы деректері үстелдік ДҚБЖ-де болса, агрегаттық деректерін
есептеу OLAP-құралының өзімен жасалынады. Егерде бастапқы деректердің көзі
— серверлік ДҚБЖ болса, серверге клиенттік OLAP-құралдарының көбісі GROUP
BY операторынан тұратын SQL-сұрауларын жібереді және нәтижесінде серверде
есептелген агрегаттық деректерін алады.
Тәртіп бойынша, OLAP-қызметтілігі деректердің статистикалық өңдеу
құралдарында (осы сыныптағы өнімдер қатарынан ресей нарығында StatSoft пен
SPSS компанияларының өнімдері кең таралған) және кейбір электрондық
кестелерінде іске асырылған. Атап айтқанда, көп өлшемді талдаудың жаман
емес құралдарына Microsoft Excel 2000 ие болып келеді. Осы өнімнің
көмегімен кішігірім жергілікті көп өлшемді OLAP-кубын файл түрінде дамытып,
сақтауға және оны екі- немесе үш өлшемді кескіндерде бейнелеуге болады.
Өңдеудің көптеген құралдарында қарапайым OLAP-қызметтілігін іске
асыратын қосымшаларын дамытуға қол жеткізетін сыныптар немесе сыңарлар
кітапханасынан тұрады (оларға, мысалы, Borland Delphi-гі DecisionCube және
Borland C++Builder сияқтылары). Осыдан бөлек, көптеген компаниялар ActiveX
басқару буындарын және ұқсас қызметтілікті іске асыратын өзге де
кітапханаларын ұсынады.
Айта кететіні, клиенттік OLAP-құралдары тәртіп бойынша, өлшемдердің аз
саны (әдетте, алтыдан көп емес ұсынылады) және осы параметрлер мәндерінің
үлкен емес сан алуандығы кезінде қолданылады, — өйткені, қолға алынған
агрегаттық деректері ұқсас құралдың мекен-жайлық кеңістігінде сыйып кетуі
тиіс, ал олардың саны өлшеулер санының ұлғаюы кезінде экспоненциалды өседі.
Сондықтан, тіпті ең қарапайым клиенттік OLAP-құралдары, тәртіп бойынша,
оның ішінде көп өлшемді кубты дамыту үшін талап етілетін оперативті жадтың
көлемін алдын ала есептеуге қол жеткізеді.
Көптеген (бірақ барлығы емес!) клиенттік OLAP-құралдары агрегаттық
деректері бар кэштің құрамын файл түрінде сақтауға қол жеткізеді, бұл өз
кезегінде, олардың қайта есептелуін жасамауға рұқсат етеді. Айта кететіні,
жиі кезекте осындай мүмкіндік оларды басқа ұйымдарға беру үшін немесе
жариялау мақсатында агрегаттық деректерінен алыстату үшін қолданылады.
Осындай алыстатылатын агрегаттық деректердің типтік мысалы ретінде әртүрлі
елдердің денсаулық сақтау министрліктерінде және Дүниежүзілік денсаулық
сақтау ұйымында жарияланатын ашық ақпарат болып табылатын әртүрлі
аймақтардағы немесе әртүрлі жастық топтарында науқастану статистикасы болып
табылады. Осы кезде науқастанулардың нақты жағдайлары туралы мәліметтері
болып табылатын бастапқы деректері сақтандыру компанияларының қолдарына
және оның үстіне жарияланымға түспеуі тиіс медицина мекемелерінің құпия
деректері болып табылады.
Агрегаттық деректері бар кэшті файл түрінде сақтау идеясы өзінің ары
қарайғы дамуын серверлік OLAP-құралдарынан алды, оларда агрегаттық
деректерін сақтау мен өзгерту, сондай-ақ, олардың қоймаларының мазмұнын
қолдау бөлек қосымшамен немесе үрдіспен жүзеге асырылады, оны OLAP-сервер
деп атайды. Клиенттік қосымшалары осындай көп өлшемді қойманы сұрай алады
және жауабына қандай да болса деректерін алады. Кейбір клиенттік
қосымшалары сондай-ақ, осындай қоймаларын дамыта алады немесе оларды
өзгерген бастапқы деректеріне сәйкес жаңарта алады.
Клиенттік OLAP-құралдарымен салыстырғанда серверлік OLAP-құралдарын
пайдалану артықшылықтары үстелдіктерімен салыстырғанда серверлік ДҚБЖ
пайдалану артықшылықтарына ұқсас: серверлік құралдарын пайдалану жағдайында
агрегаттық деректерін есептеу мен сақтау серверде болады, ал клиенттік
қосымшасы оларға сұраулардың нәтижелерін ғана алады, бұл жалпы жағдайда
желілік трафикті, сұрауларды орындау уақытын және клиеттік қосымшасы
тұтынатын ресурстарға қойылатын талаптарын төмендетуге қол жеткізеді. Айта
кететіні, кәсіпорын ауқымындағы деректерді талдау мен өңдеу құралдары,
тәртіп бойынша, нақ серверлерік OLAP-құралдарына негізделеді, олар мысалға,
Crystal Decisions, BusinessObjects, Cognos, SAS Institute компанияларының
өнімдері болып келетін Oracle Express Server, Microsoft SQL Server 2000
Analysis Services, Hyperion Essbase-не. Серверлік ДҚБЖ-нің барлық озық
өндірушілері қандай да болса серверлік OLAP-құралдарын өңдейтіндігінен
(немесе басқа компанияларынан лицензиялап алды) олардың таңдауы жеткілікті
деңгейде өте кең және барлық дерлік жағдайда деректер қоры серверінің
өзінікі сияқты өндірушісінен OLAP-серверін сатып алуға болады.

1.1.2 Деректерді көп өлшемді сақтаудың техникалық аспектілері

Көп өлшемді деректер қоймаларында нақтылықтың әртүрлі деңгейдегі
агрегаттық деректері мазмұнданады, мысалға, күндер, айлар, жылдар бойынша
сату көлемдері, тауарлар санаттары бойынша және т.б. Агрегаттық деректерді
сақтау мақсаты — сұрауларды орындау уақытын қысқарту болып табылады,
өйткені көптеген жағдайда, сараптау мен болжамдар үшін жетік емес, сомалық
деректері қызықты болып келеді. Сондықтан, көп өлшемді деректер қорын
дамыту кезінде кейбір агрегаттық деректері әрдайым есептелініп,
сақталынады.
Айта кететіні, барлық агрегаттық деректерін сақтау әрдайым дерлік
ақталымды емес. Бұл жерде әңгіме, жаңа өлшемдерді қосу кезінде кубты
құрайтын деректердің көлемі экспоненциалды өсетіні туралы айтылуда (кейде
деректер көлемінің жарылыстық өсуі туралы айтады). Егер нақтырақ айтатын
болсақ, агрегаттық деректер көлемінің өсу деңгейі куб өлшемдерінің саны мен
осы өлшеулер иерархиясының әртүрлі деңгейлеріндеге өлшемдер мүшелеріне
тәуелді болады. Жарылыстық өсу мәселесін шешу үшін сан алуан жобалары
қолданылады, олар барлық емес мүмкін агрегаттық деректерін есептеу кезінде
сұрауларды орындаудың жағымды жылдамдығына қол жеткізуге көмектеседі.
Бастапқы, сондай-ақ, агрегаттық деректері реляциялық немесе көп өлшемді
құрылымдарында сақталына алады. Сондықтан, қазіргі уақытта, деректерді
сақтаудың үш әдісі қолданылады:
• MOLAP (Multidimensional OLAP) –— бастапқы және агрегаттық деректері
деректердің көп өлшемді қорында сақталынады. Деректерді көп өлшемді
құрылымдарында сақтау деректерді көп өлшемді ауқымында манипулирлеуге
қол жеткізеді, соның арқасында агрегаттық мәндерді есептеу жылдамдығы
өлшемдердің кез-келгені үшін бірей болады. Дегенмен, осындай жағдайда
деректердің көп өлшемді қоры шектен тыс болады, өйткені көп өлшемді
деректерінде бастапқы реляциялық деректері бар.
• ROLAP (Relational OLAP) — бастапқы деректер олар бастапқыда болған
реляциялық деректер қорында қалады. Ал агрегаттық деректерін оларды
сақтау үшін деректердің нақ сол қорында арнайы дамытылған қызметтік
кестелеріне орналастырады.
• HOLAP (Hybrid OLAP) — бастапқы деректер олар бастапқыда болған
реляциялық деректер қорында қалады, ал агрегаттық деректері
деректердің көп өлшемді қорында сақталынады.
Кейбір OLAP-құралдары деректердің сақталуын тек қана реляциялық
құрылымдарында қолдайды, кейбіреулері — тек қана көп өлшемділерінде.
Дегенмен, көптеген қазіргі заманғы серверлік OLAP-құралдары деректерді
сақтаудың барлық үш әдісін қолдайды. Сақтау әдісін таңдау бастапқы
деректердің көлемі мен құрылымына, сұрауларды орындау жылдамдығына
қойылатын талаптар мен OLAP-кубтарын жаңарту жиілігіне тәуелді болып
келеді.

1.2 Деректер қоры серверінің түсінігі

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

1. Деректер қоры серверінің базалық архитектурасы

Деректер қорының типтік сервері келесідей төменгі қызметтердің
орындалуына жауап береді:
• файлдардың логикалық келістірілген жиынын қолдау;
• манипуляциялау тілін деректермен қамтамасыз ету;
• әртүрлі істен шығулардан кейін ақпаратты орнына келтіру;
• бірнеше пайдаланушылардың нақты параллельдік жұмысын ұйымдастыру.

2. Деректер қорының тілдері

Деректер қорымен жұмыс істеу үшін арнайы тілдері қолданылады, олар жалпы
алғанда деректер қорының тілдері деп аталынады. Ертеректегі ДҚБЖ- Деректер
Қорын Басқару Жүйесінде өздерінің қызметтері бойынша бірнеше
мамандандырылған тілдері қолданған болатын. Жиі кезде екі тіл бөлінді – ДҚ
деректерін анықтау тілі (DDL - Data Definition Language) мен деректермен
манипулирлеу тілі (DML - Data Manipulation Language). DDL – бұл ДҚ-ның
объектілерін, кестелерді қоса отырып, дамыту, модификациялау мен жоюға
арналған SQL тілі командаларының көпшілігі болып табылады. Бұл командалар
деректер қорына тікелей әсерін тигізеді және тиісті ақпаратты деректер
сөздігіне жазады. DML деректермен манипулирлеу операторларының жиынынан
тұрады, олар деректерді ДҚ-на енгізуге, істегі деректерді жоюға,
модифицирлеуге немесе таңдауға қол жеткізеді.
Қазіргі заманғы ДҚБЖ-де әдетте, бірегей интеграцияланған тілі
қолданылады, ол оны дамытқаннан бастап ДҚ-мен жұмыс істеу үшін барлық
қажетті құралдарынан тұрады және деректер қорымен пайдаланушылық
интерфейсін қамтамасыз етеді. Қазіргі уақытта анағұрлым кең таралған
реляциялық ДҚБЖ-нің стандартты тілі ретінде SQL тілі (Structured немесе
Standard Query Language) болып табылады.
SQL тілі 1970-жылдардың ортасында IBM фирмасымен System-R РДҚБЖ
прототипі үшін өңделген болатын. 1979 жылы Oracle корпорациясы SQL тілінің
бірінші коммерциялық іске асырылуын ұсынды. Ұлттық Стандарттардың Америка
Институты (ANSI) 1986 жылы SQL тілін РДҚ-на арналған стандарты ретінде
жариялады. Тура осыны Стандарттар бойынша Халықаралық Ұйымы жасады (ISO).
SQL тілінің мүмкіндіктері:
- SQL тілі командаларының құрылымы жазылуы бойынша табиғи ағылшынға
жақын. Мысалға, SELECT, INSERT, DELETE сөздері сәйкесінше деректерді
таңдауға, енгізуге және жоюға арналған командаларын беру қызметін атқарады.

- SQL тілі процедуралық емес: сіз ақпаратты алуды емес, сізге қандай
ақпараттың керек екенін тапсырасыз. Басқа сөзбен айтқанда, SQL деректерге
қол жеткізу әдісін тапсыруды талап етпейді.
- SQL жеке жазуларымен емес, жазбалардың жиынымен жұмыс істейді.
Жазбалар тобының анағұрлым жалпы қолданылатын нысаны кесте болып табылады.
- SQL қолданушылардың, соның ішінде, әкімшілік, қолданбалы
программисттер, басқарушы персонал және басқаларының кең диапазоны үшін қол
жеткізімді.
Ең бастапқы кезекте, SQL тілі DDL мен DML құралдарын ұйлестіреді, яғни
реляциялық ДҚ-ның жобасын анықтау мен деректермен манипулирлеуге қол
жеткізеді. Бұл кезде ДҚ объектілерінің атаулары (реляциялық ДҚ үшін –
кестелер мен олардың бағаналарының атаулары) SQL тілінің компиляторы
объектілер аттарын олардың ішкі ұқсастандыруларына арнайы қолданылатын
қызметтік кесте-каталогтар негізінде қайта өзгертетін мағынасында тілдік
деңгейінде қолданады. ДҚБЖ-нің ішкі бөлігі (бөлшегі) кестелер мен олардың
бағаналарының аттарымен мүлдем жұмыс істемейді.
PLSQL – бұл Oracle-ға тиесілі болып келетін SQL-дің, реляциялық
деректер қорлары тілінің процедуралық кеңеюі болып табылады. PLSQL
деректерді инкапсуляциялау, ақпаратты жасыру, аттарды қайта анықтау мен
жоққа шығаруларды өңдеу сияқты программалық қамтамасыз етуді өңдеудің
қазіргі заманғы құралдарымен толығымен интеграцияланады және онысымен
Oracle-ға және Oracle-дің әртүрлі құралдарына программалаудың қазіргі
заманғы шеберлігін жеткізеді. PLSQL 1970-ші және 1980-ші жылдары пайда
болған программалау тілдерінің көптеген жетістіктерін өзіне қосты.
PLSQL – бұл блоктармен құрылымдастырылған тіл. Бұл дегеніміз, PLSQL
программасын құрайтын негізгі бірліктер (процедуралар, қызметтер мен
анонимдік блоктары), логикалық БЛОКТАРЫ болып табылады, олар оларға
салынған блок ішіндегілердің кез келген санынан тұруы мүмкін. Әдетте, әрбір
логикалық блок ол шешетін кейбір мәселеге немесе мәселе ішіндегіге сәйкес
келеді. Осындай жағдайда, PLSQL ҚАДАМДЫҚ НАҚТЫЛАУ ретінде танымал бөліп
алда иелік ет қағидасы бойынша тапсырмалардың шешілуін қолдайды. Блок
(немесе блок ішіндегі) сізге логикалық байланысқан хабарламалары мен
ұсыныстарын топтастыруға қол жеткізеді. Осының арқасында сіз хабарламаларды
олар қолданылатын жерлерге жақын орналастыра алатын боласыз. Хабарламалар
блокта локалды және блок аяқталған кезінде қызмет етулерін тоқтатады.
4-сурет көрсетіп тұрғанындай, PLSQL блогының үш бөлігі бар:
декларативтік бөлігі, атқарылатын бөлігі және жоққа шығаруларды өңдеудің
бөлігі. (PLSQL-де жоққа шығарулар деп ескертуді немесе қатені туындататын
шарт аталады.) Атқарылатын бөлік міндетті болып табылады; блоктың қалған
екі бөлігі болмаса да болады.
┌────────────────────────────────── ───────────┐
│ DECLARE

│ ┌────────────────────────────────┐ │
│ Объявления


│ └────────────────────────────────┘ │
│ BEGIN

│ ┌────────────────────────────────┐ │
│ │ Выполняемые предложения │

│ └────────────────────────────────┘ │
│ EXCEPTION

│ ┌────────────────────────────────┐ │
│ │ Обработчики исключений │

│ └────────────────────────────────┘ │
│ END;

└────────────────────────────────── ───────────┘
4-сурет. PLSQL блогының құрылымы. PLSQL блогы

Әрбір блокта басқа блоктары болуы мүмкін; басқа сөзбен айтқанда, блоктар
бір біріне салынуы мүмкін. Енгізілген блок блок ішіндегі деп аталынады; ол
қоршаған блокқа салынған. Сіз блоктарды атқарушылық бөлігіне немесе өңдеу
бөліктеріне, деклараивтік бөлігіне емес, PLSQL блоктарының қосымшаларына
сала аласыз. Оның үстіне, сіз кез келген блоктың декларативтік бөлігіндегі
жергілікті программа ішіндегілерін анықтай аласыз. Дегенмен, сіз жергілікті
программа ішіндегілерін олар анықталған блоктан ғана шақыра аласыз.

3. Oracle компаниясының тарихы мен серверлік өнімдері

Oracle (Oracle V.2) ДҚБЖ-нің тапсырыс берушілерге қол жеткізімді бірінші
нұсқауын Relational Software Inc. компаниясы 1979 ж. шығарған болатын. Бұл
нұсқау ОС RSX-11 ортасында PDP-11 миникомпьютерлер жанұясына арналған
пайдалануға бағытталған болатын. Жүйенің көпшілік бөлігі PDP-11
ассемблерінің тілінде жазылған болатын, бірақ сонымен бірге, ол сол уақыт
үшін жаңа болып табылатын Си тіліндегі мәтіндерінен де тұрды. ДҚБЖ тек ОС
RSX-11 ортасында ғана қызмет етпей, сонымен бірге, ол PDP-11 қолданатын
IAS, RSTS пен Unix өзге де операциялық орталарында қызмет ете алды. Нақ сол
кезде Oracle-ді VAX VMS 32-разрядтық операциялық ортасына ауыстыру туралы
шешім қабылданған болатын, бұл Oracle ДҚБЖ-нің деректер қорын
миникомпьютерлерінде басқарудың алдыңғы қатарлы жүйесі ретіндегі тағдырын
ұзақ жылдарға анықтаған еді.
Oracle-ді пайдаланушыларға SQL продуцирлік емес реляциондық тілдің
негізінде деректер қорын манипулирлеу мүмкіндігі анағұрлым күшті әсерін
тигізген, ол үшін сол уақытта, IBM компаниясының тек қана фирмалық
стандарты бар болатын. Oracle V.2 ДҚБЖ-нің шектелген мүмкіндіктеріне ие
болды; атап айтқанда, жүйеде транзакцияларды басқару құралдары болмады, бұл
пайдаланушыларды резервтік көшірмелеудің көп еңбекті талап ететін
процедурасын үнемі пайдалануларына мәжбүр еткізді.
Oracle V.3 ДҚБЖ жарыққа 1983 жылы шыққан болатын. Ол толығымен Си
программалау тіліне көшірілген болатын, бұл ары қарайғы кезеңде жүйені
аппараттық-программалық платформалардың үлкен санына ауыстыру мәселесін
шешуге қол жеткізген болатын. SQL-интерфейс арқылы қол жеткізімді
қызметтері кеңейтілген еді. Жүйені пайдаланушыларға көмек ретінде
транзакция түсінігі енгізілді. Тура сол уақытта, Relational Software Inc.
компаниясы Oracle Corp-қа қайта құрылған болатын.
1985 ж. нарықта Oracle V.5 ДҚБЖ-сі пайда болды. Осы жүйеде "клиент-
сервер" архитектурасы қолданылды және алғаш рет желінің әртүрлі торларында
орналасқан деректер қорын бір уақытта пайдалану мүмкіндігі пайда болды.
Жүйенің алтыншы нұсқауы OLTP режимінде орындалатын корпоративтік
ақпараттық қосымшаларын құру құралы ретінде болды. Жүйеде келесілері жүзеге
асырылды: жазбалар деңгейіндегі бұғаттану жүйесі, сонымен бірге, бұғаттау
қажеттілігінсіз деректер қорынан қарама-қарсы келмейтін оқылулар механизмі.
Oracle V.6 ДҚБЖ жаңа платформалардың қатарына, соның ішінде, OS2 пен
Macintosh-қа да ауыстырылған болатын.
Алтыншы нұсқаудың маңыздылықты жаңалықты енгізушілері ретінде PLSQL
программалаудың процедуралық тілінің пайда болуы болды. Оны деректер
қорының серверінде сақталынатын процедураларды анықтау үшін, сонымен бірге,
қосымшаларды SQL*Forms төртінші ұрпақтағы тілдің құрамында өңдеу үшін де
пайдалануға болатын. Оның үстіне, SQL тілінің іске асырылған нұсқауында
бүтінділікті реляциялық деректер қорларында қолдаудың анағұрлым іргетасты
механизмдерінің бірі ретіндегі сілтемелік бүтінділікті (reference
integrity) анықтау құралдары пайда болды.
Oracle ДҚБЖ-нің жетінші нұсқауы нарықта 1994 жылы пайда болды. Бұл
реляциялық деректер қорын басқаруға арналған анағұрлым салмақты серверлік
өнімдерінің бірі болып табылады. Oracle V.7-де сервердің тиімділігін
жоғарылатуға бағытталған жаңа архитектуралық шешімдерінің бірқатары
қолданылады, соның ішінде, деректер қоры серверінде компилирлерген SQL-
операторларының буферленуі, серверлік үрдістерінің жалпы пулын және әртүрлі
транзакциялардан келіп түсетін SQL операторларын орындауға арналған
жіптерін пайдалану, сұрауларды оңтайландыруға арналған әртүрлі
статистикалық ақпаратын пайдалану және т.б.
PLSQL тілін пайдалану мүмкіндіктері маңызды деңгейде кеңейтілді. Oracle
V.7-де осы тілді триггерлерді, арнайы мамандандырылған жағдайлардың
туындауы кезінде автоматты түрде сервердің шақыратын сақталынатын
процедураларды анықтау үшін пайдалануға болады (мысалға, жалпы кестені
модификациялау операцияларын орындауда немесе кестенің нақты жолын жаңарту
кезінде). PLSQL қызметі SQL операторларындағы әдеттегі бірге енгізілген
қызметтері ретінде шақыртылуы мүмкін. Айта кететіні, PLSQL тілінің
қатысты, бірақ маңызды дәрежедегі кемшілігі ретінде – оның SQL халықаралық
стандартының құрамына кірмейтіндігі болып табылады, дегенмен, бұл жағдай
мүмкін SQL-3 стандарттарында өзгеретін болады.
Oracle V.7 бөлінген нұсқауында деректерді репликациялау мүмкіндігі
қолданады және алыстатылған процедураларды асинхрондық шақыру мүмкіндігі
бар.

1. Oracle

Oracle компаниясының деректер қоймасы шеңберіндегі шешімі екі
факторларға негізделеді: компанияның өз өнімінің кең ассортименті мен
серіктестердің Warehouse Technology Initiative программасының
шеңберлеріндегі қызметі. Oracle-дің деректер қоймасы саласындағы
мүмкіндіктері келесідей құрамдастарға негізделеді:
• Oracle 7-де реляциялық ДҚБЖ-нің бар болуы, ол деректер қоймасының
қажеттіліктерін жақсырақ қанағаттандыру үшін тұрақты түрде
жетілдіріліп отырады;
• деректер қоймасы өңдеулерінің мүмкіндіктерін қамтамасыз ететін дайын
қосымшалар жиынының болуы;
• компанияның деректерді талдау саласындағы жоғары технологиялық
әлеуеті;
• өзге компаниялары өңдейтін өнімдердің бірқатарының қол жеткізімділігі.

Деректер қорының программалық қамтамасыз етілуі – бұл ақпаратты басқару
мәселелерін шешудің кілті болып табылады. Жалпы айтқанда, деректер қорын
басқару жүйесі (ДҚБЖ) барлық қолданушылардың бір уақытта бірдей деректермен
жұмыс істей алатындай етіп, көп қолданушылық ортасындағы деректердің үлкен
көлемін сенімді басқаруға қабілетті болуы тиіс. Осының барлығы деректер
қорын пайдаланушылардың жоғары өнімділігін қамтамасыз ету кезінде қол
жеткізілуі тиіс. Сонымен бірге, ДҚБЖ заңсыз кіруден қорғалуы тиіс және
істен шығуларды қайта қалпына келтіру үшін тиімді шешімдерін ұсынуы тиіс.
Oracle сервері деректер қорының негізгі құралдарына арналған тиімді және
қызметтік шешімдерін қамтамасыз етеді:
▪ үлкен көлемдегі деректер қорын басқару мен кеңістікті
басқаруға бақылау жасау. Oracle жүздеген гигабайтқа дейінгі
әлеуетті көлемдегі деректердің ең үлкен қорларын қолдап тұрады.
Қымбат тұратын дисктік құрылғыларына қызметтік бақылауды
қамтамасыз ету үшін ол кеңістікті бөлудің толық бақылауын
ұсынады.
▪ Деректер қорының бір уақыттағы көптеген қолданушылары. Oracle
бір уақытта бірдей деректерімен жұмыс істейтін әртүрлі
қосымшаларын орындап жатқан пайдаланушылардың үлкен санын
қолдайды. Ол деректерге таласуды минималдайды және деректердің
келісімділігін кепілдейді.
▪ Транзакцияларды өңдеудің жоғары өнімділігі. Oracle жүйенің
соммалық өнімділігінің жоғары деңгейін сақтай отырып, жоғарыда
аталған барлық құралдарын қолдайды. Деректер қорын
пайдаланушылар өңдеудің төмен өнімділігінен зардап шекпейді.
▪ Дайындықтың жоғары деңгейі. Кейбір орнатылымдарында Oracle
деректер қорының өткізімдік өабілетін шектейтін жүктеме
кезеңдерінсіз тәулігіне 24 сағат жұмыс істейді. Деректер
қорының істен шығуы, сонымен бірге, компьютерлік жүйенің
бөлшектенген істен шығулары сияқты қалыпты жүйелік операциялар
деректер қорымен жұмысты үзбейді.
▪ Басқарылатын қол жеткізімділік. Oracle деректер қоры
деңгейінде, сонымен бірге, төмен деңгейлердегі деректердің қол
жеткізімділігін таңдамалы басқара алады. Мысалға, администратор
өзге қосымшаларына тиіспей, нақты қосымшаға кіруді ажырата
алады.
▪ Өнеркәсіптік стандарттары. Oracle деректерге, операциялық
жүйелеріне, пайдаланушымен және желілік хаттамаларымен
интерфейстеріне кіру тілі бойынша өнеркәсіптік қабылданған
стандарттарын қанағаттандырады. Бұл ашық жүйе болып табылады,
ол тапсырыс берушінің инвестицияларын қорғайды. Oracle7
серверін АҚШ-тың Ұлттық стандарттар мен технологиялар институты
ANSIISO SQL89 стандартымен 100 %-дық үйлесімді ретінде
сертификаттаған болатын. Oracle7 АҚШ-тың FIPS127-1 үкіметтік
стандарттарының талаптарын толығымен қанағаттандырады және SQL-
дің стандартты емес қолдануларын атап өтуге арналған
маркирлеушісіне ие болып келеді. Оның үстіне, Oracle7-ні
Компьютерлік қауіпсіздіктің Үкіметтік ұлттық орталығы (NCSC)
Сарғыш кітапты қорғау критерийлерімен үйлесімді ретінде
бағалаған болатын; Oracle7 сервері мен Trusted Oracle7
сәйкесінше, Сарғыш кітаптың С2 және В1 деңгейлеріне, сонымен
бірге, олармен салыстырылатын қорғаудың еуропалық
критерийлеріне ITSEC де сәйкес келеді.
▪ Басқарылатын қорғаныс. Деректер қорына заңсыз кіруден қорғау
үшін Oracle деректерге кіруді шектейтін және қадағалайтын,
істен шығулардан қорғайтын қауіпсіздік құралдарын ұсынады. Бұл
құралдар кірудің тіпті ең күрделі жобаларын оңай басқаруға қол
жеткізеді.
▪ Бүтінділікті автоматтандырылған қамтамасыз ету. Oracle
деректердің сәйкес келу стандарттарын бағыттайтын
ұйымдастырушылық тәріптерін сақтай отырып, деректердің
бүтінділігін автоматты түрде қолдайды. Соның салдарынан,
деректер қорының көп санды қосымшаларындағы кодтау мен
тексерулермен бірге жүруге жұмсалатын шығындары алынып
тасталады.
▪ Клиентсервер айналасы (бөлінген өңдеу). Берілген
компьютерлік жүйеден немесе желіден ең көп артықшылықтарын алу
... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Кинопарк 7 Ақтөбе деректер қорына навигациялық тәсілдерді қолдану
Эксперттік жүйе функциясы
Visual Basic ортасының деректер қоймасына қатынаудың құрауышының қызметі
Кәсіпорын клиенттер мәлімдемелерін есепке алу үшін веб серверлер
Денсаулық сақтау саласының бірыңғай ақпараттық жүйесі
Мәліметтер базасын басқару жүйесі
Деректер қоры «Тенисшілер»
Берілгендер қорындағы кестеледі біріктірудің теориялық негіздері
Кітапханаға келушілерді электронды журналға тіркеп отыратын арнайы бағдарламалық кешенін жасау
Мәліметтердің ақпараттық модельдері: фактографиялық, реляциялық, иерархиялық, желілік.
Пәндер