Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_BD.doc
Скачиваний:
57
Добавлен:
26.09.2019
Размер:
254.46 Кб
Скачать

11. Управление транзакциями. Представления. Управление транзакциями

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

В языке SQL имеются две команды для управления транзакциями. Команда

COMMIT

завершает транзакцию, сохраняя в базе данных всю информацию и очищая сегмент отката (и все контрольные точки, речь о которых пойдет далее). Команда

ROLLBACK

выполняет откат транзакции, используя информацию из сегмента отката. Однако некоторые операторы (например, DROP TABLE) являются необратимыми и не могут быть восстановлены!

Пользователь может выполнить частичный откат транзакции, например, для того, чтобы не повторять достаточно длительные запросы, выполняющиеся на ее начальных этапах. Для этой цели он может создать последовательность контрольных точек. Каждая контрольная точка имеет свое имя и задается оператором

SAVEPOINT имя контрольной точки

Для того, чтобы выполнить частичный откат, необходимо записать команду

ROLLBACK TO [SAVEPOINT] имяконтрольнойточки

Эта команда уничтожает все контрольные точки, созданные после указанной, например:

SAVEPOINT s1;

Представления

Представление (view) является по сути именованным результатом выполнения некоторого запроса (т.е. оператора SELECT), записанного при описании представления. Этот запрос выполняется всякий раз, когда представление включается в состав других запросов. Представления позволяют:

  • ограничивать число столбцов, с которыми работает пользователь;

  • ограничивать число строк, с которыми работает пользователь;

  • создавать дополнительные столбцы, содержащие результаты преобразования данных из исходных таблиц;

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

Для создания представления необходимо выполнить оператор CREATE VIEW, формат которого в простейшем случае имеет вид

CREATE VIEW имяпредставления [(описаниестолбцов)] AS запрос

[WITH READ ONLY][WITH CHECK OPTION]

Для уничтожения представления используется оператор

DROP VIEW имяпредставления

Представления подразделяются на модифицируемые и только для чтения. Данные, предъявляемые пользователю через модифицируемое представление, могут изменяться с помощью операторов языка манипулирования данными. При этом фактическая модификация будет осуществляться не в виртуальной таблице – представлении, а будет перенаправлена в базовые таблицы. При этом из-за особенностей работы представления выполнение операций модификации также имеет свои особенности.

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