Програмне забезпечення займає проміжне положення між «фізичною» базою даних і користувачем. Це програмне забезпечення називається системою управління базою даних (СУБД) і являє собою набір програмних засобів, за допомогою яких здійснюється управління базою даних і доступ до даних.
До основних функцій СУБД належать:
- безпосереднє управління даними в зовнішній пам’яті;
- управління буферами оперативної пам’яті;
- управління транзакціями;
- журналізація;
- підтримка мов БД.
-
Безпосереднє управління даними в зовнішній пам’яті
Безпосереднє управління даними, які перебувають у зовнішній пам’яті, забезпечує необхідну структуру зовнішньої пам’яті, конкретні методи її організації. СУБД підтримує власну систему найменувань об’єктів БД.
Управління буферами оперативної пам’яті
СУБД зазвичай працюють з базами даних великих обсягів, які значно перевищують обсяг оперативної пам’яті. При зверненні до будь-якого елемента даних відбувається обмін зі зовнішньою пам’яттю і система працює з швидкістю пристрою зовнішньої пам’яті. Буферізація даних в оперативній пам’яті значно збільшує швидкість обміну. Саме тому СУБД підтримує набір буферів оперативної пам’яті і управління ними.
Управління транзакціями
Транзакція – це така послідовність операцій користувача над базою даних, яка зберігає її логічну цілісність.
Наприклад, якщо видаляються з бази даних відомості про постачальника, то необхідно також видалити відомості про поставки цього постачальника. Інакше в базі даних залишаться відомості про поставки, постачальник яких невідомий.
Особливу вагу набуває транзакція в СУБД, які призначенні для багатьох користувачів.
Журналізація
Журналізація – це функція, яка дозволяє відновити останній стан бази даних після будь-якого апаратного або програмного збою.
СУБД повинна забезпечити надійне збереження даних у зовнішній пам’яті, тобто система зобов’язана відновити останній узгоджений стан бази даних після апаратного або програмного збою.
Існують два види апаратних збоїв: м’який і жорсткий.
М’який збій – це раптова зупинка роботи комп’ютера, наприклад, при аварійному відключенні живлення.
Жорсткий збій – це втрата інформації на носіях зовнішньої пам’яті, наприклад, урезультаті помилки в програмі або при апаратному збої. Жорсткий збій – це аварійне завершення роботи СУБД або аварійне завершення програми користувача, внаслідок чого транзакція залишається незавершеною.
Журнал – це особлива частина бази даних, яка недосяжна користувачам СУБД і підтримується особливо ретельно (інколи підтримуються дві копії журналу, розміщені на різних носіях). У журнал надходять записи про всі зміни, які відбуваються з основною частиною бази даних.
Підтримка мов БД
Для роботи з базою даних використовуються спеціальні мови баз даних. Зазвичай виділяють дві мови:
- мову визначення даних DDL;
- мову маніпулювання даними DML.
Мова DDL слугує для визначення логічної структури бази даних.
Мова DML містить набір операторів маніпулювання даними, тобто операторів, які дозволяють заносити дані в базу даних, видаляти, модифікувати або вибирати існуючі дані.
У більшості СУБД підтримується єдина інтегрована мова, яка містить усі необхідні засоби для роботи з базою даних, починаючи від її створення, і забезпечує базовий, призначений для користувача, інтерфейс з базами даних.
Стандартною мовою реляційних СУБД є структурована мова запитів SQL, яка сполучає мови DDL і DML, тобто дозволяє визначати схему бази даних і маніпулювати даними.