В отличие от реляционной алгебры, где были представлены только операции запросов к БД, 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, ранее подготовленный к динамическому выполнению | Выполняет ранее подготовленный план запроса | |
| | | | | |
В коммерческих СУБД набор основных операторов расширен. В большинство СУБД включены операторы определения и запуска хранимых процедур и операторы определения триггеров.