1. Дайте определение транзакции. Приведите примеры транзакций.
2. Перечислите и охарактеризуйте свойства транзакций.
3. Какие возможны варианты завершения транзакций.
4. Какие операторы языка SQL служат для работы с транзакциями в расширенной модели транзакций?
5. Можно ли в триггерах использовать команды управления транзакциями?
6. Для чего предназначен журнал транзакций?
7. В каких случаях выполняется восстановление БД по журналу транзакций?
8. Какие варианты ведения журналов транзакций существуют?
9. В чем заключаются различия вариантов ведения журнала транзакций: протокола с отложенными обновлениями и протокола с немедленными обновлениями.
10. Какие проблемы возникают при параллельной работе пользователей с БД?
11. Какие объекты БД могут быть заблокированы для реализации принципа изолированности пользователей?
12. Возможно ли задание вида блокировки в запросах?
13. Какие виды захвата объектов несколькими транзакциями существуют? Какие из них являются совместимыми?
14. В чем заключается проблема тупиков?
Безопасность данных является одной из важнейших задач при хранении информации в СУБД. В языке SQL используются следующие основные принципы защиты данных:
· Все операции над данными выполняются от имени конкретного пользователя. СУБД может отказаться выполнить запрашиваемые действия в зависимости от того, какой пользователь запрашивает это действие.
· СУБД разрешает пользователям осуществлять действия над одними объектами и запрещает делать это с другими.
· В SQL используется система привилегий, то есть прав пользователя на проведение тех или иных действий над определенным объектом БД.
В базу данных вводится новый тип объектов - это пользователи. Каждому пользователю присваивается уникальный идентификатор. Для дополнительной защиты каждый пользователь кроме уникального идентификатора снабжается уникальным паролем, причем, если идентификаторы пользователей в системе доступны системному администратору, то пароли хранятся в кодированном виде и известны только самим пользователям.
Пользователи могут быть объединены в группы. Один пользователь может входить в несколько групп. В стандарте вводится понятие группы PUBLIC, для которой должен быть определен стандартный минимальный набор прав. По умолчанию предполагается, что каждый новый пользователь, если специально не указано иное, относится к группе PUBLIC.
В последних версиях ряда коммерческих СУБД появилось понятие роли. Роль – это поименованный набор полномочий. Существует ряд стандартных ролей, которые определены в момент установки сервера БД. Имеется возможность создавать новые роли, группируя в них произвольные полномочия. Введение ролей позволяет упростить управление привилегиями пользователей, структурировать этот процесс.
В самом общем виде концепция обеспечения безопасности БД заключается в следующем: необходимо поддерживать проверку подлинности (аутентификацию) пользователя и проверку полномочий или прав пользователя .
Проверка подлинности означает достоверное подтверждение того, что пользователь, пытающийся выполнить некоторое действие действительно тот, за кого себя выдает.
Проверка полномочий основана на том, что каждому пользователю информационной системы соответствует набор действий, которые он может выполнять по отношению к определенным объектам.
СУБД в своих системных каталогах хранит как описание самих пользователей, так и описание их привилегий по отношению ко всем объектам.
Система назначения полномочий имеет иерархический характер. Самыми высокими полномочиями обладает системный администратор или администратор сервера БД. Традиционно только этот тип пользователя может создавать других пользователей и наделять их определенными полномочиями.
В ряде СУБД вводится следующий уровень иерархии пользователей - это администратор БД.
Далее схема предоставления полномочий строится по следующему принципу: каждый объект БД имеет владельца – пользователя, который создал данный объект. Владелец объекта обладает всеми правами – полномочиями на данный объект, в том числе он имеет право предоставлять другим пользователям полномочия по работе с данным объектом или забирать у них ранее предоставленные полномочия.