Материалдар / Ахмет Байтұрсынов
2023-2024 оқу жылына арналған

қысқа мерзімді сабақ жоспарларын

жүктеп алғыңыз келеді ма?
ҚР Білім және Ғылым министірлігінің стандартымен 2022-2023 оқу жылына арналған 472-бұйрыққа сай жасалған

Ахмет Байтұрсынов

Материал туралы қысқаша түсінік
Оқушыларға өлеңдері маңызды
Авторы:
Автор материалды ақылы түрде жариялады.
Сатылымнан түскен қаражат авторға автоматты түрде аударылады. Толығырақ
08 Маусым 2020
352
0 рет жүктелген
Бүгін алсаңыз 25% жеңілдік
беріледі
770 тг 578 тг
Тегін турнир Мұғалімдер мен Тәрбиешілерге
Дипломдар мен сертификаттарды алып үлгеріңіз!
Бұл бетте материалдың қысқаша нұсқасы ұсынылған. Материалдың толық нұсқасын жүктеп алып, көруге болады
logo

Материалдың толық нұсқасын
жүктеп алып көруге болады

Қазақстан Республикасы Білім және ғылым министрлігі
«Алматы энергетика және байланыс университеті»
коммерциялық емес акционерлік қоғамы

И.Т. Утепбергенов , Ш.Н. Сагындыкова

АҚПАРАТТЫҚ ЖҮЙЕЛЕРДЕГІ ДЕРЕКТЕР ҚОРЫ

Оқу құралы

Алматы
АЭжБУ
2016

ӘОЖ 004.6(075.8)
КБЖ
У82
Пікір берушілер:
техника ғылымдарының докторы, Қ.И. Сәтбаев атындағы ҚазҰТУ
ақпараттық қауіпсіздік кафедрасының профессоры
Д.З. Джурунтаев,
техника ғылымдарының докторы, Халықаралық IT Университеті
Р.К.Ускенбаева,
"Электроника" кафедрасының АЭжБУ доценті
Е.О. Елеукулов
Алматы энергетика және байланыс университетінің Ғылыми кеңесі
басуға ұсынды (__.___.2016 ж. № _ хаттама). АЭжБУ 2016 ж. ведомостік
әдебиеттер басылымдарын шығарудың тақырыптық жоспары
бойынша басылады, реті 45.
Утепбергенов И.Т., Сагындыкова Ш.Н.
У82 Ақпараттық жүйелердегі деректер қоры.
Ақпараттық жүйелердегі деректер қоры: Оқу құралы (жоғары оқу
орындарының «Ақпараттық жүйелер» мамандығы студенттеріне
арналған)/ И.Т.Утепбергенов, Ш.Н.Сагындыкова. – Алматы: АЭжБУ,
2016. – 157 б.: кесте – 1, ил. – 35, әдеб. көрсеткіші – 25 атау.
ISBN
Оқу құралында мәліметтер қорлары және информациялық жүйе,
мәліметтер қорларын басқару жүйелері, жеке және таралған мәліметтер
қорларының архитектурасы түсінігі қарастырылады. Реляционды мәліметтер
моделі және реляционды мәліметтер қорларын жобалау сипаттамасы беріледі.
Техникалық және экономикалық мамандықтарында оқитын және
мәліметтер қорларымен байланысты пәндері жоғары оқу орындарының
студенттеріне және тыңдармандарына арналған.
Оқу құралы «Ақпараттық жүйелер» мамандығы бойынша білім алатын
студенттерге арналған.
ӘОЖ 004.6(075.8)
КБЖ
© АЭжБУ, 2016
Утепбергенов И.Т.,
Сагындыкова Ш.Н.,2016

ISBN

2

1.1. Развитие основных понятий представления данных
Любой вычислительный процесс представляет собой отображение (по
определенному алгоритму) некоторых входных данных в выходные.
Соотношение сложности представления обрабатываемых данных и
алгоритма вычислений определяет два класса задач:
1)
вычислительные задачи – достаточно простое представление
данных и сложный, многооперационный процесс вычислений;
2)
задачи обработки данных (невычислительные задачи) – простой
алгоритм обработки данных и сложное представление обрабатываемых данных.
На начальной стадии обучения программированию основное внимание
уделяется разработке алгоритма решения задачи. Однако часто оказывается,
что возможность (или невозможность) решения конкретной задачи зависит не
только от выбранного алгоритма, но и от того, какие понятия используются для
представления обрабатываемых данных.

1 Деректер қорына кіріспе. Негізгі түсініктердің жалпы сипаттамасы
Мақсаты: ЭЕМ-де шешілетін есептердің түрінің өзгеруіне байланысты
бағдарламалауда, соның ішінде деректер қоры секілді, деректерді ұсынудың
жаңа түрлерінің пайда болатынын көрсету.
1.1 Деректерді ұсынудың негізгі түсініктерінің дамуы
Кез келген есепетуіш үрдіс келген деректердің шығу деректеріне
бейнеленуін (белгілі бір алгоритм бойынша) білдіреді.

1.1 сурет – Алгоритм
Өңделетін деректер мен есептеу алгоритмдерін ұсыну күрделілігінің
қатынасы есептердің екі класын анықтайды:
3) Есептеуіш есептер – есептеу дерекетерін ұсынудың жеткілікті
қарапайым және күрделі көп операциялық үрдісі.
4) Деректерді өңдеудің есептері (есептеуіш емес есептер) – деректерді
өңдеудің қарапайым алгоритмі және өңделетін деректердің күрделі ұсынылуы.
Бағдарламалауды үйренудің бастапқы сатысында есептерді шешу
алгоритмін жасақтауға негізгі көңіл бөлінеді. Алайда, нақты есепті шешу
мүмкіндігі (немесе мүмкінсіздігі) таңдалған алгоритмге ғана байланысты емес,
3

