В отличие от реляционной алгебры, где были представлены только операции запросов к БД, SQL является полным языком, в нем присутствуют не только операции запросов, но и операторы, соответствующие DDL — Data Definition Language — языку описания данных. Кроме того, язык содержит операторы, предназначенные для управления (администрирования) БД. SQL содержит разделы, представленные в таблице 5.1:
Таблица 5.1. Операторы определения данных DDL
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| CREATE TABLE
| Создать таблицу
| Создает новую таблицу в БД
|
|
| DROP TABLE
| Удалить таблицу
| Удаляет таблицу из БД
|
|
| ALTER TABLE
| Изменить таблицу
| Изменяет структуру существующей таблицы или ограничения целостности, задаваемые для данной таблицы
|
|
| CREATE VIEW
| Создать представление
| Создает виртуальную таблицу, соответствующую некоторому SQL-запросу
|
|
| ALTER VIEW
| /Изменить представление
| Изменяет ранее созданное представление
|
|
| DROP VIEW
| Удалить представление
| Удаляет ранее созданное представление
|
|
| CREATE INDEX
| Создать индекс
| Создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, входящим в индекс
|
|
| DROP INDEX
| Удалить индекс
| Удаляет ранее созданный индекс
|
|
|
|
|
|
|
Таблица 5.2. Операторы манипулирования данными Data Manipulation Language (DMP)
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| DELETE
| Удалить строки
| Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы. Применение оператора согласуется с принципами поддержки целостности, поэтому этот оператор не всегда может быть выполнен корректно, даже если синтаксически он записан правильно
|
|
| INSERT
| Вставить строку
| Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу
|
|
| UPDATE
| Обновить строку
| Обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации
|
|
|
|
|
|
|
Таблица 5.3. Язык запросов Data Query Language (DQL)
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| SELECT
| Выбрать строки
| Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу
|
|
|
|
|
|
|
Таблица 5.4. Средства управления транзакциями
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| COMMIT
| Завершить транзакцию
| Завершить комплексную взаимосвязанную обработку информации, объединенную в транзакцию
|
|
| ROLLBACK
| Откатить транзакцию
| Отменить изменения, проведенные в ходе выполнения транзакции
|
|
| 'SAVEPOINT
| Сохранить промежуточную точку выполнения транзакции
| Сохранить промежуточное состояние БД, пометить его для того, чтобы можно было в дальнейшем к нему вернуться
|
|
|
|
|
|
|
Таблица 5.5. Средства администрирования данных
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| ALTER DATABASE
| Изменить БД
| Изменить набор основных объектов в базе данных, ограничений, касающихся всем базы данных
|
|
| ALTER -DBAREA
| Изменить область хранения БД
| Изменить ранее созданную область храпения
|
|
|
|
|
|
|
Таблица 5.5 (продолжение)
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| ALTER PASSWORD
| Изменить пароль
| Изменить пароль для всей базы данных
|
|
| CREATE DATABASE
| Создать БД
| Создать новую базу данных, определив основные параметры для нее
|
|
| CREATE DBAREA
| Создать область хранения
| Создать новую область хранения и сделать ее доступной для размещения данных
|
|
| DROP DATABASE
| Удалить БД
| Удалить существующую базу данных (только в том случае, когда вы имеете право выполнить это действие)
|
|
| DROP DBAREA
| Удалить область хранения БД
| Удалить существующую область хранения (если в ней на настоящий момент не располагаются активные данные)
|
|
| GRANT
| Предоставить права
| Предоставить нрава доступа на ряд действий над некоторым объектом БД
|
|
| REVOKE
| Лишить прав
| Лишить прав доступа к некоторому объекту или некоторым действиям над объектом
|
|
|
|
|
|
|
Таблица 5.6. Программный SQL
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| DECLARE
| Определяет курсор для запроса
| Задает некоторое имя и определяет связанный с ним запрос к БД, который соответствует виртуальному набору данных
|
|
| OPEN
| Открыть курсор
| Формирует виртуальный набор данных, соответствующий описанию указанного курсора и текущему состоянию БД
|
|
| FETCH
| Считать строку из множества строк, определенных курсором
| Считывает очередную строку, заданную параметром команды из виртуального набора данных, соответствующего открытому курсору
|
|
| CLOSE
| Закрыть курсор
| Прекращает доступ к виртуальному набору данных, соответствующему указанному курсору
|
|
| PREPARE
| Подготовить оператор SQL к динамическому выполнению
| Сгенерировать план выполнения запроса, соответствующего заданному оператору SQL
|
|
|
|
|
|
|
|
|
|
|
|
| Оператор
| Смысл
| Действие
|
|
| EXECUTE
| Выполнить оператор SQL, ранее подготовленный к динамическому выполнению
| Выполняет ранее подготовленный план запроса
|
|
|
|
|
|
|
В коммерческих СУБД набор основных операторов расширен. В большинство СУБД включены операторы определения и запуска хранимых процедур и операторы определения триггеров.