Навигациялық CODASYL дерекқор моделінің құрылысы.
**Дерекқор басқару жүйесі (ДҚБ)** (ағылш. *database management system (DBMS)*) — мәліметтер базасын құру, күту және қолдану қызметін көрсететін бағдарламалық жасақтама. 

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

Деректер қорын басқарудың типтері
---------------------------------

#### Деректер үлгісі бойынша:

1. иерархиялық;
2. тораптық;
3. реляциялық.
4. Объектілі-бағытталған
5. Объектілі-реляциялық

### Иерархиялық ДҚБ

Иерархиялық ДҚБ-да жазба элементтері реттеліп жазылады да, оның бір элементі негізгі, қалғандары бағыныңқы элементтер, ал екінші элементке бірінші элементтен басқасының барлығы бағыныңқы болып есептеледі. Мұнда элементтер нақты тізбек бойынша сатылы түрде болады. Онда берілгендерді іздеп табу саты бойынша төмен бағытта жүргізіледі. Мысалы: Windows бумасындағы файлдар жүйесі, Интернет ресурсындағы каталогтар жиыны.

### Тораптық ДҚБ

Тораптық ДҚБ - объектілердің арасындағы өзара байланыс түрлері қарастырылады. Оларды ешқандай ереже болмайды. Егер бұл модельді графикалық түрде бейнелесек – жазықтықта бағыттауыш сызықтармен бейнеленген байланыстар шығады. Мысалы: сілтемемен байланысқан WWW-құжаты.

### Реляциялық ДҚБ

Реляциялық ДҚБ–да кесте түрінде дайындалған берілгендер. Ол ең көп тараған берілгендер қоры, кестелер арасындағы байланыстар – жиі пайдаланылатын ең маңызды ұғым. ДҚ-да бағандарды (поля) деп, ал жолдарды жазбалар (записи) деп атайды. Кестеде қайталанатын бірдей жолдар болмайды. Өрістің негізгі ерекшелігі – бір өріс элементтері бір типті етіп құрылады. Бұл реляциялық деректер қорының Excel кестелік процессорынан негізгі айырмашылығы.Нақтырақ айтқанда, реляциялық ДҚБ кесте арқылы беріледі.Реляциялық ДҚБ-ны құру шінү және онымен жұмыс істеу үшін көптеген арнайы программалар бар: dBase, FoxBase, FoxPro, Access және т.б. Оларды реляциялық типтегі деректер қорын басқару жүйелері (ДҚБЖ) деп атайды.

### Объектілі-бағытталған ДҚБ

Объектіге бағытталған (объектіге негізделген) ДҚБЖ – объектілік деректер моделіне негізделген деректер қорын басқару жүйесі.

Бұл басқару жүйесі деректерді қасиеттері бар және қоршаған әлемнің басқа объектілерімен (деректер базасының объектілері) өзара әрекеттесу әдістерін пайдалана отырып, дерексіз объектілер ретінде өңдейді.

### Объектілі-реляциялық ДҚБ

Объектілі-реляциялық ДҚБЖ – объектілі-бағытталған ДҚБЖ-ға тән кейбір технологияларды қолдайтын және объектіге бағытталған тәсілді жүзеге асыратын реляциялық ДҚБЖ болып табылады: объектілер, класстар және мұрагерлік деректер базасының құрылымында және сұрау тілінде жүзеге асырылады. Объектілі-реляциялық ДҚБЖ, мысалы, белгілі Oracle Database, Informix, DB2, PostgreSQL.

#### Таралу дәрежесі бойынша:

* Жергілікті ДҚБЖ (жергілікті ДҚБЖ барлық бөліктері бір компьютерде орналасқан);
* Бөлінген ДҚБЖ (ДҚБЖ бөліктері бір ғана емес, екі немесе одан да көп компьютерлерде орналасуы мүмкін).

#### Деректер қорына қол жеткізу әдісі бойынша:

* **Файл-серверлік**

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

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

Қазіргі уақытта файл-ерверлік технология ескірген болып саналады, ал оны үлкен ақпараттық жүйелерде пайдалану кемшілік болып саналады.

Мысалдары: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

* **Клиент-серверлік**

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

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

