Базы данных: . Баканов В.М - 22 стр.

UptoLike

- 22 -
4. Лабораторная работа 4. Разработка баз данных с
использованием технологии динамического SQL
Цель работыприобретение практических знаний в создании приложений
класса баз данных с динамической генерацией SQL-предписаний (функцио-
нальностьисполнение SQL-команд, созданных внутри программы на осно-
ве вводимых пользователем параметров).
Теоретическая часть. Одной из особенностей языка запросов к БД являет-
ся его представление в виде текста; формирование текста SQL-запроса мо-
жет быть произведено любыми средствами (важно лишь соблюдение правил
синтаксиса запроса). Существуют три формы SQL: интерактивный (Interac-
tive), статический (Static) и динамический (Dynamic).
Интерактивный SQL
применяется для непосредственной работы с БД -
пользователь вводит SQL-оператор, он сразу же выполняется и пользова-
тель видит результат выполнения (или код ошибки).
Статический SQL содержит SQL-операторы, жестко закодированные в те-
ле исполняемого приложения. Наиболее распространен встроенный SQL
(Embedded SQL), где SQL-код включается в исходный текст (базовой) про-
граммы, написанной на другом языке (например, С или Pascal); при исполь-
зовании встроенного SQL результаты выполнения операторов SQL перена-
правляются в переменные, которыми оперирует базовая программа. К на-
стоящему времени SQL встроен
в языки Ada, Cobol, Fortran, C, Pascal, PL/1,
Java, Mumps (теперь M).
Динамический SQL также является частью приложения, но конкретный
SQL-код генерируется во время выполнения (RunTime), а не вводится зара-
нее.
Наибольшей гибкостью обладает последний вариант формирования текста
SQL-запроса, однако он требует навыков программирования (в первую оче-
редь при работе с данными в виде последовательностей символов - строк).
При проектировании SQL-запросов полезно воспользоваться работой [3]; для
несложных случаев достаточна публикация [6], свободно выгружаемая в виде
файла
http://pilger.mgapi.edu/metods/sql.zip.
В целом проектирование приложения соответствует вышеприведенному в
работе 1, но вместо
TTable используется компонент TQuery. Компонент
TQuery не содержит свойства TableName, т.к. имя таблицы (таблиц) указыва-
ется текстом SQL-строки (задается в свойстве SQL). Выполнение этой SQL-
строки инициируется в DesignTime установкой
Active=True; при RunTime сле-
дует выполнять
Query1->Open(); в случае SQL-предписаний, не возвращаю-
  4. Лабораторная работа № 4. Разработка баз данных с
      использованием технологии динамического SQL

  Цель работы – приобретение практических знаний в создании приложений
класса баз данных с динамической генерацией SQL-предписаний (функцио-
нальность – исполнение SQL-команд, созданных внутри программы на осно-
ве вводимых пользователем параметров).

   Теоретическая часть. Одной из особенностей языка запросов к БД являет-
ся его представление в виде текста; формирование текста SQL-запроса мо-
жет быть произведено любыми средствами (важно лишь соблюдение правил
синтаксиса запроса). Существуют три формы SQL: интерактивный (Interac-
tive), статический (Static) и динамический (Dynamic).

• Интерактивный SQL применяется для непосредственной работы с БД -
 пользователь вводит SQL-оператор, он сразу же выполняется и пользова-
 тель видит результат выполнения (или код ошибки).
• Статический SQL содержит SQL-операторы, жестко закодированные в те-
 ле исполняемого приложения. Наиболее распространен встроенный SQL
 (Embedded SQL), где SQL-код включается в исходный текст (базовой) про-
 граммы, написанной на другом языке (например, С или Pascal); при исполь-
 зовании встроенного SQL результаты выполнения операторов SQL перена-
 правляются в переменные, которыми оперирует базовая программа. К на-
 стоящему времени SQL встроен в языки Ada, Cobol, Fortran, C, Pascal, PL/1,
 Java, Mumps (теперь M).
• Динамический SQL также является частью приложения, но конкретный
 SQL-код генерируется во время выполнения (RunTime), а не вводится зара-
 нее.

  Наибольшей гибкостью обладает последний вариант формирования текста
SQL-запроса, однако он требует навыков программирования (в первую оче-
редь при работе с данными в виде последовательностей символов - строк).
При проектировании SQL-запросов полезно воспользоваться работой [3]; для
несложных случаев достаточна публикация [6], свободно выгружаемая в виде
файла http://pilger.mgapi.edu/metods/sql.zip.
  В целом проектирование приложения соответствует вышеприведенному в
работе 1, но вместо TTable используется компонент TQuery. Компонент
TQuery не содержит свойства TableName, т.к. имя таблицы (таблиц) указыва-
ется текстом SQL-строки (задается в свойстве SQL). Выполнение этой SQL-
строки инициируется в DesignTime установкой Active=True; при RunTime сле-
дует выполнять Query1->Open(); в случае SQL-предписаний, не возвращаю-


                                   - 22 -