Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
answer.docx
Скачиваний:
0
Добавлен:
03.12.2019
Размер:
54.69 Кб
Скачать

10

  1. Поняття транзакції та блокування.

  2. Правила ACID. Атомарність, узгодженість, ізольованість, стійкість.

  3. Типи неузгодженості даних при відсутності блокувань (чотири).

  4. Рівні блокувань за стандартом ANSI (чотири).

  5. Типи транзакцій. Явні, неявні та автоматичні транзакції.

  6. Типи транзакцій. Розподілені транзакції.

  7. Початок, завершення та відкат транзакції. Точка зберігання.

  8. Керування блокуваннями. Менеджер блокувань. Час очікування.

  9. Рівні блокувань.

  10. Рівні ізоляції.

  11. Типи блокувань.

  12. Мертві блокування.

  13. Збережені процедури. Доцільність використання. Типи збережених процедур.

  14. Етапи розробки збережених процедур.

  15. Синтаксис створення, зміни, видалення та виклику збережених процедур

  16. Використання параметрів у збережених процедурах.

  17. Повернення даних із збережених процедур.

  18. Параметр типу курсор у збережених процедурах. Використання коду повернення.

  19. Тригери. Застосування тригерів.

  20. Класифікація тригерів за типами команд та за типом поведінки.

  21. Створення, зміна та видалення тригеру.

  22. Функції COLUMNSUPDATED() та UPDATE () у тілі тригера.

  23. Керування транзакціями в тілі тригера. Фіксація та відкат змін користувача.

  24. Таблиці inserted та deleted.

  25. Функцій користувача. Класи функцій користувача.

  26. Функцій користувача. Клас Scalar

  27. Функцій користувача. Inline

  28. Функцій користувача. Multi-statement

  1. Поняття транзакції та блокування.

Під транзакцією розуміється неподільна з точки зору впливу на БД послідовність операторів маніпулювання даними (читання, видалення, вставки, модифікації), що приводить до одного з двох можливих результатів: або послідовність виконується, якщо всі оператори правильні, або вся транзакція відкочується, якщо хоча б один оператор не може бути успішно виконаний.Обробка транзакцій гарантує цілісність інформації в базі даних. Таким чином, транзакція переводить базу даних з одного цілісного стану в інший Підвищення ефективності роботи при використанні невеликих транзакцій пов'язано з тим, що при виконанні транзакції сервер накладає на дані блокування. Блокуванням називається тимчасове обмеження на виконання деяких операцій обробки даних. Блокування може бути накладена як на окремий рядок таблиці, так і на всю базу даних. Управлінням блокуваннями на сервері займається менеджер блокувань, контролюючий їх застосування і вирішення конфліктів. Транзакції і блокування тісно пов'язані один з одним. Транзакції накладають блокування на дані, щоб забезпечити виконання вимог ACID. Без використання блокувань кілька транзакцій могли б змінювати одні й ті ж дані. Блокування являє собою метод управління паралельними процесами, при якому об'єкт БД не може бути модифікований без відома транзакції, тобтовідбувається блокування доступу до об'єкта з боку інших транзакцій, чим виключається непередбачуване зміна об'єкту. Розрізняють два види блокування: блокування запису - транзакція блокує рядки в таблицях таким чином, що запит іншої транзакції до цих рядках буде відмінено; блокування читання - транзакція блокує рядки так, що запит з боку іншої транзакції на блокування запису цих рядків буде відхилений, а на блокування читання - прийнятий. У СУБД використовують протокол доступу до даних, що дозволяє уникнути проблеми паралелізму. Його суть полягає в наступному: транзакція, результатом дії якої на рядок даних у таблиці є її вилучення, зобов'язана накласти блокуванням читання на цей рядок; транзакція, призначена для модифікації рядка даних, накладає на неї блокування запису; якщо запитувана блокування на рядок відкидається через уже наявної блокування, то транзакція переводиться в режим очікування до тих пір, поки блокування не буде знято; блокування запису зберігається аж до кінця виконання транзакції.

  1. Правила acid. Атомарність, узгодженість, ізольованість, стійкість.

ACID – це акронім, який служить для опису 4 визначальних транзакцію властивостей ("атомарна", "несуперечлива", "ізольована" і "стійка"). Дамо визначення кожному з них. Для цього візьмемо ситуацію, коли для оновлення відомостей про клієнта потрібно оновити дані в трьох таблицях ("ім'я клієнта", "адреса клієнта" і "контактна інформація").

Атомарність" Припускає успішне завершення транзакції лише тоді, коли успішно / повністю проводиться кожну дію в обумовленою транзакцією ланцюжку. В іншому випадку транзакція вважається недійсною.

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

Принцип збереження вихідного стану даних до завершення транзакції

Термін " несуперечність "Означає необхідність збереження первісного стану даних до повного завершення транзакції.

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

Принцип незалежності від інших транзакцій

Термін " ізольованість "Означає, що кожна транзакція повинна виконуватися так, ніби це єдина виконавча транзакція, яка не залежить від інших.

Припустимо, що оновлення всіх 3 таблиць пройшло успішно, і ніхто інший не намагався відновити їх. У такому випадку вона не повинна впливати або відчувати вплив з боку будь-якої іншої транзакції.

Принцип залежності фіксації / відкату від безконфліктного успіху

Що означає термін " стійкість "? Це значить, що якщо всі події успішно завершені, то транзакція обов'язково підлягає фіксації, але якщо хоча б одна дія зазнало невдачі, то транзакція обов'язково підлягає відкату.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]