Проектування баз даних
42


спроектувати технологію відновлення файлів бази даних і ретельно її дотримуватись. За виконання цієї операції несе відпові­дальність адміністратор бази даних.

З метою забезпечення відновлення бази даних на випадок її руйнування необхідно періодично виконувати страхове копіювання файлів бази даних. Складають відповідний графік проведення таких копіювань. Періодичність копіювання файлів залежить від періодичності внесення змін. Страхове ко­піювання необхідно виконувати після кожного внесення змін. Окрім копію­вання потрібно вести журнал реєстрації всіх змін, внесених у файли бази даних. Деякі СУБД мають автоматичні засоби ведення такого журналу, в якому фіксують всі дії, виконані з базою даних. При цьому ідентифікують користувача, який виконував певні дії, фіксують дату і годину, а також за­писують копію до й після внесення змін.

Крім того, перш ніж виконуватимуться певні перетворення, система повинна здійснити перевірку на санкціонованість виконання цих дій і дати дозвіл або повідомити про заборону та захищеність даних від певних дій. Система має реєструвати несанкціоновані спроби доступу до захищених ресурсів і повідомляти про це адміністратора чи спеціально виділених осіб. які відповідають за безпеку та захищеність інформації в базі даних.

Слід зазначити, що дуже поширені зараз на практиці СУБД сім'ї dBASE не мають стандартних засобів для автоматичної реєстрації дій з файлами бази даних. Тому потрібна розробка спеціальних програмних за­собів, які б автоматизували виконання цих функцій. Такі засоби необхідно створювати особливо для тих інформаційних систем, у яких висуваються високі вимоги до безпеки та захищеності даних. Прикладом є банківські інформаційні системи, в яких необхідно автоматизованим способом реєструвати всі дії не лише з метою відновлення баз даних, а й для забезпечення можливості відтворення цих дій в разі неузгодженості та неможливості ба­лансування відповідних даних. Якщо специфіка інформаційної системи не потребує створення такої розвиненої системи реєстрації дій, то для вико­нання дій, пов'язаних з відновленням бази даних, необхідно лише фіксува­ти та зберігати у відповідному файлі коректур усі останні зміни, які вноси­лись у файли бази даних. Якщо й ця функція не реалізована, необхідно фіксувати всі зміни вручну в журналі реєстрації змін.

Відновлення бази даних за наявності страхових копій, файла коректур чи журналу внесених змін передбачає виконання таких дій.

1. Виявляють помилку, яка призвела до руйнування бази даних, аналі­зують її з точки зору введення якогось допоміжного механізму, якщо це. звичайно, можливо, аби надалі запобігти виникненню таких помилок.

2. Виконують злиття страхової копії з файлом коректур, який відо­бражує внесені зміни в базу даних з часу останнього страхового копіювання.

3. Якщо було частково зруйновано файли бази даних і на них виконува­ли якісь розрахунки, то їх необхідно повторити на відновленій базі даних.

5.4. РЕОРГАНІЗАЦІЯ 1 РЕСТРУКТУРИЗАЦІЯ БАЗИ ДАНИХ

Реорганізація бази даних — це поняття, яке має два трактування. У ши­рокому розумінні цього слова — це будь-які зміни в організації бази даних, у тому числі реструктуризація, у більш вузькому — лише зміни на фізичному рівні без внесення змін на логічному рівні. Будемо розглядати термін «реорганізація» у вузькому його розумінні. Потреба в реорганізації бази да­них пов'язана з необхідністю покращення її функціональних характеристик.

Прикладом реорганізації може бути реорганізації послідовного файла в індексно-послідовний чи прямий при обробці на машинах типу ЄС ЕОМ. Не­обхідність такої модифікації пов'язана з погіршенням функціональних харак­теристик системи в результаті раніше внесених змін і з підвищенням опера­тивності пошуку інформації та більш своєчасною видачею її користувачеві.

Часто базу даних реорганізовують з метою її ущільнення та вивільнен­ня пам'яті. Наприклад, записи, що підлягають вилученню з бази даних, спочатку відмічають для вилучення. Відмічені записи не завжди можна фі­зично знищити, вони можуть деякий час розміщуватись у базі даних. Нап­риклад, інформація про звільнених робітників повинна зберігатись на підп­риємстві для формування бухгалтерської та статистичної звітності та інших цілей. Однак цю інформацію недоцільно зберігати в активній базі даних. тому здійснюють реорганізацію й записи про звільнених робітників, відмі­чені для вилучення, переписують в архівні файли. Більшість відомих СУБД мають команди відмічання та фізичного знищення записів, але не мають програм ущільнення та реорганізації бази даних, тому такі програми необ­хідно розробляти окремо. Інтервал реорганізації визначає адміністратор бази даних. Частота реорганізації залежить від багатьох факторів: розміру ба­зи даних, інтенсивності та характеристики модифікацій, інтенсивності звертання до файлів бази даних та ж.

Реструктуризація — це процес внесення змін у логічну структуру файлів бази даних. До таких змін відносять зміни типів, форматів та імен окремих полів, появу нових полів, вилучення полів зі структури файла та їх перегрупу­вання. Головна об'єктивна причина реструктуризації полягає в тому, що будь-яка предметна область, відображена в базі даних, може зазнати певних змін, що й зумовить необхідність реструктуризації бази даних. Друга причина — це виникнення нових інформаційних потреб користувачів, які не були запла­новані при проектуванні бази даних. Реструктуризація бази даних для біль­шості СУБД потребує повного чи часткового її перезавантажування, що пов'язано зі значними витратами машинного часу і потребує великої та се­рйозної роботи, пов'язаної з внесенням змін у відповідні прикладні програми, які працюють з тими файлами, котрі підлягають реструктуризації. Прикладні програми залежно від характеру