сонымен қатар өңделетін деректерді ұсыну үшін қандай түсініктер
қолданылатынына да байланысты.
Келесі формула бойынша есептелетін қарапайым мысалды қарастырайық:
Y=X2+5X,
мұндағы X және Y – анықталған сандар, олар мұнда деректердің
қарапайым бірлігі (деректер элементтері) болып табылады.
Осы есепті шешу алгоритмін бағдарламалау кезінде (формуланы
бағдарламалау) деректердің қарапайым түрі – қарапайым айнымалылар (X және
Y бағдарламада қарапайым айнымалылар ретінде ұсынылады) қолданылады.
Бағдарламалау жүйесінде қарапайым айнымалы, бағдарламалау кезінде
таңдалуға тиісті, оның мәндерінің белгілі бір типімен сипатталады. Тіпті бұл
қарапайым жағдайда да айнымалының типін дұрыс таңдау қажет, себебі
қолданбалы есептің нақты шешімінің мүмкіндігі немесе мүмкінсіздігі осы
таңдауға байланысты (мысалы, нақты деректерді ұсыну үшін берілген
разрядтар жетпейді).
Басқа мысалды қарастырайық:
S=a1+a2+...+aN.
Бұл есептің шешімін, жалпы жағдайда тек қана қарапайым
айнымалыларды қолдана отырып, алу мүмкін емес. Мұнда жай сан емес, ал
сандар тізбегі өңделеді. Бұл жағдайда бағдарламалау кезінде, жиын (массив)
секілді деректер түрі қолданылады. Жиын (массив) – элементтер жиынтығы,
элементтердің әрқайсысы, индекс деп аталатын, реттелген бүтін сандар
жиынымен байланысқан. Барлық элементтердің мәндерінің типі бірдей болуы
қажет, ол жиын типі де болады. Бұл жағдайда a1, a2,..., aN сандары бағдарламада
A(1), A(2),..., A(N) жиынымен беріледі.
Қарастырылған мысалдар есеп түрінің өзгеруі басқа деректер түрлерін
қолдану қажеттілігін міндеттейді.
Бағдарламалаудың бұрынғы тілдері (ФОРТРАН, АЛГОЛ-60) ғылымитехникалық есептеуіш есептерді шешу үшін арналған. Бұл тілдерде тек
жоғарыда көрсетілген деректер түрлері (қарапайым айнымалылар және
жиындар) қолданылған.
60-шы жылдардың соңынан бастап, әртүрлі түрдегі құжаттарды өңдеумен
байланысты, есептелмейтін деп аталатын есептерді шешуі үшін
компьютерлерді қарқынды қолдана бастайды. Деректердің жаңа түрлерінің
пайда болуын деректерді өңдеудің жеңілдетілген есептер мысалында
қарастырайық.
Тапсырма 1. Жалақыны есептеу.
Есепті екі жеңілдетілген болжаммен қарастырайық:
1) Қызметкерге жалақы оның айлығы (оклад) негізінде есептеледі.
2) Бірде-бір салықтар мен ұстап қалулар ескерілмейді.
Осы есепті шешуге арналған қызметкерлер бойынша мәліметтер келесі
«ЕСЕПТЕП ЖАЗУ» карточкасында берілген:
Тегі,

аты-жөні, Айлық

Бір айдағы жұмыс Есептелген
4

әкесінің аты

жасаған
саны

FIO

O

күндер сомасы
Ko

S

Әр қызметкер үшін белгілі-бір айға есептелген сома келесі формула
бойынша есептеледі:
S=KoO/Kr,
мұндағы Kr – берілген айдағы жұмыс күндерінің саны.
Әр қызметкер үшін сәйкес деректер нақты мәнге ие, мысалы:
Иванов
Иванович

Иван 180000

24

180000

Бұл мәндердің мәні бір бірімен байланыс кезінде ғана бар. Жеке
таңдалған 180000 саны өзінің мағыналық мәнін жоғалтатындықтан, мұнда оны
қарапайым айнымалы деректер түрінде қолдануға болмайды. Сонымен бірге,
нақты қызметкерді сипаттайтын, сәйкес мәндер жиыны әртүрлі типте
(символдық және сандық) болады, яғни оларды ұсыну үшін жиын сияқты
деректер түрінде қолдануға болмайды. Осылайша, «қарапайым айнымалы»
және «жиын» түсініктері, сәйкес карточканы ұсыну үшін, жеткіліксіз.
Есептелмейтін есептердің пәндік аймақтарында осындай деректерді
ұсынуды бейнелеу үшін жаңа түсініктер реті енгізілді [1.1].
Деректер элементі (өріс) – атаулы деректердің ең кіші бірлігі.
Берілген мысал үшін деректер элементі FIO, O, Ko, S болып табылады.
Қызметкер карточкасын сипаттау үшін «Логикалық жазба» түсінігі
қолданылады.
Логикалық жазба – деректер элементтерінің (өрістер) атаулы жиынтығы.
Логикалық жазба данасы (экземпляр) – жазба элементтерінің ағымдағы
мәні.
Қызметкерлер карточкаларының барлық жиынын ұсыну үшін
«Логикалық файл» түсінігі қолданылады.
Логикалық файл – берілген типтегі барлық жазба даналарының атаулы
жиынтығы.
«ТӨЛЕМ» (НАЧИСЛЕНИЕ) логикалық файлының мысалы:
Иванов
Иван
Иванович
Абаев
Абай
Абаевич
-----------------Акпаева
Лиза
Маратовна

180000

24

180000

220000

20

