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