Как продемонстрировать самые низкие уровни изоляции для каждой транзакции, не повредит базу данных? - PullRequest
0 голосов
/ 07 ноября 2019

На следующей неделе я начинаю свои экзамены, одним из которых является базы данных. Задача в наших заданиях все еще ставит меня в тупик даже после получения ответа, и я надеюсь, что кто-то сможет прояснить или помочь мне понять процессы.

Ниже приведен вопрос

«Написать отчет о параллельном выполнении двух транзакций базы данных, чтобы продемонстрировать, что самые низкие уровни изоляции для каждой транзакции не повредят базу данных.»

Transaction T1:
SET ECHO ON
SET FEEDBACK ON
SET VERIFY OFF
UPDATE DeptLocation
SET address = '23 Market street, Wollongong, NSW 2500'
WHERE d# = 2 AND address = '108 George Street, Sydney,
NSW 2000';
UPDATE Employee
SET salary = salary + 0.2 * salary;
COMMIT;

Transaction T2:
SET ECHO ON
SET FEEDBACK ON
SET VERIFY OFF
UPDATE Employee
SET address = '15 Kathryn St Kanahooka NSW 2530'
WHERE e# = '00150';
UPDATE DeptLocation
SET address = '23 Market street, Wollongong, NSW 2500'
WHERE d# = 2;
COMMIT; 

Предположим, что пользователь базы данных хотел бы одновременно выполнить обе транзакции, и предположим, что в тот же момент никакие другие транзакции не будут обработаны. На каких уровнях изоляции вы бы лучше выполняли каждую транзакцию, чтобы избежать повреждения базы данных и добиться максимальной производительности для каждой транзакции? У вас есть 3 варианта: ТОЛЬКО ЧИТАТЬ, ЧИТАТЬ ЗАВЕРШЕНО и Сериализуемо.

Вот ответ на один случай, предоставленный нам. Извиняюсь за то, что это скриншотк этому первому результату дела. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...