183000

--------------------250000

------------------24

-----------250000

5

Осылайша, енгізілген түсініктердің көмегімен сәйкес деректерді
бейнелеуге болады. Заманауи бағдарламалау тілдерінде, есептеуіш есептерге
және де деректерді өңдейтін есептерге арналған, осы түсініктерді бейнелеу
үшін жаңа деректер түрі енгізілді.
Паскаль алгоритмдік тілінде, жазба (RECORD) – әртүрлі типте бола
алатын, бірнеше компоненттері бар күрделі айнымалылар секілді, деректер
түрлері енгізіледі. Сонымен қатар, жазба (өріс) компоненттеріне рұқсат индекс
бойынша емес, ал атау бойынша жүзеге асады. Тапсырма 1 Паскаль
бағдарламалау тілінде бағдарламалау кезінде «ТӨЛЕМ» (НАЧИСЛЕНИЕ)
логикалық жазба (логикалық файл) «RECORD» деректер түрімен ұсынылады,
қызметкерлердің логикалық жазба даналарының жиыны, Паскаль тілінің
құралдарымен және операциялық жүйемен құрастырылатын, «физикалық»
файлмен ұсынылады.
Salary = RECORD
FIO: string;
O:
real;
Ko: real;
S:
real;
END;
Мұндай есептеуіш емес есептердің маңызды ерекшелігін атап өтейік.
Мұндай есептерге үлкен көлемді деректер (қызметкерлердің үлкен саны,
өндірілетін өнімнің үлкен саны т.с.с.) сипаты тән. Көрсетілген деректер,
ережеге сәйкес, есептерді шешу үшін бірнеше рет қолданылады (еңбек ақы
үнемі әр ай сайын есептеледі), сондықтан деректер ЭЕМ жадында жеткілікті
ұзақ сақталуы қажет. Ұзақ уақыт сақтау үшін үнемі сыртқы жады қолданылады.
Осыған байланысты тапсырма 1 екі сатыдан тұрады.
1. бастапқы деректерді енгізу және оларды сыртқы жадыға кіргізу.
type
Salary = RECORD
FIO:
string;
O:
real;
Ko:
real;
S:
real;
END;
FSalary = File of Salary;
var
F: FSalary;
...
{ Бастапқы деректерді енгізу }
repeat
write('Қызметкерлер санын енгізіңіз (көп емес',
MaxN,' ): ');
readln(N);
until (N>0) AND (N<=MaxN);
For I := 1 to N do
6

