
- •Вопрос 21. Внутреннее представление базы данных: понятие, создание, эксплуатация.
- •Разработка и отладка приложений. Выполняется разработчиками программного обеспечения на основе функциональных требований.
- •Конвертирование и загрузка данных в бд. Этот этап выполняется в том случае, если данные в бд загружаются из ранее существовавшей системы.
- •Тестирование работы базы данных и аис в целом. Различают такие виды тестов, как:
- •Эксплуатация и сопровождение созданной аис. Здесь можно выделить ряд задач:
- •Вопрос 22. Два уровня защиты данных в Interbase. Управление парольной защитой и виды паролей.
- •Привилегии sql: Второй уровень безопасности
- •Вопрос 23. Понятие изолированности транзакций. Уровни изоляции.
- •Вопрос 24. Взаимная блокировка транзакций. Управление выполнением транзакций.
- •Обнаружение взаимных блокировок
- •Предотвращение взаимной блокировки
- •Вопрос 25. Понятие дефрагментации и виды дефрагментации.
- •Вопрос 26. Понятие клиента и пользователя. Пользователи sysdba и public.
- •Пользователь sysdba
- •Вопрос 27.
- •Утилита ibConsole: создание файла бд и подключение к удаленной базе данных.
- •Вопрос 28. Утилита ibConsole: просмотр структуры удаленной базы данных.
- •Вопрос 29. Утилита ibConsole: создание и выполнение запросов к базе данных.
- •Интерактивное выполнение sql-запросов
- •Программа sql Monitor
- •Вопрос 30.
- •Утилита ibConsole: просмотр и ввод информации в таблицы базы данных.
Вопрос 23. Понятие изолированности транзакций. Уровни изоляции.
Уровень изолированности транзакций – значение, определяющее уровень, при котором в транзакции допускаются несогласованные данные, то есть степень изолированности одной транзакции от другой. Более высокий уровень изолированности повышает точность данных, но при этом может снижаться количество параллельно выполняемых транзакций. С другой стороны, более низкий уровень изолированности позволяет выполнять больше параллельных транзакций, но снижает точность данных.
Уровни изоляции по учебнику Агальцова:
Read Commited, SnapShot, SnapShot Table Stability.
Уровни изоляции(как указано во всех остальных источниках):
Стандарт SQL-92 определяет уровни изоляции, установка которых предотвращает определенные конфликтные ситуации. Введены следующие четыре уровня изоляции:
Serializable (упорядочиваемость)
Самый высокий уровень изолированности; транзакции полностью изолируются друг от друга. На этом уровне результаты параллельного выполнения транзакций для базы данных в большинстве случаев можно считать совпадающими с последовательным выполнением тех же транзакций (по очереди в каком-либо порядке).
Repeatableread (повторяемость чтения)
Уровень, при котором чтение одной и той же строки или строк в транзакции дает одинаковый результат. (Пока транзакция не завершена, никакие другие транзакции не могут модифицировать эти данные.)
Readcommitted (чтение фиксированных данных)
Принятый по умолчанию уровень для SQL Server. Завершенное чтение, при котором отсутствует черновое, «грязное» чтение (т.е. чтение одним пользователем данных, которые не были зафиксированны в БД командой COMMIT). Тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. Это проблема неповторяемого чтения.
В Oracle блокировки на чтение нет, вместо этого «читающая» транзакция получает ту версию данных, которая была актуальна в базе до начала «пишущей».
Readuncommitted (чтение незафиксированных данных)
Низший уровень изоляции, соответствующий уровню 0. Он гарантирует только физическую целостность данных: если несколько пользователей одновременно изменяют одну и ту же строку, то в окончательном варианте строка будет иметь значение, определенное пользователем, последним изменившим запись, а не смешанные значения столбцов отдельных пользователей (повреждение данных). По сути, для транзакции не устанавливается никакой блокировки, которая гарантировала бы целостность данных.
Поведение при различных уровнях изолированности:
«+» — предотвращает, «–» — не предотвращает.
Уровень изоляции |
Фантомная вставка |
Неповторяющееся чтение |
«Грязное» чтение |
Потерянное обновление |
SERIALIZABLE |
+ |
+ |
+ |
+ |
REPEATABLE READ |
– |
+ |
+ |
+ |
READ COMMITED |
– |
– |
+ |
+ |
READ UNCOMMITTED |
– |
– |
– |
+ |