Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стили связывания. Встроенный SQL. Модульный язык. Непосредственный вызов




Язык SQL. Одиночные операторы манипулирования данными.

Одиночные операторы манипулирования данными. Каждый из операторов этой группы является абсолютно независимым от другого оператора.

Оператор выборки.

<оператор выборки>::= SELECT [ALL / DISTINCT] INTO <список спецификаций целей> <табличное выражение>

Результатом выполнения является таблица состоящая из более чем одной строки. После выполнения оператора цель содержит соответствующие поля результирующей строки. Цель – переменная из таблицы.

Оператор поискового удаления.

<оператор поискового удаления>::= DELET FROM <имя таблицы> [WHERE <условие поиска>]

При выполнении оператора просматриваются все строки таблицы и те строки, в которых результатом выполнения поиска является истина, удаляются из таблицы. При отсутствии раздела WHERE удаляются все строки таблицы.

Оператор поисковой модификации.

<оператор поисковой модификации>::=UPDATE FROM <имя таблицы> SET <предложение установки> WHERE <условия поиска>

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

Оператор включения.

<оператор включения>::= INSERT INTO <имя таблицы> [(<список столбцов>)] {VALUES (<список значений>) | <подзапрос>}

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

 

Стили связывания. Стандарт SQL определяет подъязык данных, который используется в контексте другого языка, называемого включающим, для того, чтобы выполнить специализированные задачи управления БД. Такая взаимосвязь между включающим языком и подъязыком данных SQL называется стилем связывания. SQL92 определяет три стиля связывания:

1) встроенный SQL;

2) модульный язык;

3) непосредственный вызов.

Встроенный SQL. При этом методе операторы SQL встраив-ие в текст программы на включающем языке. Прежде чем компилировать код программы приложения, включающий встроенный SQL, его необходимо подвергнуть Pre-compiling с использованием процессора. Процессор расщепляет код встроенного SQL на операторы SQL и на операторы включающего языка. Затем результирующий исходный код компилируется и связывается обычным образом. Операторы SQL передаются системе управления БД (СУБД) способом, определяемые реализацией. Динамический SQL – вариант встроенного SQL, который позволяет динамически конструировать операторы SQL, которые позволяют приложению конструировать операторы SQL на стадии исполнения. Однако если эти динамические операторы выполняются с помощью оператора статического SQL PREPARE, EXECUTE, EXECUTE IMMEDIATE, встроенных в включающий язык.

Модульный язык. Все операторы SQL представляются в виде одного или более модулей. Каждый модуль содержит одну или более процедур. Процедура – определение множества параметров и какой-то из операторов SQL; каждая процедура может быть вызвана из другого модуля в данном приложении. Модуль SQL записывается с использованием специального модульного языка, компилируется и связывается с приложением с помощью некоторого механизма, определенного конкретным СУБД.

Непосредственный вызов. Определяет множество операторов SQL, которые могут выполняться непосредственно. В непосредственном вызове каждый поставщик СУБД определяет метод вызова этих операторов, выдачи результатов, возникающие условия, а также способы доступа к диагностической информации.

 


18. Стиль связывания SQL/CLI.

Call Level Interface. В июле 1995 года американский международный комитет, ответственный за стандарты интерфейсов, разработал интерфейс управления вызовов (CLI) для SQL.

Преимущества:

1) независимость от клиентских приложений от СУБД, то есть не требуется перекомпилирования клиентских приложений;

2) возможность выполнения параллельных операций на БД;

3) возможность параллельной обработки множества транзакций.

SQL/CLI представляет собой множество функций, которые может использовать приложение для доступа к БД. Оно функции для запроса на выделение или отказ от выделения ресурсов; функции для подключения к SQL-серверам и отключения от них; функции для выполнения операторов языка SQL; функции получения диагностической информации для управления незавершенными транзактами и получения информации о данной реализации.

Системная модель SQL/CLI.

 
 

 

Приложение производит вызов функций, определяемые SQL/CLI. Реализация SQL/CLI – это библиотека стадии исполнения, которая реализует функции CLI и связывания с данным приложением. Реализация CLI обращается к SQLServer, который обрабатывает операторы SQL.

Указатель представляет некоторую структуру данных в реализации CLI, поэтому в дальнейшем будем называть их идентификаторами. В SQL имеется 4 типа идентификаторов:

1) идентификатор среды;

2) идентификатор соединения;

3) идентификатор оператора;

4) идентификатор дескриптора.

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

Идентификатор соединения. Запрашивается в контексте среды. Приложение может быть соединено с несколькимиSQL-серверами в одно и тоже время, и может быть установлено более одного соединения с одним и тем же сервером.

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

Идентификатор дескриптора. Содержит информацию либо о столбцах, либо об одинаковых параметрах.

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 587; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.