Begin
Write(I,'нөмірлі қызметкер тегін енгізіңіз: ');
ReadLn(Sotr[i].FIO);
Write(I,'нөмірлі қызметкердің еңбек ақысын енгізіңіз: ');
ReadLn(Sotr[i].O);
Write(I,'нөмірлі қызметкердің жұмыс жасаған күндер санын енгізіңіз:');
ReadLn(Sotr[i].Ko);
End;
{ Деректерді сыртқы жадыға кіргізу }
Assign(F, 'MyFile.fsf');
Rewrite(F);
For I := 1 to N do
Write(F, Sotr[i]);
Close(F);
...
2. Сыртқы жадыдан бастапқы деректерді оқу, есептелген соманың есебі
және оларды баспаға шығару.
...
{ Сыртқы жадыдан мәліметтерді оқу }
Assign(F, 'MyFile.fsf');
Reset(F);
For I := 1 to N do
Read(F, Sotr[i]);
Close(F);
{ есептелген сома есебі және баспаға шығару }
For I := 1 to N do
Begin
Sotr[i].S := Sotr[i].O * Sotr[i].Ko / Kr;
WriteLn(Sotr[i].FIO, ': ', Sotr[i].S);
End;
...
Ұсынылған бағдарламалар қойылған есепті жасалған болжамдар
бойынша шешеді. Бұған қажетті деректер, тек осы есепті шешу үшін арналған,
MyFile.fsf файлында сақталады. Атап өтейік, бұл жағдайда деректерді сипаттау
қолданбалы бағдарламаға қосылған. Жазба файлының форматын өзгерту
кезінде қолданбалы бағдарламаны да өзгерту қажет. Осылайша, қойылған
есепті шешетін, бағдарламалық жүйе өзінің өзіне меншікті деректерін
анықтайды және оларды басқарады. Мұндай бағдарламалық жүйелер файлдық
жүйелер деп аталады [1.2 [ 1.3 ].
Тапсырма 2. Кадр құрамын есепке алу.
Мұнда «ҚЫЗМЕТКЕР» (СОТРУДНИК) карточкасында ұсынылған,
қызметкерлер туралы мәліметтер өңделеді:
7

Тегі,
аты-жөні, Қызметі
әкесінің аты
FIO
D

Туған жылы
G

Еңбек
ақысы
O

Мекен
жайы
M

Есепті шешу келесі сатылардан тұрады:
Бастапқы деректерді енгізу және оларды сыртқы жадыға кіргізу.
Жазбаны жою, жөндеу немесе қосу мақсатымен сыртқы жадыдан
бастапқы деректерді оқу.
...
{ Сыртқы жадыдан деректерді оқу }
Assign(F, 'MyFile.fsf');
Reset(F);
IsFound := False;
For I := 1 to N do
Begin
Read(F, Sotr);
If Sotr.FIO = KeyFio Then
Begin
IsFound := True;
Sotr.D := Бөлім бастығы';
Seek(F, FilePos(F)-1);
Write(F, Sotr);
Break;
End;
If IsFound Then
WriteLn('Жөндеу сәтті жүргізілді')
Else WriteLn('Қызметкер ', KeyFio, 'табылған жоқ');
Close(F);
...
Қарастырылып отырған жағдайда тапсырма 2 тапсырма 1 тәуелсіз
шешіледі.
Тапсырма 3. Қызметкердің ауыруына байланысты еңбек ақы қорын
(ЕАҚФ) үнемдеу есебі.
«ЕАҚФ ҮНЕМДЕУ» (ЭКОНОМИЯ ФОТ) жазбасымен ұсынылған,
деректер өңделеді:
Тегі, аты-жөні,
Еңбекке
Төленбеген
әкесінің аты
жарамсыз
сома
Еңбек ақы
парағындағы
күндер саны
FIO
O
Kдв
SN
SN=KдвO/Kr.
Тапсырма 3 шешу бағдарламасы тапсырма 1 шешу бағдарламасына ұқсас.

8

Жоғарыда көрсетілген барлық үш бағдарламалық жүйе бір мекемеде
болатын, әдеттегі жағдайды қарастырайық. Келесі түбегейлі пайдалану
кемшіліктерін атап өтейік:
Ақпараттар қайталанады. Үш файлда да FIO, O өрістері бар, бұл елеулі
артық жұмсалуына алып келеді. Өзгертулер енгізу кезінде (мысалы, тектерін
өзгерту) бір мәнді бірнеше рет әртүрлі файлға енгізуге тура келеді, бұл
машиналық уақыт шығынының жоғарлауына алып келеді. Деректердің қарамақайшылығының әлеуетті мүмкіндігі бар (бір файлға өзгертулер енгізілген, ал
екіншісіне енгізілмеген).
Сәйкес жазбаларды біріктіру және жоғарыда аталған есептердің барлығы
үшін бір ақпараттық қор (база) құру арқылы аталған кемшіліктерді жоюға
болады. Бір қарағанда, қайталанатын өрістерді алып тастап, барлық жазбаларды
бір жазбаға біріктіру барынша табиғи. Біріктірудің мүмкін нұсқасын аламыз:
FIO

D

O

G

Ko

M

Kдв

S

SN

Ақпараттардың қайталануы толығымен алынып тасталды. Жады шығыны
аз. Кемшіліктер жойылды. Бұл жағдайда 1–3 тапсырмаларының қалай
өзгеретінін қарастырайық. Есепті шешу уақыты сыртқы жадыдағы деректерді
санау көлеміне тікелей тепе тең.
Әр есеп үшін жеке файлдарды қолдану кезінде i –ші есептің ( i = 1, 2, 3)
шешу уақытын, жазба ұзындығын, жазба санын сәйкесінше Ti, li, Ni белгілейік:
Ті ≈C ·Li ·Ni,,
мұндағы C – тепе-теңдіктің кейбір коэффициенті.
Біріккен жазбаларды, жазба ұзындығын, жазба санын қолдану кезіндегі
i –ші есептің ( i = 1, 2, 3) шешу уақытын сәйкесінше Ri, d, N белгілейік:
Rі ≈C ·d ·N,
N1 = N2 = N, N3 << N ескерейік.
Онда i –ші есепті ( i = 1, 2) шешу уақыты біріккен файлды қолдану
кезінде Rі/Ti ≈d/Li рет жоғарылайды. Біздің мысалымыз үшін таңдалған өріс
ұзындығына байланысты 2–3 есе өзгеруі мүмкін. Осылайша, қайталануды жою
есепті шешу уақытының өсуіне алып келеді. Ережеге сәйкес мұндай өсу
мүмкін.
Тапсырма 3 шешу уақыты R3/T3 ≈d·N/l3·N3 есе өседі. Себебі берілген
мысал үшін N3 << N, онда R3 >> T3. Тапсырма 3 шешу уақыты бірнеше
қатарға өсуі мүмкін, бұл тіптен мүмкін емес.
Бір ақпараттық қорды құрудың басқа нұсқасын қарастырайық. 1 және 2
тапсырмалардың жазбаларын біріктіріп, тапсырма 3 жеке қалдырайық. Екі
жазбаны аламыз:
FIO
FIO

D

O

G

Ko

O

Kдв
9

S

M
SN

Бұл жағдайда қайталану қалады (FIO, O өрістері қайталанады). Бірақ
N3< тапсырмаларды шешу уақыты жеке файлдық жүйелер нұсқасымен
салыстырғанда аздап өседі, тапсырма 3 шешу уақыты жеке файлдың алдыңғы
нұсқасындағыдай қалады. Мұндай біріктіру кемшіліктердің ықпал етуін
біршама азайтады және сонысмен бірге барлық тапсырмалардың шешу
уақытын біршама жоғарылатады. Барлық үш тапсырмаларды, екі түрлі
жазбадан тұратын ортақ ақпараттық қорды қолдана отырып, шешуге болады.
Екі келтірілген жазба типтері бір-бірімен FIO өрісі бойынша байланысқан.
Интеграцияның келтірілген нұсқалары келтірілген тапсырмалар үшін
интеграцияның барлық мүмкін тәсілдерін тамамдамайды және ең жақсы
нұсқаны таңдау сұрағына келесі дәрістерде ораламыз.
Мұнда бұл жағдайда жоғарыда көрсетілген тапсырмаларды шешу үшін,
жазбаны интеграциялау негізінде құрылған, деректердің кейбір жаңа түрлері
қолданылады.
Бұл түрдегі деректерді сипаттау үшін «Деректер қоры» деген жаңа түсінік
енгізіледі [1.1].
Деректер қоры – әртүрлі типтегі жазба даналарының жиынтығы және
жазбалар мен элементтер арасындағы қатынастар.
Деректер қорын мнималды артықтығы бар болған кезде өзара
байланысқан бірге сақталатын деректер ретінде анықтауға болады. Бір немесе
бірнеше қосымшалар үшін оларды тиімді қолдануға мүмкіндік береді.
Осылайша, «Деректер қоры» түсінігінің пайда болуы есептеуіш емес
есептердің жаңа класының пайда болуымен шарттасқан. Оларды шешу кезінде
ортақ деректер қолданылады. Деректер қорын құрастырудың тиімді критериі
ретінде, ережеге сәйкес, қолданбалы бағдарлама қолданушылары сұраныстарын
жүзеге асырудың уақытша сипаттамалары қолданылады.
Қысқаша қорытынды. Деректерді ұсынудың негізгі түсініктерінің дамуы
қарастырылды. Деректермен (айнымалы, жиын) байланысты бағдарламалаудың
калассикалық нұсқасы және шешілетін есептердің кеңу нәтижесі мен олардың
бағдарламалау жүйесіндегі бейнесі секілді бағдарламалаудың жаңа
түсініктерінің пайда болуы сипатталды. Жалпы деректердің бірнеше есептерін
қолдану кезіндегі деректерді интегралдау есебі қойылды. Деректер қоры
түсінігі анықталды.
2 Деректер қорын басқару жүйесі
Мақсаты: қолданбалы бағдарламалар мен деректер қоры арасындағы
бағдарламалық интерфейсті құру қажеттілігін көрсетті, деректер қорын басқару
жүйесі түсінігін анықтау және деректер қоры мен көптеген қолданушылардың
өзара әрекеттесуінен шығатын, ДҚБЖ негізгі функцияларын құрастыру.
Есептерді шешу кезінде бір немесе бірнеше жеке файлдарды қолданатын,
қолданбалы бағдарламада деректердің сақталуына және нақтылығына, осы
есеппен жұмыс жасайтын бағдарламалаушы жауап береді. Деректер қорын
10

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

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

11

береді. MS Access ДҚБЖ үшін мұндай әрекеттердің мысалы 2.2 сурете
келтірілген.

2.2 сурет – ДҚБЖ MS Access деректер қоры құрылымының құрылуы
2) Қолданушыларға дерекетрмен күрделі әрекеттер жасау мүмкіндігі
берілу (қажетті деректерді іріктеу, есептеуді орындау, енгізу\шығару
интерфейсін жасақтау, визуализациялау).
ДҚБЖ мұндай мүмкіндіктер, ДҚБЖ құрамына кіретін, арнайы
бағдарламалау тілін қолдану негізінде, немесе графикалық интерфейс
көмегімен беріледі.
MS Access-те берілген функцияны жүзеге асыру сұраныстарды құру және
графикалық интерфейстің көмегімен енгізу формасын құру арқылы жүзеге
асырылады (2.3 сурет).

