КАТЕГОРИИ: Архитектура-(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; Просмотров: 590; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |