r, Inter Baseі ін.
У ролі клієнтських програм в загальному випадку можуть використовуватися СУБД, електронні таблиці, текстові процесори, програми електронної пошти та ін.
Засоби розробки програм роботи з БД можуть використовуватися для створення таких програм:
* клієнтських програм;
* серверів БД та їх окремих компонентів;
* користувальницьких додатків.
За характером використання СУБД ділять на багатокористувацькі (промислові) і локальні (персональні).
Промислові, СУБД являють собою програмну основу для розробки автоматизованих систем управління великими економічними об'єктами. Промислові СУБД повинні відповідати таким вимогам:
* можливість організації спільної паралельної роботи багатьох користувачів;
* масштабованість;
* переносимість на різні апаратні і програмні платформи;
* стійкість по відношенню до збоїв різного роду, в тому числі наявність багаторівневої системи резервування збереженої інформації;
* забезпечення безпеки збережених даних і розвиненою структурованої системи доступу до них.
Персональні СУБД - це програмне забезпечення, орієнтоване на вирішення завдань локального користувача або невеликої групи користувачів і призначене для використання на персональному комп'ютері. Це пояснює і їх друга назва - настільні. Визначальними характеристиками настільних систем є:
* відносна простота експлуатації, що дозволяє створювати на їх основі працездатні користувальницькі додатки;
* відносно обмежені вимоги до апаратних ресурсів.
За використовуваної моделі даних СУБД поділяють на ієрархічні, мережеві, реляційні, об'єктно-орієнтовані та ін. Деякі СУБД можуть одночасно підтримувати декілька моделей даних.
Для роботи з даними, що зберігаються в базі, використовуються такі типи мов:
* мова опису даних - високорівнева непроцедурного мова
декларативного типу, призначений для опису логічної
структури даних * Мова маніпулювання даними - сукупність конструкцій, що забезпечують виконання основних операцій по роботі з даними: введення, модифікацію і вибірку даних за запитами. Названі мови в різних СУБД можуть мати відмінності. Найбільшого поширення набули два стандартизованих мови: QBE- мова запитів за зразком іSQL -структурірованний мову запросов.QBE в основному має властивості мови маніпулювання даними, SQLсочетает в собі властивості мов обох типів.
СУБД реалізує наступні основні функції низького рівня:
* управління даними у зовнішній пам'яті;
* управління буферами оперативної пам'яті;
* управління транзакціями;
* ведення журналу змін в БД;
* забезпечення цілісності і безпеки БД.
Реалізація функції управління даними у зовнішній пам'яті забезпечує організацію управління ресурсами у файловій системі ОС.
Необхідність буферизації даних зумовлена ??тим, що обсяг оперативної пам'яті менше обсягу зовнішньої пам'яті. Буфери являють собою області оперативної пам'яті, призначені для прискорення обміну між зовнішньою і оперативною пам'яттю. У буферах тимчасово зберігаються фрагменти БД, дані з яких передбачається використовувати при зверненні до СУБД або планується записати в базу після обробки.
Механізм транзакцій використовується в СУБД для підтримки цілісності даних в базі. Транзакцією називається деяка неподільна послідовність операцій над даними БД, яка відстежується СУБД від початку і до завершення. Якщо з яких-небудь причин (збої і відмови устаткування, помилки в програмному забезпеченні, включаючи додаток) транзакція залишається незавершеною, то вона скасовується.
Транзакції притаманні три основні властивості:
* атомарность (виконуються всі вхідні в транзакцію операції або жодна);
* серіалізуемость (відсутній взаємовпливи виконуваних в один і той же час транзакцій);
* довговічність (навіть крах системи не призводить до втрати результатів зафіксованої транзакції).
Прикладом транзакції є операція переказу грошей з одного рахунку на інший у банківській системі. Спочатку знімають гроші з одного рахунку, потім нараховують їх на інший рахунок. Якщо хоча б одна з дій не виконається успішно, результат операції виявиться невірним і буде порушений баланс операції.
Ведення журналу змін виконується СУБД для забезпечення надійності зберігання даних в базі пр...