Язык SQL

Взаимодействие с базами данных посредством встроенного SQL


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

void addEmployee (char  ssn, cjiar  lastName, char

firstName) { If

EXEC SQL

insert into Customer (ssn, lastName, firstName) values (:ssn, :lastname, :firstName);

}

Блок EXEC SQL <sql statement>; осуществляет подстановку значений переменных ssn, lastName, firstName в оператор вставки перед его выполнением. Двоеточие перед именем переменной интерпретируется как ссылка на значение переменной. Следовательно, вызов функции addEmployee, задающий значения ее параметров, приведет к созданию новой сущности в таблице Employee.

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

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

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

Комментарии закрыты