Артықшылықтары: ықтимал төмен жергілікті желі жүктемесі; орталықтандырылған басқарудың ыңғайлылығы; жоғары сенімділік, жоғары қолжетімділік және жоғары қауіпсіздік сияқты маңызды сипаттамаларды қамтамасыз ету ыңғайлылығы.

Мысалдары: Oracle Database, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

* **Орнатылған**

Орнатылған ДҚБЖ – өздігінен орнату процедурасын қажет етпестен бағдарламалық өнімнің бөлігі ретінде қамтамасыз етілетін ДҚБЖ. Орнатылған ДҚБЖ қолданба деректерін жергілікті сақтауға арналған және желіде ортақ пайдалануға арналмаған. Физикалық түрде орнатылған ДҚБЖ көбінесе қосылатын модуль кітапханасы ретінде жүзеге асырылады. Қолданба жағынан деректерге қол жеткізу SQL арқылы немесе арнайы бағдарлама интерфейстері арқылы жүзеге асуы мүмкін.

Ерекшеліктері:

* Жеке-сервер бағдарламасы жоқ;

Мысалдары: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

### Сыртқы жадымен жұмыс істеу стратегиялары

*Тікелей жазумен ДҚБЖ*

Мұндай ДҚБЖ-да кез келген транзакцияны растау сигналы алынған кезде барлық өзгертілген деректер блоктары дереу сыртқы жадқа жазылады. Бұл стратегия сыртқы жад тиімділігі жоғары болғанда ғана қолданылады.

*Кейінге қалдырылған жазбасы бар ДҚБЖ*

Мұндай ДҚБЖ-да өзгерістер келесі оқиғалардың кез келгеніне дейін сыртқы жад буферлерінде жинақталады:

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

Бұл стратегия сыртқы жадпен жиі алмасуды болдырмайды және ДҚБЖ тиімділігін едәуір арттырады.

ДҚБЖ негізгі функциялары
------------------------

Әдетте, қазіргі заманғы ДҚБЖ келесі компоненттерден тұрады:

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

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| Бұл үлгіні қарау Бұл үлгіні талқылау Бұл үлгіні өңдеуДерекқор |
| --- |
|  |
| Басты | 

Дерекқор моделі
• Дерекқор басқару жүйесі
• Дерекқор машинасы
• Дерекқор сервері
• Байланыс (Мәліметтер көзі • DSN)
• Администратор
• Lock
• Құралдар
 |
|  |
| Тілдер | 

Деректерді анықтау
• Деректерді басқару
• Сұрату (ақпараттық іздестіру тілі)
 |
|  |
| Қауіпсіздік | 

Activity monitoring
• Database audit
• Database forensics
• Negative database
 |
|  |
| Дизайн | 

Нысандар және байланыстар
• Нормализация
• Рефакторинг
 |
|  |
| Бағдарламалау | 

Абстракция деңгейлері
• Объект-реляциялық кескіндеу
 |
|  |
| Менеджмент | 

Виртуализация
• Тюнинг (кэштеу)
• Миграция
• Сақтау
• Тұтастық
 |
|  |
| Тағы қараңыз | 

Database-centric architecture
• Интеллектілік мәліметтер базасы
• Дерекқор бастыру
• Two-phase locking
• Halloween Problem
• Log shipping
 |

 |

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| Бұл үлгіні қарау Бұл үлгіні талқылау Бұл үлгіні өңдеуДерекқор басқару жүйелері |
| --- |
|  |
| Түрлері | 
Объектіге-бағытталған дерекқор • Реляциялық дерекқор • Құжатқа-бағытталған дерекқор • Графты дерекқор • NewSQL • NoSQL • Резидентті дерекқор • Бұлтты дерекқор |
|  |
| Концепция | 
Дерекқор • ACID • Армстронг аксиомалары • CRUD • Null • Candidate key • Foreign key • Superkey • Surrogate key • Unique key |
|  |
| Объекттері | 
Қатынас (кесте • бағана • жол) • View • Транзакция • Триггер • Индекс • Сақтаулы процедура • Курсор • Секциялау |
|  |
| Компоненттері | 
Concurrency control • Data dictionary • JDBC • XQJ • ODBC • Query language • Query optimizer • Query plan |
|  |
| Тағы қараңыз | 
Дерекқор моделі • Референциалық тұтастық • Реляциялық есептеулер • Реляциялық модель • Объект-реляциялық дерекқор • Транзакцияларды өндеу |

 |