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


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

До програмних засобів завантажування файлів БД висуваються такі вимоги:

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

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

окрім візуального контролю та контролю за типом і форматом даних програми завантажування повинні вміщувати широкий спектр арифметич­них і семантичних методів контролю;

при завантажуванні даних необхідно виконувати повний обсяг робіт, пов'язаних з контролем забезпечення цілісності та узгодженості даних у файлах БД;

програма повинна імітувати звичний для користувача процес заповнен­ня первинного документа (відображуючи його формуляр-шаблон на екрані) і паралельно з ним завантажувати відповідні файли бази даних, а в разі пот­реби видавати цей документ на принтер;

виконувати паралельно зі створенням файла БД автоматизацію проце­дур кодування окремих позицій номенклатур на базі використання файлів нормативно-довідкової інформації;

виконувати обробку та діагностику всіх типових помилок при введенні даних з клавіатури;

надавати користувачеві максимум сервісних функцій у вигляді підказок і коментарів (бажано в двох режимах: для користувача-початківця і досвід­ченого користувача).

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

Конвертація — це процедура перетворення файла бази даних з одного формату в інший. Цю операцію можна виконувати в кількох випадках:

1) якщо є якісь лінійні файлові структури, котрі необхідно реорганізу­вати в базу даних, що буде перебувати під управлінням СУБД. Найчастіше цю операцію виконують при переході від пакетної обробки на машинах ти­пу ЄС ЕОМ до обробки на персональній обчислювальній техніці;

2) при імпорті/експорті файлів бази даних з однієї СУБД в іншу. Багато СУБД мають стандартні засоби конвертації та приєднання й роботи з база­ми даних, сформованими іншими системами. Наприклад. Microsoft Access має засоби імпорту та експорту з такими СУБД, як FoxPro, Paradox версії З.х чи 4.х, dBASE III чи dBASE IY, Btrieve (зі словниковим файлом Xtrieve) та Microsoft SQL Server. Крім того, ця СУБД може імпортувати та експор­тувати дані різного роду текстових редакторів та електронних таблиць, та­ких як Microsoft Exel чи Lotus1-2-3.

Якщо ж СУБД не має стандартних засобів для конвертації, для вико­нання цієї операції необхідно записувати спеціальні програми конвертації.

5.3. ОПЕРАЦІЯ ВІДНОВЛЕННЯ БД

Операцію відновлення бази даних виконують в разі її часткового пош­кодження чи повного знищення. Технологію ведення бази даних треба спроектувати так, щоб можна було відновити базу даних у таких випадках. Деякі СУБД мають змогу відновлювати інформацію в деяких випадках її пошкодження. Так, Microsoft Access має спеціальну команду відновлення бази даних, коли її пошкодження сталося в результаті незапланованої зупи­нки Access (наприклад, «зависання» системи).

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

Розглянемо можливі ситуації пошкодження БД.

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

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

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

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

Але е багато СУБД, які не мають спеціальних засобів відновлення бази даних, тому необхідно