среда, 6 февраля 2019 г.

Структура SQL

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