Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
772
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

7.4. Возможности корректировки хранимых данных

Хотя SQL первоначально создавался как язык запросов, в настоя­щее время он является комплексным языком запросов-обновлений. Кроме оператора SELECT, позволяющего проводить отбор данных, SQL включает в себя операторы корректировки БД: включение новой записи (INSERT), обновление отдельных полей (UPDATE), удаление записи или группы записей (DELETE).

Операторы языка манипулирования данными SQL могут исполь­зоваться как самостоятельно, так и совместно с операторами других языков манипулирования данными.

7.5. Создание представлений (view)

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

Представление можно рассматривать как хранимый запрос (оно и выражается с помощью запроса). Представление может использо­ваться в запросах наряду с реальными таблицами. Оно упрощает со­здание сложных запросов.

Синтаксис оператора CREATE VIEW различается в реализациях конкретных систем.

7.6. Создание и использование курсоров

Курсор похож на представление в том, что при его определении используется запрос. Когда курсор открыт, он содержит результат этого запроса. Но назначение представления и курсора различно. Курсоры используются только во встроенном SQL.

Курсор создается с помощью команды

DECLARE имя_курсора CURSOR

FOR подзапрос;

Курсоры используются для согласования теоретико-множествен­ного языка SQL и включающих языков, которые являются языками позаписной обработки. Для выборки текущей записи активного мно­жества используется оператор FETCH.

    1. Управление транзакциями

Транзакция представляет собой группу последовательных SQL-операторов, которые переводят базу данных из одного целостного состояния в другое. В случае возникновения какого-либо сбоя (ошиб­ки) результаты аннулируются и обеспечивается «откат» базы данных в исходное состояние.

Способ, каким осуществляется требование начать выполнение транзакции, зависит от конкретной реализации SQL. В стандарте ANSI средств для явной активизации начала работы транзакций не предус­мотрено.

К операторам, позволяющим управлять транзакциями, относятся:

  • COMMIT - завершает выполнение транзакции и пытается за­фиксировать все изменения, вносимые транзакцией;

  • ROLLBACK - используется для того, чтобы отменить все изме­нения, вносимые транзакцией.

В SQL-92 есть еще оператор SET TRANSACTION, который по­зволяет назначить транзакции имя и задать дополнительные свойства транзакции.

Конкретные СУБД иногда включают команды управления тран­закциями, которые не предусмотрены в стандарте.

7.8. Стандартный sql-92

7.8.1. Создание объектов Виды объектов

В стандарте SQL-92 определяются следующие виды объектов:

  • Table - таблица;

  • View - представление;

  • Schema ~ схема;

  • Domain - домен;

  • Assertion - утверждение;

  • Character set - набор символов;

  • Collation - последовательность сортировки;

  • Translation - преобразование одного набора символов в другой.

Рассмотрим здесь вопросы создания таблиц и доменов. Создание

представлений будет рассмотрено позже, поскольку при его опреде­лении используется оператор SELECT, который нами еще детально не изучен.

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