Лекции / Л-4 - Структурир язык запросов SQL
.pdf
Основные соглашения синтаксиса SQL (3)
Элементы языка можно писать в верхнем, нижнем и даже в смешанном регистре. В большинстве реализаций
(и в соответствии со стандартами ANSI/ISO) все символы перед обработкой переводятся в верхний регистр. Это не означает, что данные не могут находиться в нижнем регистре, но все команды и имена объектов БД (таблицы, поля и т.д.) должны быть в верхнем регистре.
Исключением является MS SQL Server – имена объектов, написанные в разном регистре, обрабатываются как различные. В MySQL чувствительность имен объектов к регистру зависит от того, чувствительна ли к регистру в именах файлов используемая ОС.
Основные соглашения синтаксиса SQL (4)
Текстовые строки в запросах, должны быть заключены в апострофы (в некоторых реализациях – двойные кавычки). Числовые константы не заключаются в кавычки. Если в текстовой строке есть апостроф, его нужно удвоить.
Имена объектов БД могут включать только буквы, цифры и символы подчеркивания (как разделители слов).
Чувствительные к регистру реализации допускают «верблюжий регистр» (PersonMiddleName), но этого делать не стоит, если вы хотите, чтобы код SQL можно было переносить на другие реализации.
Основные соглашения синтаксиса SQL (5)
Каждая реализация SQL имеет определенный набор зарезервированных слов, которые нельзя использовать в качестве имен объектов БД. Список зарезервированных слов отличается для разных реализаций SQL, поэтому полезно ознакомиться с документацией.
Однострочный комментарий начинается с двух дефисов подряд (--).
Многострочный комментарий начинается с сочетания косой черты и звездочки (/*) и продолжается, пока не встретится обратная комбинация (*/).
Метаязык, используемый для описания языка SQL
Метаязык – язык, в терминах которого дается описание языка SQL.
Синтаксические определения задают с помощью специальной металингвистической символики – Бэкуса-Науэра формул (БНФ).
Прописные буквы используются для записи зарезервированных слов и должны указываться в операторах так, как это показано.
Строчные буквы употребляются для записи слов, определяемых пользователем.
Применяемые в нотации БНФ символы и их обозначения
Описание оператора SQL в нотации БНФ
Создание схемы :
CREATE SCHEMA <имя схемы>
[ AUTORIZATION <имя владельца> ] [ <элемент схемы> … ] ;
<элемент схемы> ::=
{<определение таблицы>
| <определение представления> | <оператор GRANT>
| <оператор REVOKE>
| <оператор DENY> }
Состав языка SQL
В составе выделяют следующие части:
язык определения данных (DDL, Data Definition Language);
язык манипулирования данными (DML, Data Manipulation Language);
язык управления доступом к данным (DCL, Data Control Language);
язык управления транзакциями (TCL, Transaction Control Language);
язык хранимых процедур и триггеров или процедурное расширение SQL (Stored Procedures and Triggers Language).
Язык определения данных DDL
Применяется для работы с объектами БД и метаданными. Для действий с метаданными используются следующие группы операторов:
CREATE – операторы, создающие саму БД и объекты БД (таблицы, пользовательские типы данных, индексы, хранимые процедуры, триггеры, роли и др.).
DROP – операторы, удаляющие ранее созданные объекты БД, а также и саму БД.
ALTER – операторы, позволяющие изменить существующие в БД объекты и характеристики БД.
Язык манипулирования данными DML
Используется для работы с собственно данными, позволяет создавать, изменять и удалять данные. В DML есть и некоторые другие операторы.
Для работы с данными используются четыре основных оператора:
INSERT – добавление данных;
UPDATE – изменение существующих данных;
DELETE – удаление данных;
SELECT – выборка (поиск) данных.
Язык управления доступом к данным DCL
Содержит операторы, назначающие, отменяющие и удаляющие полномочия к объектам базы данных для пользователей и ролей:
GRANT – предоставление полномочий к защищаемому объекту;
DENY – отмена полномочия;
REVOKE – удаление полномочия.
