База данных / Презентации / Язык запросов SQL
.pdfЯЗЫК СТРУКТУРИРОВАННЫХ ЗАПРОСОВ SQL
Лектор: доцент кафедры ТОИ АлтГПА к.ф-м.н Аксенов Михаил Сергеевич
SQL (Structured Query Language)
• Язык Структурированных Запросов — стандартный язык запросов по работе с реляционными БД, применяемый для создания, модификации и управления данными.
Стандарты языка SQL
•SQL-89 или SQL1 (1986-1989 годы);
•SQL-92 или SQL2 (1992 год);
•SQL-1999 или SQL3 (1999 год);
•SQL-2003 (2003 год);
•SQL-2006 (2006 год);
•SQL-2008 (2008 год).
Структура SQL
•операторы определения данных
(Data Definition Language, DDL)
•операторы манипуляции данными
(Data Manipulation Language, DML)
•операторы определения доступа к данным
(Data Control Language,DCL)
•операторы управления транзакциями
(Transaction Control Language,TCL)
Операторы определения данных (DDL)
оператор |
смысл |
действие |
|
|
|
CREATE TABLE |
Создать таблицу |
Создает новую таблицу в БД |
|
|
|
DROP TABLE |
Удалить таблицу |
Удаляет таблицу из БД |
|
|
|
ALTER TABLE |
Изменить таблицу |
Изменяет структуру существующей таблицы или |
|
|
ограничения целостности, задаваемые для данной |
|
|
таблицы |
CREATE VIEW |
Создать |
Создает виртуальную таблицу, соответствующую |
|
представление |
некоторому SQL-запросу |
ALTER VIEW |
Изменить |
Изменяет ранее созданное представление |
|
представление |
|
DROP VIEW |
Удалить |
Удаляет ранее созданное представление |
|
представление |
|
CREATE INDEX |
Создать индекс |
Создает индекс для некоторой таблицы для обеспечения |
|
|
быстрого доступа по атрибутам, входящим в индекс |
DROP INDEX |
Удалить индекс |
Удаляет ранее созданный индекс |
|
|
|
Операторы манипулирования данными (DDL)
оператор |
смысл |
действие |
|
|
|
DELETE |
Удалить строки |
Удаляет одну или несколько строк, соответствующих условиям |
|
|
фильтрации, из базовой таблицы. Применение оператора |
|
|
согласуется с принципами поддержки целостности, поэтому этот |
|
|
оператор не всегда может быть выполнен корректно, даже если |
|
|
синтаксически он записан правильно |
INSERT |
Вставить строку |
Вставляет одну строку в базовую таблицу. Допустимы |
|
|
модификации оператора, при которых сразу несколько строк |
|
|
могут быть перенесены из одной таблицы или запроса в базовую |
|
|
таблицу |
UPDATE |
Обновить строку |
Обновляет значения одного или нескольких столбцов в одной |
|
|
или нескольких строках, соответствующих условиям фильтрации |
SELECT |
Выбрать строки |
Оператор, заменяющий все операторы реляционной алгебры и |
|
|
позволяющий сформировать результирующее отношение, |
|
|
соответствующее запросу |
операторы определения доступа к данным (DCL)
оператор |
смысл |
действие |
|
|
|
GRANT |
Предоставить |
Предоставить нрава доступа на ряд действий над некоторым |
|
права |
объектом БД |
REVOKE |
Лишить прав |
Лишить прав доступа к некоторому объекту или некоторым |
|
|
действиям над объектом |
Средства управления транзакциями
Transaction Control Language, (TCL)
оператор |
смысл |
действие |
|
|
|
COMMIT |
Завершить |
Завершить комплексную взаимосвязанную обработку |
|
транзакцию |
информации, объединенную в транзакцию |
ROLLBACK |
Откатить транзакцию |
Отменить изменения, проведенные в ходе выполнения |
|
|
транзакции |
SAVEPOINT |
Сохранить |
Сохранить промежуточное состояние БД, пометить его для |
|
промежуточную точку |
того, чтобы можно было в дальнейшем к нему вернуться |
|
выполнения |
|
|
транзакции |
|
Типы данных SQL
•точные числовые типы (exact numerics);
•приближенные числовые типы (approximate numerics);
•типы символьных строк (character strings);
•типы битовых строк (bit strings);
•типы даты и времени (datetimes);
•булевский тип (Booleans);
•типы коллекций (collection types);
•анонимные строчные типы (anonymous row types);
•типы, определяемые пользователем (user-defined types);
•ссылочные типы (reference types).
Точные числовые типы
ИСТИННО ЦЕЛЫЕ
•Тип INTEGER служит для представления целых чисел. Точность чисел (число сохраняемых бит) определяется в реализации. При определении столбца данного типа достаточно указать просто INTEGER.
•Тип SMALLINT также служит для представления целых чисел. Точность определяется в реализации, но она не должна быть больше точности типа INTEGER. При определении столбца указывается просто SMALLINT.
ТОЧНЫЕ ТИПЫ, ДОПУСКАЮЩИЕ НАЛИЧИЕ ДРОБНОЙ ЧАСТИ
•Тип NUMERIC. Это параметризуемый тип данных. При определении столбца можно указать спецификацию NUMERIC (p, s), где p и s – литералы истинно целого типа, и p задает точность значений (число сохраняемых бит), а s – шкалу (число десятичных цифр в дробной части). Задаваемая шкала не должна быть отрицательной и не должна превышать значение точности. Допустимые диапазоны значений p и s определяются в реализации
•Тип DECIMAL. Этот тип аналогичен типу NUMERIC. Отличие состоит в том, что если при определении столбца типа DECIMAL задается точность p, то на самом деле используется точность m, определяемая в реализации, такая, что m > p.