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