Основные операторы языка SQL. Интерактивный SQL
Цель лекции: дать общую характеристику операторов языка SQL и показать, как записываются основные запросы к базе данных на языке SQL (в интерактивном режиме).
12.1. Общее представление об основных операторах языка SQL
Как уже отмечалось в "Программное обеспечение работы с современными базами данных" , все операторы языка SQL разделяются на три составные части: DDL – язык определения данных, DCL – язык управления данными, DML – язык обработки данных.
Приведем примеры основных операторов из вышеуказанных частей (без описания синтаксиса). Описание синтаксиса операторов SQL можно посмотреть в многочисленных книгах по языку SQL, в меню "Справка" конкретных СУБД.
Операторы разграничения доступа пользователей к объектам базы данных (DCL).
GRANT – создание в системе безопасности записи, разрешающей пользователю работать с данными или выполнять определенные операции SQL.
DENY - создание в системе безопасности записи, запрещающей доступ для определенной учетной записи.
Операторы определения данных (язык DDL).
Соответствующие операторы предназначены для создания, удаления, изменения основных объектов модели данных реляционных СУБД: таблиц, представлений, индексов.
CREATE TABLE <имя> - создание новой таблицы в базе данных.
DROP TABLE <имя> - удаление таблицы из базы данных.
ALTER TABLE <имя> - изменение структуры существующей таблицы или ограничений целостности, задаваемых для данной таблицы.
При выполнении аналогичных операций с представлениями или индексами в указанных операторах вместо служебного слова TABLE записывается слово VIEW (представление) или слово INDEX (индекс)
Операторы манипулирования данными (язык DML).
Операторы DML работают с базой данных и используются для изменения данных и получения необходимых сведений.
SELECT – выборка строк, удовлетворяющих заданным условиям. Оператор реализует, в частности, такие операции реляционной алгебры как "селекция" и "проекция".
UPDATE – изменение значений определенных полей в строках таблицы, удовлетворяющих заданным условиям.
INSERT – вставка новых строк в таблицу.
DELETE – удаление строк таблицы, удовлетворяющих заданным условиям. Применение этого оператора учитывает принципы поддержки целостности, поэтому он не всегда может быть выполнен корректно.
12.2 Интерактивный режим работы с SQL (интерактивный SQL)
Соответствующий режим предусматривает непосредственную работу пользователя с базой данных по следующему алгоритму: используя прикладную программу (клиентское приложение) или стандартную утилиту, входящую в СУБД, пользователь:
- устанавливает соединение с БД (подтверждая наличие прав доступа);
- вводит соответствующий оператор SQL, при необходимости в режиме диалога вводит дополнительную информацию;
- инициирует выполнение команды.
Текст запроса поступает в СУБД, которая:
- осуществляет синтаксический анализ запроса (проверяет, является ли запрос корректным);
- проверяет, имеет ли пользователь право выполнять подобный запрос (например, пользователь, у которого определены права только на чтение, пытается что-то удалить);
- выбирает, каким образом осуществлять выполнение запроса – план выполнения запроса;
- выполняет запрос;
- результат выполнения отсылает пользователю.
Схема взаимодействия пользователя и СУБД с использованием интерактивного SQL приводится на рис. 12.1.