IV. Структурированный язык запросов SQL

Структурированный язык запросов SQL основан на реляционном исчислении с переменными кортежами.

Язык SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление данных). Он содержит также некоторые сопутствующие операции. SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т.п. Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL.

Различают два основных метода использования встроенного SQL: статистический и динамический.

При статистическом использовании языка в тексте программы имеются вызовы функций языка SQL, которые включаются в исполняемы модуль после компиляции.

При динамическом использовании языка предполагается динамическое построение вызовов SQL-функций и интерпретация этих вызовов, например, обращение к данным удаленной базы, в ходе выполнения программы. Динамический метод обычно применяется в тех случаях, когда в приложении заранее неизвестен вид SQL-вызова и он строится в диалоге с пользователем.

Основным назначением языка SQL (как и других языков для работы БД) является подготовка и выполнение запросов. В результате выборки данных из одной или нескольких таблиц может быть получено множество записей, называемое представлением.

Представление по существу является таблицей, формируемой в результате выполнения запроса. Представление – разновидность хранимого запроса.

Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель, используемый для перемещения по наборам записей при их обработке.

Команды SQL разделены на пять категорий: команды DDL, команды DML, команды управления транзакцией, команды управления сеансом и встроенные команды SQL.

Язык определения данных (Data Definition Language – DDL) и язык манипулирования данными (Data Manipulation Language – DML).

Команды управления транзакцией управляют изменениями сделанными командами DML. Они дают возможность пользователю или разработчику предложений группировать изменения в логические единицы работы. Примеры команд управления транзакцией: COMMIT (выполняет фиксацию текущей транзакции и одновременно освобождает), ROLLBACK (выполняет откат текущей транзакции), SAVEPOINT (определяет контрольную точку для транзакции, на которую впоследствии можно сделать откат), ALTER ROLLBACK SEGMENT (предназначен для изменения сегментов отката).

Begin TransAction – инициирует транзакцию.

End TransAction – завершает транзакцию.

Команды управления сеансом дают возможность пользователям управлять характеристиками текущего сеанса. К ним относятся: включение и выключение ролей, изменение установок используемого языка диалога. Примеры: ALTER SESSION, SET ROLE (позволяет в рамках одного сеанса разрешить или запретить роли, которые были предварительно предоставлены пользователям).

Команды управления системой изменяют характеристики текущего экземпляра ORACLE. Единственной командой управления системой является команда ALTER SYSTEM; она позволяет изменять некоторые установки, например, минимальное число разделяемых серверов, уничтожать какой-либо сеанс и выполнять другие работы.

Встроенные команды SQL применяются совместно с командами DDL, DML и командами управления транзакцией в программах на процедурном языке. Пример: OPEN (открывает курсор проверяя запрос и подставляя хост-переменные, указанные во фразе USING, во фразу WHERE), CLOSE, FETCH (выполняет выборку одной или нескольких строк из результирующего набора, возвращаемого оператором SELECT, назначая для хост-переменных значения из списка выбора.

Операторы языка SQL.

Вид Название Назначение
DDL CREATE TABLE Создание таблицы
DROP TABLE Удаление таблицы
ALTER TABLE Изменение структуры таблицы
CREATE INDEX (в Visual FoxPro Index On) Создание индекса
DROP INDEX Удаление индекса
CREATE VIEW (в Visual FoxPro Create Sql View) Создание представления
DROP VIEW Удаление представления
GRAND Назначение привилегий
REVOKE Удаление привилегий
DML SELECT Выборка записей
UPDATE Изменение записей
INSERT Вставка новых записей
DELETE Удаление записей

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: