- •1. Дати визначення бази даних та субд; визначити відмінності бази даних від файлової системи; перелічити компоненти субд, а також вимоги, яким вони повинні відповідати.
- •2.Представити архітектуру субд; дати порівняльну характеристику її зовнішньому, концептуальному і внутрішньому рівням; перелічити функції субд.
- •3.Моделі даних: класифікація, головні властивості кожної моделі; порівняти моделі між собою і визначити переваги і недоліки кожної моделі.
- •4. Дати визначення реляційної моделі даних і назвати її складові елементи; пояснити роботу операцій реляційної алгебри.
- •5.Обґрунтувати необхідність проведення нормалізації; дати характеристику нормальним формам бази даних; визначити основні нормальні форми; привести приклади таблиць у нормальних формах.
- •6.Основні фази та етапи життєвого циклу системи баз даних; методологія проектування баз даних: вимоги до методології, послідовність проектування
- •8.Даталогічне проектування бази даних: перелічити етапи і визначити правила переходу від концептуальної моделі до логічної моделі.
- •9. Засоби автоматизації проектування баз даних: класифікація та функціональні можливості case засобів; об’єктно-орієнтований та структурний підходи до проектування баз даних.
- •10. Мова sql: основні можливості по формуванню запитів до бази даних, приклади запитів.
- •11. Мова sql: основні можливості по визначенню даних та маніпулюванню даними в базі даних, приклади операцій по створенню бази даних та по маніпулюванню даними.
- •12.Мова запитів qbe: основні можливості по формуванню запитів до бази даних, приклади запитів.
- •13.Паралельна обробка даних у базі даних; транзакції і їхні властивості; управління транзакціями, двохфазове блокування, метод тимчасових міток.
- •14.Архітектура клієнт-сервер: визначити властивості цієї схеми, перелічити переваги і недоліки; порівняти сервер файлів із сервером бази даних.
- •15.Пояснити призначення процедур, що зберігаються, тригерів, генераторів; привести приклади цих програм.
- •17.Розподілені бази даних: архітектура, механізми розподіленого зберігання даних; механізми і моделі реплікації; фрагментація баз даних.
- •18.Технології об’єктного зв’язування odbc, ole db, ado: організація доступу до даних, дати порівняльний аналіз роботи цих механізмів доступу
- •19.Захист інформації в базах даних: пояснити за допомогою яких засобів підтримується безпека, перелічити основні моделі безпеки, привести приклади захисту інформації на мові sql.
- •20.Об’єктно-орієнтовані бази даних: склад та структура об’єктно-орієнтованої моделі, організація збереження даних та доступу до даних; об’єктно-реляційні бази даних.
- •21.Фізична організація баз даних: склад та структура, фізичне збереження даних у базі даних, багаторівнева організація пам’яті, кешування.
- •22.Пояснити необхідність застосування індексів у базах даних, склад та структура індексів, хешування, бінарні дерева, b–дерева.
- •23.Визначити цілісність бази даних; пояснити яким чином підтримується цілісність бази даних; які шляхи збереження цілісності при різних операціях по зміні даних у базі даних.
- •24.Технології створення баз даних за допомогою сучасних інструментальних засобів, перелічити послідовність робіт із створення локальної і серверної бази даних.
- •26.Бази даних в Internet: публікації баз даних в Internet, web-застосування і web-сервери, інтерфейси програмування web-застосувань, використання технології xml для публікації баз даних.
- •27.Інформаційні сховища: склад і структура, багатомірна модель даних, проектування багатомірних баз даних, застосування технологій olap для обробки даних.
- •29.Інформаційне забезпечення автоматизованих систем: склад та структура інформаційного забезпечення, системи класифікації та кодування інформації.
- •30.База знань: склад і структура, головні відмінності від бази даних; моделі представлення знань, організація виведення в базах знань.
13.Паралельна обробка даних у базі даних; транзакції і їхні властивості; управління транзакціями, двохфазове блокування, метод тимчасових міток.
Робота з багатокористувацькими СУБД вимагає на відміну від 1 користувача виконання принаймі 2-х додаткових функцій:організація паралельної роботи користувачів,забеспечення захисту фнформації.
Робота з багатокористувацькими СУБД вимагає 2 додаткові ф-ції: організація паралельної роботи користувачів і забезпечення цілісності інф-ї. Для цього застос. механізм транзакцій - послідовних операцій над БД з боку одного застосування, повне виконання яких зберігає цілісність БД. В інтервалі виконання трансакції БД може бути нецілісна.
Транзакція - неподільна з точки зору впливу на БД послідовність операторів маніпулювання даними, яка розглядається СУБД як єдине ціле. Або транзакція успішно виконується, і СУБД фіксує зміни БД, які були зроблені цією транзакцією, у зовнішній пам'яті, або, у разі невдачі, жодна зміна не відображається на стані БД. Транзакція розглядається як логічна одиниця роботи з БД.
Для того, щоби використання механізмів обробки транзакцій дозволило забезпечити цілісність даних й ізольованість користувачів, транзакція повинна мати такі властивості: атомарність- означає, що транзакція виконується, як єдина операція доступу до БД і виконується або повністю або не виконується зовсім; сумісність-стан бд може змінюватись транзакціями таким чином,що бд переходить з 1 стану в інший;ізольованість-в процесі роботи 1 транзакція не впливає на роботу іншої; довготерміновість-результат транзакції після її виконання не може бути ніяким чином змінений.
Для обробки паралельних транзакцій застосовується серіалізація транзакцій і метод тимчасових міток.
Серіалізаиія транзакцій — процедура, яка забезпечує підтримку незалежного виконання трансакцій. Це означає, що дія двох паралельно діючих транзакцій буде така сама, як і їх послідовна дія: спочатку перша, а потім друга, або навпаки - спочатку друга, а потім перша. У ході виконання транзакції користувач бачить тільки узгоджені дані і не бачить неузгоджених проміжних даних. Для підтримки паралельної роботи складається спеціальний план. Для реалізації серіалізації транзакцій застосовується механізм блокувань. Блокування передбачає встановлення режиму доступу до деякого ресурсу даних.
Розрізняють блокування: блокування всієї БД; блокування на рівні таблиці; блокування на рвіні рядків і стовпців; блокування на рівні полів. Для підвищення ступеня паралельності доступу декількох користувачів до однієї БД використовуються такі блокування:
1. жорстке блокування або монопольне блокуванняе (Х блокування). Цей блок передбачає, що транзакція забороняє будь-який доступ до даних під час виконання.
2. нежорстке блокування або розподільне блокування (S блокування).Цей блок передбачає, що над даними і тими ж даними одночасно можуть виконуватися декілька трансакцій, але тільки одна може виконувати операції write I read.
Недолік: Застосування різних типів блокувань призводить до тупиків. Тупикова ситуація виникає тоді, коли дві і більше транзакцій одночасно знаходяться у стані очікування, причому для продовження роботи кожна з транзакцій очікує завершення роботи іншої транзакції.
Для серіалізації транзакцій також застосовується двофазне блокування, яке полягає у такому: перед виконанням операцій з будь-яким об'єктом транзакція блокує цей об'єкт (накопичення захватів); після зняття блокування транзакція не повинна накладувати ніяких інших блокувань (вивільнення захватів).
Метод тимчасових міток:цей підхід передбачає,що кожній транзакції надається тимчасова мітка,яка відповідає моменту часу початку роботи транцакції.Перед виконанням операцій над об»єктом транзакція встановлює тип операції над об»єктом (читати-писати).Цей підхід застосовується коли інтенсивність роботи з сервером невелика.Переваги:немає тупиків.
Тимчасові мітки – цей підхід передбачає, що кожній трансакції надається тимчасова мітка, яка відповідає моменту початку роботи трансакції. Перед початком роботи над об’єктом трансакція встановлює тип операції і мітку.
Транзакція – це одинична або групова зміна БД, яка або виконується повністю, або не виконується зовсім. Транзакція переводить БД з одного цілісного стану в інший.
До операторів керування транзакціями відносяться наступні:
SET TRANSACTION (почати транзакцію);
COMMIT (завершення дії транзакції з фіксацією результатів змін у БД)
ROLLBACK (завершення дії транзакції з відміною зроблених змін)
Приклад:
Встановити транзакцію, яка забезпечить зміну назви кафедри і назви факультету, де завідуючим кафедрою працює Бойко О.О., на назву ІТ і АІТ
SET TRANSACTION;
UPDATE Chair
SET C_Title=”IT”, F_Title=”AIT”
WHERE C_Chief=”Бойко О.О.”;
COMMIT;