Опубликован: 10.09.2004 | Уровень: для всех | Доступ: платный | ВУЗ: Ульяновский государственный университет
Лекция 18:

Внедрение SQL-операторов в прикладные программы

< Лекция 17 || Лекция 18: 1234
Аннотация: Описываются возможности использования языка SQL в прикладных программах. Определяется роль технологии ODBC как единого интерфейса для доступа к смешанным базам данных SQL. Рассматриваются архитектура ODBC и варианты доступа к базам данных с использованием технологии ADO и Java. Методы доступа иллюстрируются примерами.

SQL и прикладные программы

Язык SQL можно использовать как в интерактивном режиме, так и путем внедрения его операторов в программы, написанные на процедурных языках высокого уровня. Примером интерактивного использования SQL-операторов является окно Query Analyzer в среде MS SQL Server. Применение же языка SQL в прикладных программах на практике реализовано двумя различными способами:

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

Оба способа предполагают использование операторов как статического SQL, так и динамического SQL.

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

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

Рассмотрим применение прикладного интерфейса программирования (API) для выполнения операторов SQL.

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

Чтобы не разрабатывать отдельные версии пользовательского приложения для каждой из целевых СУБД, с которыми данное приложение планируется использовать, Microsoft разработала стандарт, получивший название Open Database Connectivity ODBC. Технология ODBC предусматривает применение единого интерфейса для доступа к различным базам данных SQL, причем язык SQL рассматривается как основное стандартное средство доступа. Этот интерфейс обеспечивает высокую степень универсальности, в результате одно и то же приложение может получать доступ к данным, хранящимся в базах различных целевых СУБД, без необходимости внесения изменений в его программный текст. Таким образом, разработчики получили инструмент для создания и распространения приложений архитектуры "клиент-сервер", способных работать с широким спектром различных целевых СУБД, а связать приложения с любой выбранной целевой СУБД можно посредством соответствующего ODBC-драйвера.

В настоящее время технология ODBC фактически приобрела значение отраслевого стандарта. Основной причиной ее популярности является присущая ей гибкость, предоставляющая разработчикам следующие преимущества:

  • приложения больше не связаны с прикладным API какой-то одной СУБД;
  • SQL-операторы могут явно включаться в исходный текст приложения либо динамически создаваться непосредственно во время выполнения программ;
  • приложение способно игнорировать особенности используемых протоколов передачи данных;
  • данные посылаются и доставляются в том формате, который наиболее удобен для конкретного приложения;
  • средства поддержки ODBC разработаны с учетом требований стандартов X/Open и CLI (Call Level Interface);
  • в настоящее время существуют драйверы ODBC для различных типов самых распространенных СУБД.
< Лекция 17 || Лекция 18: 1234
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Ирина Мельник
Ирина Мельник

Здравствуйте, записалась на курс основы SQL, подскажите, стоимость курса.

Данила Некрасов
Данила Некрасов
Россия, Пермь, ПНИПУ
Сергей Федоров
Сергей Федоров
Россия