2.3 сурет – ДҚБЖ Access-те іріктеу үшін сұраныстарды құру
Клиент-серверлік ДҚБЖ арналған, сұраныстарды орындауға мүмкіндік
беретін, құралдар және қолданушының интерфейсін құруға мүмкіндік беретін,
бағдарламалық құралдар бар.
12

3) Қолданбалы бағдарламалар және деректердің тәуелсіздігін қамтамасыз
ету (логикалық және физикалық тәуелсіздік).
ДҚБЖ маңызды қасиеті деректер қорына екі тәуелсіз көзқарасты –
деректерді логикалық ұсынуды іске асыратын, және қолданбалы
бағдарламалардағы оның бейнесі, «қолданушы көзқарасын»; және «жүйе
көзқарасын» - ЭЕМ жадысында деректерді физикалық ұсыну қолдау мүмкіндігі
болып табылады. Деректердің логикалық тәуелсіздігін қамтамасыз ету
деректерді сақтаудың логикалық құрылымын өзгертуді қажет етпей деректер
қорын логикалық ұсынуын өзгерту (белгілі шектерде) мүмкіндігін береді.
Осылайша, қолданбалы бағдарламада деректердің логикалық ұсынуын өзгерту
деректерді сақтау құрылымының өзгеруіне алып келмейді. Деректердің
физикалық тәуелсіздігін қамтамасыз ету деректердің «логикалық» ұсынуын
өзгерту қажеттілігін шақырмай-ақ ЭЕМ жадында деректер қорын ұйымдастыру
тәсілдерін өзгерту (белгілі шектерде) мүмкіндігін береді. Осылайша, деректер
қорының ұйымдастыру тәсілдерін өзгерту қолданбалы бағдарламалардың
өзгеруіне алып келмейді.
4) Деректер қорының логикалық толықтығын қорғау.
Осы функцияны жүзеге асырудың негізгі мақсаты деректер қорында
деректердің нақтылығын көтеру болып табылады. Деректердің нақтылығы
оларды ДҚ енгізу кезінде немесе теріс деректерді ДҚ алатын және енгізетін,
деректерді өңдеу үрдістерінің заңсыз әрекеттері кезінде бұзылуы мүмкін.
Жүйеде деректердің нақтылығын көтеру үшін, белгілі бір жағдайда дұрыс
немесе деректерді «аулап алатын», толықтық шектеулері жарияланады.
Осылай, барлық заманауи ДҚБЖ, құрылымды құру кезінде сипатталған,
енгізілетін деректердің олардың типіне сәйкестігі тексеріледі. Жүйе сандық
типтегі өріске символды, мүмкін емес күнді және т.с.с. енгізуге жол бермейді.
Дамыған жүйелерде толықтық шектеулерін бағдарламалаушы, есептің
мазмұндық мәніне қарай, сипаттайды және оларды тексеру деректерді әр өңдеу
кезінде жүзеге асырылады. Деректер қорының логикалық толықтығының түрлі
көріністері нақтырақ келесі бөлімдерде қарастырылатын болады.
5) Физикалық толықтықты қорғау.
ЭЕМ жұмысы кезінде жұмыста іркілулер (мысалы, электр қуатын
айырудың әсерінен), деректерді машиналық тасушылардың бұзылуы болуы
мүмкін. Сонымен бірге деректердің арасындағы байланыста бұзылуы мүмкін.
Бұл болашақтағы жұмыстың мүмкінсіздігіне алып келеді. Дамыған ДҚБЖ
деректер қорын қалпына келтіру құралдары бар. Қолданылатын маңызды ұғым
«транзакция» ұғымы болып табылады. Транзакция – бұл, деректер қорымен
өндірілетін, әрекеттер бірлігі. Транзакция құрамына деректер қорын өзгертетін
бірнеше операторлар кіруі мүмкін, бірақ осы операторлардың барлығы
орындалады, немесе бірде біреуі орындалмайды. ДҚБЖ, шынында деректер
қорын енгізуден басқа, сонымен қатар транзакция журналын да жүргізеді.
Деректер қорында транзакцияны қолдану қажеттілігін келесі қарапайым
мысалда көрсетейік. Деректер қоры кейбір банкте қолданылады және
клиенттердің бреуі басқа клиенттің шотына ақша аударғысы келеді деп
болжайық. Деректер қорында әр клиенттің ақшасының саны туралы ақпараттар
13

