- •Державна податкова адміністрація україни
- •Поняття інформаційної системи
- •Життєвий цикл інформаційної системи
- •Історія розвитку субд
- •Реляційна модель даних
- •Математичні відношення
- •Реляційні ключі
- •Реляційна цілісність
- •Реляційна алгебра
- •Операції з’єднання
- •Нормалізовані відношення
- •Коли субд можна вважати реляційною
- •Основні типи даних визначених стандартом iso
- •Integer
- •Формати представлення дат
- •Формат time
- •Коротка характеристика сучасних субд
- •Основи мови sql
- •Insert into ustanova(kod,nazva) values(10234,’Академія дпс України’)
- •Прості запити
- •Умова відбору (ключове слово where)
- •Зрівняння
- •Використання діапазонів (between / not between)
- •Умови відбору з перевіркою входження у множину (in / not in)
- •Умови відбору з допомогою шаблону (like / not like)
- •Використання значення null в умовах відбору (is null / not null)
- •Використання множини таблиць в одному запиті
- •Імена таблиць і стовпчиків
- •З’єднання таблиць (join)
- •Ліве з’єднання (left join)
- •Сортування результату (фраза order by)
- •Групування результатів (фраза group by). Агрегатні функції
- •Використання фрази group by
- •Використання фрази having
- •Підзапити
- •Ключові слова any I all
- •Ключові слова exists I not exists
- •Комбінування результуючих таблиць (операції union, intersect і except)
- •Поновлення бази даних
- •Вставка нових даних
- •Модифікація даних (оператор update)
- •Використання inner join, left join в операторі update
- •Видалення даних з бази(оператор delete)
- •Визначення даних
- •Створення баз даних
- •Створення таблиць (оператор create table)
- •Видалення таблиць (оператор drop table)
- •Створення індексу (оператор create index)
- •Видалення індексу (оператор drop index)
- •Модифікація структури таблиці (оператор alter table)
- •Використання транзакцій
- •Управління доступом даних
- •Надання привілеїв іншим користувачам (оператор grant)
- •Відміна наданих привілеїв (оператор revoke)
Використання транзакцій
Стандарт ISO визначає модель транзакцій, яка використовує оператори COMMIT і ROLLBACK. Більшість (але не всі) комерційних реалізацій мови SQL підтримують цю модель, яка вперше була реалізована в СУБД DB2 корпорації IBM. Транзакцією називається логічна одиниця роботи, що складається з одного або більше SQL-операторів, яка обробляється системою як єдина і неподільна дія. В стандарті вказується, що в мові SQL транзакція автоматично запускається любим ініціалізуючого транзакціюSQL-оператором (наприклад, SELECT, INSERT, UPDATE). Зміни, що внесені в базу даних в ході виконання даної транзакції, не будуть видимі для любих інших транзакцій, що виконуються паралельно, до тих пір поки ця транзакція не буде завершена. Завершення транзакції може бути виконано одним з наступних способів:
Ввод оператора COMMIT означає успішне завершення транзакції. Після його виконання внесені в базу зміни набувають постійного характеру. Після обробки оператора COMMIT ввод любого ініціалізуючого транзакцію оператора автоматично викличе запуск нової транзакції.
Ввод оператора ROLLBACK означає відмову від завершення транзакції, в результаті чого виконується відкат всіх змін в базі даних, що відбулись під час виконання цієї транзакції. Після обробки оператора ROLLBACK ввод любого ініціалізуючого транзакцію оператора автоматично викличе запуск нової транзакції.
При внесенні SQL-оператора в текст програми (мається на увазі вбудований SQL) успішне завершення її роботи автоматично викличе завершення останньої запущеної програмою транзакції навіть у випадку відсутності оператора COMMIT.
При внесенні SQL-оператора в текст програми, що аварійно завершила свою роботу автоматично викличе відкат останньої транзакції.
В мові SQL заборонено використовувати вкладені транзакції. За допомогою оператора SET TRANSACTION користувачі мають змогу налаштовувати процедуру обробки транзакій. Основний формат цього оператора має вид:
SET TRANSACTION
[READ ONLY | READ WRITE] |
[ISOLATION LEVEL READ UNCOMMITTED | READ COMMITTED |
REPEATABLE READ | SERIALIZED]
Кваліфікатори READ ONLY і READ WRITE вказують, що в транзакціях допускається лише виконання операцій читання або читання і записування відповідно. За змовчуванням використовується кваліфікатор READ WRITE (якщо тільки не вибрано рівень ізоляції READ UNCOMMITTED). Показник рівня ізоляції визначає степінь взаємодії з іншими транзакціями.
Властивості транзакцій. Існують деякі властивості, які властиві кожній транзакції. Нижче наведено чотири основних властивостей.
Атомарність. Люба транзакція представляє собою неподільну одиницю роботи, яка виконується вся цілком або не виконується зовсім.
Узгодженність. Кожна транзакція повинна переводити базу даних з одного узгодженого стану в інший узгоджений стан.
Ізольованість. Всі транзакції виконуються незалежно одна від одної. Тобто, проміжні результати незавершеної транзакції недоступні для інших транзакцій.
Довготривалість. Результати успішно завершених (зафіксованих) транзакцій зберігаються в базі постійно і не повинні бути втраченими в результаті наступних аварійних ситуацій.