Скачиваний:
35
Добавлен:
09.12.2018
Размер:
140.74 Кб
Скачать

Самостоятельная работа

Транзакции, оперативная обработка транзакций (oltp).

Цель: изучение принципов описания транзакций для баз данных в MS SQL Server.

  1. Заполните таблицу «Книги» не менее чем 25 записями, введите разные годы издания, в большинстве 2017 или 2018.

  1. В Query Analyzer установите уровень изолированности транзакции максимальный.

  2. Напишите команду начала транзакции.

  3. Внутри транзакции напишите команду обновления таблицы Books, увеличив на 1 все годы издания, которые менее текущего. Текущий год вычисляется стандартными функциями Year(Getdate()). Используйте уровень блокировки – таблица и сделайте блокировку исключительной (XLOCK)

  4. Не завершать транзакцию оператором COMMIT.

  5. В новом окне набрать команду вывода всех строк из таблицы Books.

  6. Зафиксируйте результат в виде скриншотов, напишите объяснение полученному результату.

В конце транзакции UpdateBooks нет команд

COMMIT TRANSACTION или ROLLBACK TRANSACTION, это означает, что транзакция продолжает свою работу, а запросить данные (т.е. выборка всех данных из таблицы books) невозможно, так как стоит монопольная блокировка (XLOCK), т.е. блокировка, резервирующая ресурс для монопольного использования одной транзакцией.

  1. Допишите отдельно команду COMMIT в первом окне и выделив ее выполните, проанализируйте изменение второго окна, зафиксируйте и прокомментируйте.

После выполнения команды COMMIT TRANSACTION, все изменения, произведенные транзакцией, были сохранены, и транзакция завершилась. Теперь второе окно показывает результат запроса и сохраненные изменения.

9. Проделайте аналогичную операцию со столбцом стоимость книг, увеличив стоимость на 10 рублей для каждой книги, изданной в текущем году. Установите минимальный уровень изолированности и так же не завершайте транзакцию и запустите в соседнем окне просмотр таблицы. Зафиксируйте результаты и прокомментируйте.

Соседние файлы в папке Самостоятельные работы