Перед завершением этого раздела о командах языка управления данными есть еще две команды, которые очень полезны.
Изменения, вносимые в базу данных командами INSERT, UPDATE и DELETE, являются временными до явного подтверждения. Это выполняется командой:
COMMIT;
При выполнении этой команды все сделанные вами изменения в базе данных становятся постоянными и не могут быть отменены.
COMMIT автоматически выполняется при обычном выходе из SQL * Plus. Тем не менее время от времени вводить команду COMMIT не вредно.
COMMIT не применяется ни к каким командам SELECT, так как нет ничего для фиксации.
COMMIT не применяется ни к каким командам DDL (например, CREATE TABLE, CREATE INDEX и т. Д.). Они автоматически фиксируются и не могут быть отменены.
Если вы хотите откатить (т.е. отменить) любые изменения, внесенные в базу данных с момента последней фиксации, вы можете выполнить команду:
ROLLBACK;
Группа связанных SQL-команд, которые все должны успешно завершить или выполнить откат, называется транзакцией. Часть вашего исследования для Outcome 3 включает изучение обработки транзакций и последствий откатов и фиксации.
Кроме того, в процессе вставки, обновления и удаления СУБД необходимо сохранять целостность базы данных и разрешать многопользовательский доступ (т. Е. Параллелизм). Транзакция, которая еще не была зафиксирована, должна быть прозрачной для пользователей. Например, незафиксированная вставка не должна быть доступна другому пользователю. Кроме того, два пользователя, пытающиеся обновить одну и ту же запись, не должны мешать друг другу. Это должно быть управляемым. Параллелизм управляется СУБД с использованием стратегий блокировки. Часть вашего исследования для Outcome 3 включает изучение стратегий блокировки, охватывающих блокировки столбцов, полей строк и таблиц.