сақталған. Бізге деректер қорында екі өзгерту жүргізу керек – клиенттердің
біреуінің шотындағы ақша сомасын азайтуымыз қажет, ал басқа шоттағы ақша
сомасын көбейтуіміз қажет. Әрине, нақты өмірде банкте ақша аударымы,
көптеген кестелерді, ал тіпті, көптеген деректер қорын қозғайтын, өте күрделі
үрдіс болып табылады. Алайда, мәнісі бірдей – барлық әрекетті орындауымыз
қажет (бір клиенттің шотын өсіруіміз, ал екінші клиенттің шотын азайтуымыз
қажет), немесе осы әрекеттердің бірде біреуін орындамаймыз. Бір шоттағы
ақша сомасын азайтып, ал екінші шоттағы ақша сомасын өсірмеуге болмайды.
Сонымен бірге, бірінші әрекеттің біреуін орындағаннан кейін (бірінші
клиенттің шотындағы ақша сомасын азайту) іркілу болды деп болжайық.
Мысалы, клиенттік компьютер мен деректер қорының арасындағы байланыс
үзілуі мүмкін немесе операциялық жүйенің қайта жүктелуіне алып келетін,
клиенттік компьютерде жүйелік іркілу (сбой) болуы мүмкін. Бұл жағдайда
деректер қорымен не болады? Бірінші клиенттің шотындағы ақшаны азайту
бұйрығы орындалды, ал екінші бұйрық – басқа шоттағы ақшаны өсіру – жоқ,
деректер қорының қарама-қайшы, ескірген жағдайына не алып келуі мүмкін.
Транзакция механизмін қолдану осындай жағдайлардың шешімін табуға
мүмкіндік береді. Бірінші әрекетті орындаудың алдында транзакцияның басы
бұйрығы шығады. Транзакцияға бір шоттан ақшаны шешу және басқа шоттағы
ақшаны өсіру операциясы қосылады. Транзакцияның аяқталу операторы әдетте
COMMIT деп аталады. Бірінші әрекет орындалғаннан кейін транзакция
аяқталмағандықтан, өзгерістер деректер қорына кіргізілмейді. Өзгерістер тек
транзакция аяқталғаннан кейін ғана кіргізіледі (бекітіледі). Осы оператор
шықпайынша қорда деректердің сақталуы жүрмейді.
Біздің мысалымызда, транзакцияны бекіту операторы шықпағандықтан,
деректер қоры бастапқы күйіне «кері шегінеді» - басқаша сөзбен айтқанда,
клиенттердің шотындағы сома транзакция басынынң алдындағы күйіндей
қалады. Деректер қорының әкімшілігі транзакция жағдайын қадағалай алады
және қажет болған жағдайда транзакцияны қолмен «кері шегіндіреді».
Сонымен қатар, айқын жағдайда ДҚБЖ транзакцияның «кері шегінуі» туралы
шешімді өзбетімен қабылдайды.
Транзакцияның қысқа болуы міндетті емес. Бірнеше сағатқа немесе
бірнеше күнге созылатында транзакциялар болады. Бір транзакцияның шегінде
әрекеттер санының өсуі орын алатын жүйелік ресурстардың өсуін талап етеді.
Сондықтан мүмкіндігінше транзакцияны қысқа істеген дұрыс. Транзакция
журналында барлық транзакциялар – бекітілгенде, «кері шегінумен»
аяқталғанда транзакциялар енгізіледі. Сақтық қорда сақталған көшірмелерді
құрумен бірге жүргізілген транзакция журналы деректер қорының жоғарғы
сенімділігіне жетуге мүмкіндік береді.
ДҚБЖ сервері қондырылған, компьютерде аппараттық іркілудің
нәтижесінде деректер қоры зақымданды деп болжайық. Бұл жағдайда соңғы
жасалған деректер қорының сақтық қорға сақталған көшірменсін және
транзакция журналын қолдану қажет. Сонымен бірге деректер қорына, сақтық
қорған сақталған көшірмесі құрылғаннан кейін бекітілген, тарнзакцияларды
ғана қолдану қажет. Көптеген заманауи ДҚБЖ әкімшілікке, сақтық қорға
14

