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

58.Использование sql с другими языками программирования

Хотя непроцедурность языка SQL делает его очень мощным, в то же время это накладывает на него большое число ограничений. Чтобы преодолеть эти ограничения, вы можете включать SQL в программы, написанные на том или другом процедурном языке (имеющем определенный алгоритм).

Встроенный SQL. Язык SQL можно использовать при написании при­кладных программ на определенных языках программирования исклю­чительно для управления БД. По мере надобности в эти программы "встраиваются" команды SQL.

Для пересылки данных из БД в программу используются специальные команды SQL (операторы) — DECLARE, OPEN, FETCH, CLOSE, пред­назначенные для работы с курсором. В языке SQL курсор понимается не традиционно (как мигающий графический символ на экране дисплея). Курсор SQL — это переменная, связанная с запросом. Ее значениями яв­ляются строки результатной таблицы запроса.

Оператор DECLARE описывает выполняемый запрос и связывает имя курсора с результатом запроса (определяет курсор для запроса). Опе­ратор OPEN дает команду СУБД начать выполнение запроса и создавать таблицу результатов запроса (открывает курсор для чтения результата запроса). Оператор FETCH считывает данные запроса в переменную прикладной программы (считывает курсор из результатов запроса). Опе­ратор CLOSE прекращает доступ к таблице результатов запроса и ликви­дирует связь между курсором и этой таблицей

59.Дизайнеры sql-запросов.

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

редактирования (консоли). К дизайнерам такие редакторы можно отнести, лишь основываясь на значении англоязычного слова design (designer), что означает строить (средство построения). Запросы можно строить и с помощью консоли - самого древнего компьютерного способа. Отладки запроса как таковой не существует. Запуск запроса на исполнение осуществляется при выборе соответствующего пункта меню или специальной кнопкой в панели инструментов. Если в тексте запроса присутствует синтаксическая ошибка, то при запуске запроса на исполнение будет выдаваться соответствующее сообщение. Уменьшение количества синтаксических ошибок может быть достигнуто применением синтаксического анализатора, который различает служебные слова, отслеживает названия таблиц и их полей. Неизвестные редактору слова выделялись бы каким-либо цветом

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

Визарды - это класс специализированных программ, направленных на просмотр, добавление, удаление, изменение данных в базе. Визарды в свою очередь делятся на 2 группы: а) специализированные б) универсальные. В качестве клиентского приложения в архитектуре кли­ент/сервер может выступать компонент сервера баз данных Microsoft SQL Server — Query Analyzer. Это специализирован­ное средство для создания запросов к базе на сервере на языке Transact-SQL, который является диалектом языка SQL.

Query Analyzer имеет графический пользовательский ин­терфейс, который позволяет:

  • создавать запросы выбора и запросы на внесение измене­ний в базу данных на языке Transact-SQL и выполнять их;

  • отображать результат запроса рядом с командой Transact-SQL;

  • представлять результат запроса в различных видах с целью возможности его обработки другими приложениями;

  • выводить на печать содержимое области ввода команды Transact-SQL и области результата запроса;

  • выполнять выделенную часть сформированного запроса;

  • работать с запросами в нескольких окнах запроса;

  • использовать шаблоны команд Transact-SQL и редактиро­вать их в соответствии с собственными требованиями;

  • применять Броузер объектов базы данных для упрощения процесса построения запросов. Он позволяет быстро нахо­дить объекты базы данных, просматривать их и работать с ними и др.

Описание команды SELECT языка Transact-SQL Transact-SQL — это диалект языка SQL, используемый сервером баз данных Microsoft SQL Server.

Формирование запросов выбора к базе на сервере осущест­вляется с помощью команды SELECT языка Transact-SQL. Приведем усеченный формат этой команды:

SELECT [ALL | DISTINCT | DISTINCTROW |

[TOP n [PERCENT]]] [<список_полей>] *

[INTO <имя_новой_таблицы>]

[FROM {<имя_таблицы>},...]

[WHERE <условие>]

[ORDER BY {<имя_поля>[А8С]|ОЕ8С},...]

[GROUP BY {<имя_поля>},...]

[HAVING <условие>]

[COMPUTE-предложение]

[FOR BROWSE]

Результат запроса можно сохранить в (INTO) новой табли­це базы данных.

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

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

К командам Transact-SQL можно давать комментарии, ко­торые начинаются с двух знаков "-" (минус).

Формирование запросов на чтение данных из базы на сер­вере с помощью клиентского приложения Access осущест­вляется по команде SELECT языка SQL, поддерживаемой Access.