Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
доп.docx
Скачиваний:
37
Добавлен:
26.03.2016
Размер:
115.88 Кб
Скачать

4. Основы Transact-sql.

4.1 Введение в sql.

Запрос к базе данных - это первое из тех действий, ради чего собственно и создаются базы данных. Для описания и последующего выполнения запросов к базе данных служит язык структурированных запросов (SQL, Structure Query Language).

Первая версия языка SQL была разработана в 1970 г. фирмой IBM. За 40 лет своего существования он претерпел существенные изменения, стал более гибким и мощным. Каждый производитель СУБД старался предложить пользователю как можно более удобный механизм управления данными, в результате было создано множество модификаций этого языка, хотя основной состав операторов во всех модификациях сохранялся одинаковым.

В 1992 г. американским национальным институтом стандартизации (ANSI, American National Standart Institute) был разработан стандарт на язык SQL, названный ANSI SQL-92. Этот стандарт не только определяет основные правила использования команд, идентификаторов, переменных и т.п., но и регламентирует в определённой мере работу самой СУБД.

Корпорация Microsoft, как и другие производители, разработала свою версию языка SQL под названием Transact-SQL. Этот язык удовлетворяет требованиям стандарта ANSI SQL-92, но при этом предлагает и ряд дополнительных возможностей.

Логическую основу языка Transact-SQL составляют операторы, которые делятся на две главные категории:

- операторы языка определения данных (DDL - Data Definition Language). DDL-операторы создают, изменяют, удаляют структуры, которые содержат данные. Этими структурами являются собственно базы данных, таблицы и другие компоненты базы данных. Объекты, определяемые посредством DDL операторов, обычно называют метаданными. DDL операторы начинаются со слов CREATE, ALTER, DROP. Например, оператор CREATE TABLE определяет таблицу, ALTER TABLE модифицирует существующую таблицу, а DROP TABLE удаляет таблицу. Процесс создания и сопровождения базы данных посредством этих операторов будет изучаться во 2-й части настоящего руководства;

- операторы языка манипулирования данными (DML - Data Manipulation Language). DML операторы манипулируют данными внутри вышеупомянутых структур данных. Существуют четыре основных DML оператора: INSERT, UPDATE, DELETE и SELECT. INSERT добавляет данные в таблицу, UPDATE модифицирует существующие данные и DELETE удаляет данные.

Оператор SELECT выбирает или запрашивает информацию из базы данных. Transact-SQL является процедурным языком программирования и помимо вышеперечисленных операторов содержит переменные, выражения, операторы управления потоком, функции, хранимые процедуры и триггеры. Более подробное рассмотрение всех возможностей языка Transact-SQL будет произведено во 2-й части настоящего руководства.

4.1.1 Особенности выполнения инструкций Transact-sql.

Клиент отправляет серверу инструкции на выполнение в виде так называемых пакетов (batch). Пакет является группой из одной или нескольких инструкций языка Transact-SQL, отправляемых единовременно из приложения в SQL Server для выполнения. Сервер компилирует инструкции пакета в единый исполняемый модуль, называемый планом выполнения. Инструкции в плане выполнения затем последовательно выполняются. После отработки всех команд пакета (или в ходе выполнения пакета) сервер возвращает клиенту результат.

Пакеты могут объединяться в сценарии. Сценарий - это серия инструкций языка Transact-SQL, которая хранится в файле. Эти файлы можно использовать в качестве исходных данных для редактора кода среды SQL Server Management Studio или программ sqlcmd и osql, которые могут выполнять инструкции SQL из файла. Сценарий языка Transact-SQL может содержать как один, так и несколько пакетов. Команда GO означает конец пакета. Если сценарий языка Transact-SQL не содержит команд GO, то он выполняется как единый пакет.

Сценарии языка Transact-SQL можно использовать следующим образом:

- для сохранения резервной копии последовательности шагов, которые выполнялись при создании и заполнении базы данных на сервере;

- при необходимости переноса инструкций с одного компьютера на другой; в целях обучения нового персонала.

Все команды пакета выполняются в контексте определённой базы данных. Такая база данных называется текущей. При обращении к объектам текущей базы данных не требуется указание её имени. Для выбора текущей базы данных используется команда USE. Например, для выбора в качестве текущей базы данных pubs следует указать:

USE pubs

Одним из способов исполнения инструкций языка Transact-SQL является использование графического интерфейса Management Studio.

При входе в режим редактирования (как это сделать, описано ниже) в окне Management Studio появляется дополнительная панель инструментов. На нее вынесены основные функции для работы с SQL запросами. Встроенный текстовый редактор позволяет выполнять обычные действия по редактированию, выделению, копированию, сохранению и печати файлов.