сақталған көшірмесін және транзакция журналын пайдалана отырып, деректер
қорын жаңадан жасауға мүмкіндік береді. Мұндай жүйелерде белгілі бір уақыт
мезетінде ДҚ сақтық қордағы жинақтауыштарда көшірмесі алынады. ДҚ
барлық жүгінулер өзгертулер журналына бағдарламалық түрде жазылып
отырады. Егер деректер қоры бұзылған болса, онда қалпына келтіру
процедурасы жүктеледі, ол үрдіс кезінде сақтық қордағы көшірмеге өзгертулер
журналынан барлық жүргізілген өзгертулер енгізіледі.
6) Деректер қорына рұқсатқа қолданушылардың өкілдеттігін басқару.
Әртүрлі қолданушылар деректермен жұмыс бойынша әртүрлі өкілеттікке
ие (кейбір деректер қолжетімсіз болуы мүмкін; белгілі-бір қолданушыларға
деректерді жаңартуға рұқсат берілмейді және т.с.с.). ДҚБЖ, құпия сөз
принциптеріне, немесе өкілеттіктердің сипаттамасына негізделген, рұқсат
өкілеттігін шектеу механизмі қарастырылады.
7) Бірнеше қолданушылар жұмысын синхронизациялау.
Бірнеше қолданушылар бір уақыт мезгілінде бірдей деректерді жаңарту
операциясын орындауы мүмкін жағдай жеткілікті жиі орын алады. Мұндай
қайшылықтар деректердің логикалық толықтығының бұзылуына алып келеді,
сондықтан жүйе осы деректермен қолданушы жұмысын толық аяқтағанша
басқа қолданушылардың осы деректі жаңартуына жол бермейтін, шараларды
қарастыруы қажет. Мұнда қолданылатын негізгі ұғым «оқшаулау» болып
табылады. Оқшаулау түрлі қолданушыларға деректер қорымен бір уақыт
мезгілінде жұмыс жасауға тыйым салу үшін қажет. Себебі ол көптеген
қателіктерге алып келеді.
Бұл тыйымды жүзеге асыру үшін ДҚБЖ, транзакция қолданатын,
нысандарға оқшаулау орнатады. Оқшаулаудың түрлі типтері бар – кестелік,
беттік, жолдық және де басқа, олар бір-бірінен оқшауланған жазбалар санымен
ажыратылады. Басқаларынан жиі беттік оқшаулау – бір жолға
транзакциясының жүгінуі кезінде тек осы жол оқшауланады, ал қалған жолдар
өзгертулерге қол жетімді болып қалады.
Осылайша, деректер қорына өзгерістерді енгізу үрдісі келесі әрекеттер
тізбегінен тұрады: транзакция басы операторы шығады, деректерді өзгерту
операторы шығады, ДҚБЖ операторды талдайды және оның орындалуына
қажетті, оқшаулауды орындауға тырысады, оқшаулау сәтті болған жағдайда
оператор орындалады, содан кейін үрдіс келесі транзакция операторы үшін
қайталанады. Транзакция ішіндегі барлық операторлар сәтті орындалғаннан
кейін транзакцияны бекіту операторы орындалады. ДҚБЖ транзакциямен
жасалған өзгерістерді бекітеді және оқшаулауды алады. Транзакцияның
қандайда бір операторлары сәтсіз аяқталған жағдайда «кері шегінеді», деректер
алдыңғы мәндеріне ие болады, оқшаулау алынып тасталады.
8) Сақтау ортасының ресурстарын басқару.
ДҚ ЭЕМ-нің сыртқы жадында орналасады. Жұмыс жасау кезінде ДҚ
жаңа деректер енгізіледі (жадыдан орын алынады) және деректер жойылады
(жады босайды). ДҚБЖ жаңа деректер үшін жады ресурстарын бөледі, босаған
жадыларды қайта бөледі, сыртқы жадыға сұраныс кезектерін енгізуді
ұйымдастырады және т.с.с.
15

9) Жүйелік қызметкерлердің қызметтерін қолдау.
Деректер қорын пайдалану кезінде ДҚБЖ параметрлерін өзгерту,
рұқсаттың жаңа әдісін таңдау, сақталған деректердің құрылымын өзгерту
(белгілі-бір шектерде), сонымен қатар ортақ жүйелік әрекеттер қатарын
орындау қажеттігі пайда болуы мүмкін. ДҚБЖ ДҚ қызметін қолдау үшін ДҚ
қызмет көрсететін жүйелік қызметкерлерге, ДҚ әкімшілігі деп аталатын, осы
және де басқа әрекеттерді орындау мүмкіндігін береді.
Қысқаша қорытынды. Деректер қорын басқару жүйесі ұғымы
қолданбалы бағдарламалар мен деректер қоры арасындағы интерфейс ретінде
қарастырылды. Көптеген қолданушылардың деректер қорымен өзара
әрекеттесуі есебінен шығатын, деректер қорының басқару жүйесінің негізгі
функцияларына сипаттама берілді:
1) Құрылатын деректер қорының құрылымының анықтамасы, оның
инициализациясы және бастапқы жүктемені жүргізу
2) Қолданушыларға деректермен күрделі әрекеттер жасау мүмкіндігі
берілу (қажетті деректерді іріктеу, есептеуді орындау, енгізу\шығару
интерфейсін жасақтау, визуализациялау).
3) Қолданбалы бағдарламалар және деректердің тәуелсіздігін қамтамасыз
ету (логикалық және физикалық тәуелсіздік).
4) Деректер қорының логикалық толықтығын қорғау.
5) Физикалық толықтықты қорғау.
6) Деректер қорына рұқсатқа қолданушылардың өкілдеттігін басқару.
7) Бірнеше қолданушылар жұмысын синхронизациялау.
8) Сақтау ортасының ресурстарын басқару.
9) Жүйелік қызметкерлердің қызметтерін қолдау.
3 Көпқолданушылық ДҚБЖ жүзеге асыру кезінде қолданылатын,
әртүрлі архитектуралық шешімдер
Мақсаты: есептеуіш техникасының негізгі қасиеттерімен де, сонымен
қатар бағдарламалық қамтаманың дамуымен де байланысты, бір деректер
қорымен бірнеше қолданушылар жұмысының технологиясының негізгі
нұсқаларын көрсету.
Жоғарыда аталып өткендей, деректер қоры ұғымы әуел бастан бірнеше
қолданушылары бар көптеген есептерді шешу мүмкіндігі бар деп болжалды.
Осыған байланысты, заманауи ДҚБЖ маңызды сипаттамасы жұмыстың
көпқолданушылық технологиясының бар болуы. Осындай технологияларды
түрлі уақыт мезетінде әртүрлі жүзеге асыру есептеуіш техникасының негізгі
қасиеттерімен де, сонымен қатар бағдарламалық қамтаманың дамуымен де
байланысты. Осы технологияларға хронологиялық ретпен қысқаша сипаттама
берейік.
3.1 Орталықтандырылған архитектура
Осы технологияны қолдану кезінде деректер қоры, ДҚБЖ және
қолданбалы бағдарлама (қосымша) бір компьютерде (мэйнфреймде немесе
16

дербес компьютерде) орналасады (3.1 сурет). Ұйымдастырудың мұндай тәсілі
үшін желінің қолдауы қажет емесе және барлығы автономиялық жұмысқа
саяды. Жұмыс келесі түрде құрылған:
1) Файлдар жиыны түріндегі деректер қоры компьютердің қатты дискіде
орналасады.
2) Сол компьютерде ДҚБЖ және ДҚ жұмысқа арналған қосымшалар
орнатылған.
3) Қолданушы қосымшаны жуктейді. Қосымшамен ұсынылатын
қолданушы интерфейсін пайдалана отырып, ол ақпараттарды іріктеу\жаңарту
үшін ДҚ жүгінуді бастамшылық етеді.
4) ДҚ барлық жүгінулер ДҚБЖ арқылы жүреді, олар ДҚ физикалық
құрылымы туралы барлық мәліметтерді өз ішінде қапшықтандырады.
5) ДҚБЖ, қолданушылар сұраныстарын орындайды қамтамасыз ете
отырып (деректерге жасалатын қажетті операцияларды жүзеге асыра отырып),
деректерге жүгінуді бастамшылық етеді.
6) Нәтиже ДҚБЖ қосымшаға қайтарады.
7) Қолданушы интерфейсін қолдана отырып, қосымша сұраныстардың
орындалу нәтижесін бейнелейді.

3.1 сурет – Орталықтандырылған архитектура
Мұндай архитектура DB2, Oracle, Ingres ДҚБЖ бірінші нұсқаларында
қолданылды [3.1].
Жұмыстың көпқолданушылық технологиясы мультибағдарламалық
режиммен (бір уақыт мезетінде процессор және сыртқы құрылғылар жұмыс
жасай алады, мысалы, бір қолданушының қолданбалы бағдарламасында
сыртқы жадыдан деректерді оқу жүріп жатса, басқа қолданушының
бағдарламасы процессормен өңделіп жатады), немесе уақытты бөлу режимімен
(қолданушыларға кезекпен олардың бағдарламаларын орындау үшін уақыт
кванты бөлінеді) қамтамасыз етіледі. Мұндай технологиялар үлкен ЭЕМ-дің
(IBM-370, ЕС-1045, ЕС-1060) «үстемдігі» уақытында таралды. Бұл үлгінің
негізгі кемшілігі қолданушылар саны өскен кезде өнімділіктің күрт төмендеуі
болып табылады.
17

3.2 Желісі және файлдық сервері бар технология («файл-сервер»
архитектурасы)
Есептердің қиындығының жоғарлауы, дербес коспьютерлердің және
локальды есептеуіш желілердің пайда болуы жаңа файл-сервер
архитектурасының пайда болуының алғышарты болып табылды. Желілік
рұқсаты бар деректер қорының бұл архитектурасы, деректер қорының
файлдары сақталатын, бөлінген сервер ретінде компьютерлердің біреуінің
тағайындалады деп болжайды [3.2]. Қолданушылар сұранысына сәйкес файлсерверден файлдар, деректерді өңдеудің негізгі бөлігі жүзеге асатын,
қолданушылардың жұмыс бекеттеріне беріледі. Орталық сервер, деректердің
өзін өңдеуге қатыспай, негізінен тек файлдарды сақтаушы қызметін атқарады.
(3.2 сурет).

3.2 сурет – «Файл-сервер» архитектурасы
Жұмыс келесі түрде тұрғызылған:
1) Деректер қоры файлдар жиыны түрінде арнайы бөлінген компьютердің
(файлдық сервер) қатты дискісінде орналасады.
2) Клиенттік компьютерлерден тұратын, локальдық желі болады, олардың
әр қайсысында ДҚБЖ және ДҚ жұмыс жасайтын қосымшалар орнатылған.
Материал жариялап тегін сертификат алыңыз!
Бұл сертификат «Ustaz tilegi» Республикалық ғылыми – әдістемелік журналының желілік басылымына өз авторлық жұмысын жарияланғанын растайды. Журнал Қазақстан Республикасы Ақпарат және Қоғамдық даму министрлігінің №KZ09VPY00029937 куәлігін алған. Сондықтан аттестацияға жарамды
Ресми байқаулар тізімі
Республикалық байқауларға қатысып жарамды дипломдар алып санатыңызды көтеріңіз!