- •1.Основні поняття. Бази даних, банк даних, інформаційна система. Традиційні файлові системи. Бази даних. Системи управління базами даних (субд). Компоненти банку даних.
- •2.Розподіл обов'язків в системах з базами даних. Історія розвитку субд. Класифікація банків даних. Переваги та недоліки субд.
- •3.Середовище бази даних. Трьохрівнева архітектура ansi-spark. Зовнішній рівень. Концептуальний рівень.
- •4.Внутрішній рівень. Мови баз даних. Моделі даних і концептуальне моделювання. Функції субд. Компоненти субд.
- •5.Етап концептуального проектування. Основні поняття концептуального проектування. Концептуальне проектування. Об'єкти і їх властивості. Взаємовідношення об'єктів.
- •6.Слабкі та складні сутності. Проведення етапу концептуального проектування субд.
- •8. Реляційна модель бази даних. Історія розвитку реляційної моделі. Структура реляційних даних. Відношення в базі та їх властивості. Типи даних.
- •9. Нормалізація відношень баз даних. Нормальні форми. Цілі нормалізації. Надлишковість даних і аномалії оновлення.
- •Шоста нормальна форма.Таблиця знаходиться у 6nf, якщо вона знаходиться у 5nf та задовольняє вимозі відсутності нетривіальних залежностей. Зазвичай 6nf ототожнюють з dknf.
- •10. Аномалії вставки. Аномалії вилучення.
- •11. Функціональні залежності. Процес нормалізації. Перша нормальна форма (1нф)
- •12. Друга нормальна форма (2нф).
- •14. Нормальна форма Бойса — Кодда
- •Null-значення
- •19 Мова sql. Формат sql-операторів. Маніпулювання даними
- •1. Формат sql-операторів
- •2. Маніпулювання даними
- •2.1. Вибірка всіх рядків
- •20. Вибірка всіх рядків. Вибірка рядків (речення where). Сортування результату (фраза order by).
- •2.2. Вибірка рядків (речення where)
- •2.3. Сортування результату (фраза order by)
- •21. Використання узагальнюючих функцій мови sql
- •22. Групування результатів (фраза Group), Обмеження на виконання групування (фраза having)
- •2.6. Обмеження на виконання групування (фраза having)
- •23. Підзапити
- •25. Особливості і синтаксис речень модифікації. Речення delete. Видалення одиничного запису. Видалення множини записів. Видалення з вкладеним підзапитом.
- •26 .Речення insert.
- •1. Вставка єдиною записи в таблицю
- •2. Вставка безлічі записів
- •1. Оновлення єдиною записи
- •2. Оновлення безлічі записів
- •3. Оновлення з підзапитом
- •28.Етап фізичного проектування. Основні структури зберігання та методи доступу до даних. Основні поняття. Невпорядковані послідовні файли.
- •29. Впорядковані послідовні файли. Хешовані файли. Індексно-послідовні файли.
- •31. Розподілені бази даних. Концепція розподілених баз даних. Розподілені транзакції. Реплікація даних. Розподілена оптимізація запитів.
- •32. Експертні системи та бази знань. Призначення експертних систем. Структура експертних систем. Представлення знань в експертних системах. Поняття експертної системи. Властивості знань.
31. Розподілені бази даних. Концепція розподілених баз даних. Розподілені транзакції. Реплікація даних. Розподілена оптимізація запитів.
Розподілена база даних (РБД) — це множина логічно взаємозалежних баз даних, розподілених у комп'ютерній мережі.
Розподілена система керування базами даних (РСКБД) — це програмне забезпечення, яке керує РБД і надає такі механізми доступу до них, що їх застосування дає користувачу можливість працювати з РБД як з однією цілісною базою даних. Розподілена система баз даних (РСБД) — це РБД разом із РСКБД. Не слід плутати РСБД з централізованою базою даних, що використовується в мережі (рис. 10.1). У цьому випадку база даних розташована на одному з комп'ютерів, а всі інші мають доступ до неї через комунікаційну мережу. Не є розподіленою також база даних, що працює в середовищі багатопроцесорних комп'ютерів. У цьому випадку ми маємо справу з паралельною БД.
Рис. 10.1. Централізована база даних у комп'ютерній мережі |
Архітектура розподіленої СКБД наведена нарис, 10.2. Кожний з вузлів мережі містить свою базу даних, однак вони розглядаються як логічно єдина база, а не як сукупність розкиданих у мережі файлів. Усі дані є логічно взаємозалежними.
Рис. 10.2. Розподілена база даних |
Залежно від типу програмного забезпечення розрізняють два типи РСКБД:
♦ Однорідні;
♦ Неоднорідні.
Однорідні РСКБД
В однорідних РСКБД передбачається, як мінімум, що на всіх вузлах використовуються однотипні СКБД (наприклад, реляційяі), які мають схожі функціональні можливості. Як максимум, припускається, що на всіх вузлах використовуються однакові технічні засоби, тобто однакові типи комп'ютерів і програмного забезпечення Це стосується операційних систем, програмного забезпечення СКБД та моделей даних, що підтримуються.
Неоднорідні РСКБД
У неоднорідних РСКБД вузли базуються на різних програмно-технічних платформах, які можуть містити різні типи СКБД. Окрім того, такі СКБД можуть підтримувати різні моделі даних. У цьому випадку ускладнюється вирішення проблеми їхньої взаємодії.
Прозорість доступу до даних
Однією з важливих проблем РСКБД є досягнення логічної незалежності даних від місця зберігання, тобто прозорість доступу до даних. Це означає, що користувач повинен мати можливість сприймати всі необхідні йому дані як єдине ціле, не зважаючи на те, в який спосіб вони розподілені у мережі.
Розподілена СКБД — це повноцінна СКБД, що виконує всі необхідні функції з керування даними. |
Розглянемо такий приклад. Нехай база даних містить відношення СЛУЖБОВЕЦЬ, ПРОЕКТ, РОБОТА з інформацією стосовно службовців, проектів, що розроблюються, та участі службовців у проектах компанії, яка має філії в Римі, Лондоні, Парижі й Токіо. Бази даних цих філій містять дані згідно зі схемою, зображеною на рис. 10.3. Будь-який користувач у кожному з вузлів цієї мережі має сприймати логічну
Структуру бази даних так, ніби всі три відношення містяться в одній локальній базі даних. Розглянемо приклад.
SELECT ПРОЕКТ.Назва, СЛУЖБОВЕЦЬ.шзщ FROH СЛУЖБОВЕЦЬ. ПРОЕКТ. РОБОТА
WHERE СЛУЖБОВЕЦЬ.#Е = РОБОТА.#Е А® РОБОТА.#Р - ПРОЕКТ.#Р AND
(ПРОЕКТ.Mlcue = 'Париж* OR ПРОЕКТ_Місце ='Токіо1) AND СЛУЖБОВЕЦЬ.Зарплата > 40000 AND СЛУЖБОВЕЦЬ.Зарплата < 6000Q
Цей запит, згідно з яким вибираються назви проектів, що виконуються в Парижі чи Токіо, й імена службовців, які беруть у них участь, із зарплатою в діапазоні від 40 000 до 60 ÖÖÖ, буде виконано навіть тоді, коли його формулює користувач, що перебуває » Лондоні.
З погляду користувача існує єдина розподілена СКБД і єдина база даних, у якій с всі дані, що визначені у віртуальній таблиці користувача
Париж
Мережа
□ OD
□па
UDQ
Лондон
Реплікація
Реплікація — це механізм розподілу даних за вузлами, що дозволяє зберігати копії тих самих даних на різних вузлах мережі з метою прискорення пошуку і підвищення стійкості до відмов. Відношення чи фрагмент є реплікованим, якщо його копії зберігаються на двох або більше вузлах (копії ще називають репліками). За повної реплікації відношення його копії зберігаються на всіх вузлах мережі. Допускається ситуація, коли вся база даних зберігається на всіх вузлах мережі — це називається повною реплікацією бази даних. Переваги реплікації:
Доступність (у разі перебою в роботі вузла, що містить відношення Я, його доступність на інших вузлах зберігається);
4 паралелізм (виконання запитів до відношення Я може бути розпаралелено за всіма репліками відношення);
Зниження вартості передавання даних (відношення Я достуїпіе локально в усіх вузлах, де є його репліки). Недоліки реплікації:
Підвищується вартість зберігання, створення і відновлення даних; підвищуються вимоги до ресурсів;
♦ Ускладнюється підтримання цілісності даних, наприклад одночасне відновлення різних реплік одного й того ж відношення
Механізми реплікації
Для реалізації реплікації використовуються три сервери: видавець, дистриб'ютор і передплатник.
Видавцем називають сервер, що надає розміщені на ньому дані для копіювання на інші сервери. Окрім створення копії даних, видавець відстежує внесені до його бази даних зміни і готує нову копію.
Дистриб'тотором називається сервер, що підтримує розподілену базу даних. Він виконує роль посередника, копіює всі публікації, підготовлені видавцем, і пересилає їх передплатникам. Дистриб'ютором може бути виділений сервер або сервер^ сконфігурований як видавець чи передплатник. Конкретні функції, що їх виконує дистриб'ютор, залежать від методів реплікації.
Передплатником називається сервер, що отримує копії даних, надані видавцем. Механізми зміни даних передплатником відрізняються від механізмів зміни даних видавцем.
Є два методи відновлення даних передплатників:
+ Реплікація за запитом. Передплатник періодично звертається до дистриб'ютора із запитом про зміни, що відбулися з моменту останнього з'єднання.
+ Примусова реплікація. Дистриб'ютор сам встановлює з'єднання з передплатником і пересилає йому необхідні дані.
Залежно від методу реплікації, передплатники можуть чи не можуть вносити зміни в репл і ковані дані. У найпростішому випадку змінювати дані може тільки видавець, у складніших моделях реплікації - передплатники і видавці. Змінені дані, отримані від усіх передплатників, синхронізуються і поєднуються з даними видавця, а потім розсилаються передплатникам.
Моделі реплікації
€ такі моделі реплікації:
♦ Реплікація моментальних знімків;
♦ Реплікація транзакцій.
Реплікація моментальних знімків є найпростішою моделлю реплікації. Моментальний знімок - це повна копія даних, обраних для реплікації; вона розсилається передплатникам.
Під час ретиіікації тпранзакцій використовується журнал транзакцій бази даних. Обрані транзакції копіюються в базу даних дистриб'ютора зі збереженням інформації про послідовність їхнього виконання, потім розсилаються серверам- передплатникам і виконуються на них у тому ж порядку, в якому виконувалися на сервері-видавці.
Цей механізм зменшує завантаження мережі, його рекомендується використовувати у великих базах даних з невеликою кількістю змін.
Топологія реплікацій
Топологія реплікацій описує характер взаємозв'язків між учасниками реплікації:
4 реплікація «один-до-багатьох» передбачає наявність одного видавця і кількох передплатників;
+ реплікація «багато-до-одного» має місце, коли дані від кількох видавців пересилаються одному передплатнику;
+ реплікація «багато-добагатьох» означає, що дані від кількох видавців переся- даюті>ся кільком передплатникам.