Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Method_ЛР_БД(1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
921.09 Кб
Скачать

8.6 Контрольні питання

1.Напишіть скрипт тригера по завданню викладача.

2. Напишіть скрипт події по завданню викладача

2.Як працює тригер (подія)?

3.Розкажить про тригер (подію) Вашої роботи або роботи іншого студента.

Лабораторна робота №9

ВІДСТЕЖУВАННЯ ТРАНЗАКЦІЇ

9.1 Мета роботи

1. Набуття навичок аналізу стану бд.

2. Вивчення частини TCL мови SQL.

9.2 Теоретичні відомості

Для явної роботи с транзакціями маємо наступні оператори

START TRANSACTION; COMMIT; ROLLBACK; SAVEPOINT.

Синтаксис SAVEPOINT і ROLLBACK TO SAVEPOINT

SAVEPOINT identifier;

ROLLBACK TO SAVEPOINT identifier;

Поточний рівень ізоляції видно, якщо подано команду

SHOW VARIABLES LIKE '% tx_isolation%';

Може бути встановлений різний рівень ізоляції. Синтаксис

SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE};

    1. 9.3 Завдання на лабораторну роботу

Дослідити виконання дій над таблицею при різних рівнях ізоляції.

9.4 Методика виконання

1.Переглянути і зафіксувати версію сервера, статус обробників, рівень ізоляції.

2. Якщо необхідно перетворити таблицю до типу InnoDB, виконати ALTER TABLE t TYPE=INNODB;

3. Для поточного рівня ізоляції стартувати транзакцію, виконати START TRANSACTION, UPDATE для одної таблиці, переглянути зміст таблиці до і після COMMIT. Дії фіксувати.

4. Змінювати рівень ізоляції, кожен раз виконувати INSERT, переглядати зміст таблиці до і після COMMIT, ROLLBACK. Дії і результати фіксувати.

5. Змінювати рівень ізоляції, кожен раз виконувати два речення з UPDATE, між якими вставити SAVEPOINT. Переглядати зміст таблиці до і після COMMIT, ROLLBACK. Дії фіксувати.

Перший рівень ізоляції встановлюється реченням

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

9.5 ЗМІСТ ЗВІТУ

Розділ “Результати роботи” повинен містити таблицю, скрипти транзакцій і результати дій над таблицею.

9.6 Контрольні питання

1.Властивості транзакції.

2.Напишіть скрипт транзакції.

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

4.Блокування транзакцій.

Лабораторна робота №10 створення курсорів

10.1 Мета роботи

1. Набуття навичок переміщень по даних

10.2 Теоретичні відомості

Синтаксис створення і використання курсору.

1 DECLARE cursor_name CURSOR FOR SELECT ...; /* Оголошення курсору і його заповнення */

2 DECLARE CONTINUE HANDLER FOR NOT FOUND /* Що робити, коли більше немає записів */

3 OPEN cursor_name; /* Відкрити курсор */

4 FETCH cursor_name INTO variable [, variable]; /* Призначити значення змінної, рівної поточному значенню стовпця */

5 CLOSE cursor_name; /* Закрити курсор */

    1. 10.3 Завдання на лабораторну роботу

1. Створити курсор за завданням викладача.

2. Порівняти з

Select `bank`.* FROM `ХХХ` LIMIT НОМЕР_ПОТРІБНОГО_НАМ_РЯДКА,1

10.4 Методика виконання

Техніка створення курсору продовжує створення процедури (лабораторна робота №7) або тригера.

У прикладі наведемо деякі прості операції з використанням курсору:

01 DELIMITER / /

02

03 CREATE PROCEDURE `proc_CURSOR` (OUT param1 INT)

04 BEGIN

05 DECLARE a, b, c INT;

06 DECLARE cur1 CURSOR FOR SELECT col1 FROM table1;

07 DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;

08 OPEN cur1;

09

10 SET b = 0;

11 SET c = 0;

12

13 WHILE b = 0 DO

14 FETCH cur1 INTO a;

15 IF b = 0 THEN

16 SET c = c + a;

17 END IF;

18 END WHILE;

19

20 CLOSE cur1;

21 SET param1 = c;

22

23 END / /

10.5 ЗМІСТ ЗВІТУ

Розділ “Результати роботи” повинен містити скрипти з курсорами і результати їх роботи.

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