
- •Тема 3. Архітектура субд
- •Тема 3. Архітектура субд 1
- •3.1. Використання та типові складові субд
- •3.1.1. Огляд варіанту структури субд
- •3.1.1.1. Команди мови визначення даних та обробки запитів
- •Обробка запитів
- •3.1.1.2. Процесор запитів
- •3.1.1.3. Збереження файлів на диску
- •3.1.1.4. Менеджери буферів та зберігання даних
- •3.1.1.5. Обробка транзакцій
- •3.1.1.6. Acid - властивості транзакцій
- •3.2. Субд навігаційного типу. Ієрархічні. Сітьові.
- •3.2.1. Навігаційні бази даних
- •3.2.2. Ієрархічні бази даних
- •3.2.2.1. Керуюча частина ієрархічної моделі
- •3.2.2.2. Приклади типових операторів пошуку даних
- •3.2.2.5. Відомі ієрархічні субд
- •3.2.3. Сітьові бази даних
- •3.2.3.1. Керуюча частина мережевої моделі
- •3.2.3.1. Приклади мережевих скбд
- •3.3. Субд реляційного типу.
- •3.3.1. Реляційна база даних
- •3.3.2. Відношення
- •3.3.3. Нормалізація
- •3.4. Об’єктно-орієнтовані бд.
- •3.4.2. Об'єктно-орієнтовані бд
- •3.4.2. Об'єктно-реляційні бд
- •3.4.3. Переваги моделі ообд
- •1. Визначення призначених для користувача абстракцій
- •2. Полегшене проектування деяких зв'язків
- •3. Відсутність потреби у визначенні ключів
- •4. Наявність предикатів порівняння
- •5. Менша потреба в з'єднаннях
- •6. Виграш в продуктивності -?
- •7. Підтримка версій і тривалих транзакцій
- •8. Об'єктна алгебра
- •3.4.4. Недоліки моделі ообд
- •1. Відсутність інтероперабельності між рбд і ообд
- •2. Недостатність засобів для оптимізації запитів
- •3. Відсутність засобів забезпечення запитів
- •4. Відсутність підтримки подань
- •3.4.6. Стандарт odmg.
- •3.4.7. Об'єктні розширення реляційних субд. Мова Sql-3.
- •3.4.8. Об'єктно-реляційні субд
Тема 3. Архітектура субд
ЗМІСТ
Тема 3. Архітектура субд 1
3.1. Використання та типові складові СУБД 2
3.1.1. Огляд варіанту структури СУБД 3
3.1.1.1. Команди мови визначення даних та обробки запитів 3
Обробка запитів 4
3.1.1.2. Процесор запитів 4
3.1.1.3. Збереження файлів на диску 5
3.1.1.4. Менеджери буферів та зберігання даних 6
3.1.1.5. Обробка транзакцій 7
3.1.1.6. ACID - властивості транзакцій 8
3.2. СУБД навігаційного типу. Ієрархічні. Сітьові. 9
3.2.1. Навігаційні бази даних 9
3.2.2. Ієрархічні бази даних 11
3.2.2.1. Керуюча частина ієрархічної моделі 12
3.2.2.2. Приклади типових операторів пошуку даних 12
3.2.2.5. Відомі ієрархічні СУБД 13
3.2.3. Сітьові бази даних 14
3.2.3.1. Керуюча частина мережевої моделі 15
3.2.3.1. Приклади мережевих СКБД 15
3.3. СУБД реляційного типу. 16
3.3.1. Реляційна база даних 16
3.3.2. Відношення 17
3.3.3. Нормалізація 18
3.4. Об’єктно-орієнтовані БД. 20
3.4.2. Об'єктно-орієнтовані БД 20
3.4.2. Об'єктно-реляційні БД 24
3.4.3. Переваги моделі ООБД 24
3.4.4. Недоліки моделі ООБД 26
3.4.6. Стандарт ODMG. 26
3.4.7. Об'єктні розширення реляційних СУБД. Мова Sql-3. 28
3.4.8. Об'єктно-реляційні СУБД 30
3.1. Використання та типові складові субд
На малюнку 3.1 показані 2 різних джерела управляючих інструкцій:
пересічні користувачі та прикладні програми, які запитують або змінюють дані;
адміністратор бази даних (database administrator – DBA), особа або група осіб, яка відповідає за підтримку та розвиток структури, або схеми даних.
Рис.3.1. – Діаграма прецедентів використання СУБД
Рис.3.1 – структура типової СУБД. Позначення:
-
Прямокутники з одинарних ліній
Компоненти системи
Прямокутники з подвійних ліній
Структури даних, організовані у пам’яті
Стрілки з безперервних ліній
Напрям потоків управляючих структур і даних
Штрихові стрілки
Потоки даних
3.1.1. Огляд варіанту структури субд
Запити
до індексів, файлів та записів
Рис.3.2. Компоненти СУБД
3.1.1.1. Команди мови визначення даних та обробки запитів
Відносно більш простою є множина команд, що надходить від адміністратора БД. Для прикладу розглянемо БД факультету університету.
Адміністратор може включити до її складу таблиці (відношення), які містять імена і прізвища студентів, номери курсів та курсові оцінки.
Адміністратор може обмежити множину припустимих оцінок, скажімо, значеннями A, B, C, D, E та F.
Адміністратор мусить мати спеціальні повноваження для виконання команд, які змінюють схему даних. До цих команд мови DDL (Data Definition Language – мова визначення даних) застосовується лексична обробка компілятором DDL, далі вони передаються для виконання виконуючій машині (execution engine), яка за посередництва менеджера ресурсів (resource manager) змінює метадані (дані про дані), тобто схему даних.
Обробка запитів
Більша частина звернень до БД ініціюється користувачами і доданками (в лівій частині рис.3.2). Такі дії не впливають на схему БД, але змінюють її зміст (якщо команда передбачає зміну даних) або передбачають читання даних (якщо команда містить запит на читання). Такі команди оформлюються мовою маніпулювання даними (DML – Data manipulation language) або, простіше, мовою запитів (query language). Існує багато мов управління даними, наприклад в реляційних СУБД найбільш розповсюдженим та потужним є SQL; інструкції мови SQL обробляються процесором запитів.