Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Библиотека DB-Library




Библиотека DB-Library реализует интерфейс программирования приложений для совместной работы с широко распространенной СУБД Microsoft SQL Server. Данная библиотека является весьма обширной и содержит более 100 функций. Основными из них являются:

dblogin(); dbopen() – подключение к БД;

dbopen(); dbexit() – установка/разрыв соединения с БД;

dbcmd() – передача инструкции (пакета инструкций) SQL в СУБД в текстовом виде;

dbSQLexec() – требование к СУБД выполнить текущий пакет инструкций;

dbcancel() – прекращение выполнения пакета инструкций SQL;

dbresults() – получение результатов выполнения очередной инструкции SQL в текущем пакете;

dbbind(), dbdata(), dbnextrow(), dbnumcols(), dbdatlen() и др. – обработка результатов запросов на выборку данных.

Логика работы прикладной программы, обрабатывающей данные, хранящиеся в базе данных под управлением Microsoft SQL Server, выглядит следующим образом:

· при помощи указанных выше функций (dblogin(), dbopen()) прикладная программа формирует сведение об авторизации и пытается установить соединение с СУБД;

· при помощи СУБД программа открывает конкретную базу данных, с которой будет происходить работа (dbopen());

· при помощи специальной функции (dbcmd()) программа передает в СУБД текст SQL-инструкции, которую далее необходимо будет выполнить; в библиотеке DB-Library поддерживается так называемый пакетный режим работы. Данный режим подразумевает возможность создания пакетов инструкций. Так, вызывая функцию dbcmd() несколько раз, вы можете передать в СУБД текст нескольких команд SQL, которые впоследствии будут выполнены как одна команда;

· используя функцию dbSQLexec(), программа вызывает выполнение инструкций, переданных ранее при помощи вызовов функций dbcmd();

· вызывая функцию dbresults(), программа может определить, удалось ли СУБД выполнить очередную инструкцию (как правило, число вызовов dbresults() соответствует числу инструкций в очередном пакете);

· в случае если мы имеем дело с запросом, возвращающим набор строк в качестве результата (запросом на выборку), программа при помощи вызовов функции dbbind() осуществляет связывание каждого поля результатов запроса с некоторой областью оперативной памяти. Далее при помощи функции dbnextrow() программа выполняет переход к следующей строке результатов запроса, что приводит к помещению в буфер новых данных;

· при помощи функции dbexit() программа разрывает соединение с базой данных. Библиотека DB-Library представляет собой большой и сложный механизм. Так, в библиотеке предусмотрены специальные механизмы обработки ошибок, разные способы передачи результатов выполнения запросов в прикладную программу и т.д.

Краткие итоги: В лекции рассматриваются разные технологии формирования запросов на языке SQL в прикладных программах (программный SQL). Дается понятие статического SQL, динамического SQL и приводятся соответствующие основные операторы. Рассматриваются интерфейсы программирования приложений (API) (протокол ODBC, протокол JDBC, библиотека DB-Library).

 


Контрольные тесты

 

Задача 1. Что такое программный SQL?

 

 

Вариант 1.

Особенности программного SQL по сравнению с интерактивным

 

ð используются принципиально другие операторы

ð пользователь пишет программу на языке SQL

ð+ могут использоваться те же операторы SQL

ð+ запрос на языке SQL встраивается в программу на алгоритмическом языке

 

 

Вариант 2.

Какие специальные конструкции (дополнительные операторы) должны быть в программном SQL?

 

ð оператор цикла

ð оператор ветвления

ð+ оператор, определяющий начало запроса на языке SQL

ð+ оператор, определяющий окончание запроса на языке SQL

ð+ операторы, указывающие дополнительные переменные для обработки результатов запроса

ð операторы, определяющие передачу управления от программы на алгоритмическом языке программе на языке SQL

 

 

Вариант 3.

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

 

ð+ запросы могут выполняться с опережением

ð+ запросы компилируются один раз

ð+ заранее выполняются действия по анализу и компиляции запросов

ð+ компьютер не ожидает ответных действий пользователя

 


Задача 2. Как происходит работа с программой при использовании статического SQL?

 

 

Вариант 1.

Как должен выглядеть запрос на языке в прикладной программе в этом случае?

 

ð+ должно быть указано фактическое имя таблицы

ð имя таблицы может быть указано как параметр

ð+ должны быть указаны фактические имена атрибутов

ð имена атрибутов могут быть указаны как параметры

ð в запросах могут широко использоваться переменные

ð+ переменные могут использоваться в запросах только на месте констант

 

 

Вариант 2.

Как компилируется и компонуется прикладная программа с встроенным запросом на языке SQL?

 

ð прикладная программа компилируется вместе с текстом запроса

ð+ текст запроса компилируется отдельно

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

ð+ в модуль прикладной программы вставляется вызов функции СУБД

 

 

Вариант 3.

Как происходит выполнение прикладной программы?

 

ð+ переход из прикладной программы к запросу осуществляется вызовом специальной функции

ð скомпилированная вместе с текстом запроса прикладная программа автоматически выполняется

ð+ при неоднократном выполнении одного и того же запроса используется один и тот же программный модуль

ð при каждом выполнении одного и того же запроса используются разные программные модули

 

 


Задача 3. Характеристика команд статического SQL

 

 

Вариант 1.

Какие операторы могут быть использованы в статическом SQL?

 

ð+ SELECT

ð+ DELETE

ð+ INSERT

ð+ DECLARE TABLE

ð+ EXEC SQL

ð+ OPEN

 

 

Вариант 2.

Какие специальные операторы могут быть использованы в статическом SQL?

 

ð SELECT

ð DELETE

ð INSERT

ð+ DECLARE TABLE

ð+ EXEC SQL

ð+ GET DIAGNOSTIC

ð+ DECLARE CURSOR

 

Вариант 3.

Какие специальные операторы могут быть использованы в статическом SQL для указания начала и конца SQL- запроса?

 

ð DECLARE TABLE

ð+ EXEC SQL

ð GET DIAGNOSTIC

ð+; (точка с запятой)

ð END DECLARE

 


Задача 4. Особенности динамического SQL по сравнению со статическим?

 

 

Вариант 1.

Как должен выглядеть запрос на языке в прикладной программе в этом случае?

 

ð запрос должен быть определен в тексте прикладной программы

ð+ запрос формируется во время работы прикладной программы

ð+ имя таблицы может быть указано как параметр

ð+ имена атрибутов могут быть указаны как параметры

ð+ в запросах могут широко использоваться переменные

ð переменные могут использоваться в запросах только на месте констант

 

 

Вариант 2.

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

 

ð прикладная программа компилируется вместе с текстом запроса

ð текст запроса компилируется отдельно один раз

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

ð+ в модуль прикладной программы вставляется вызов функции СУБД

ð+ текст запроса компилируется столько раз, сколько раз запрос формируется прикладной программой

 

 

Вариант 3.

Как происходит выполнение прикладной программы при использовании динамического SQL?

 

ð+ переход из прикладной программы к запросу осуществляется вызовом специальной функции

ð скомпилированная вместе с текстом запроса прикладная программа автоматически выполняется

ð при неоднократном выполнении одного и того же запроса используется один и тот же программный модуль

ð+ при каждом выполнении одного и того же запроса используются разные программные модули

 

 


Задача 5. Характеристика команд динамического SQL

 

 

Вариант 1.

Какие операторы могут быть использованы в динамическом SQL?

 

ð+ SELECT

ð+ DELETE

ð+ INSERT

ð DECLARE TABLE

ð EXEC SQL

ð+ OPEN

ð+ DECLARE CURSOR

ð+ PREPARE

ð+ EXECUTE

 

 

Вариант 2.

Какие специальные операторы могут быть использованы в динамическом SQL?

 

ð SELECT

ð DELETE

ð INSERT

ð DECLARE TABLE

ð EXEC SQL

ð GET DIAGNOSTIC

ð+ DECLARE CURSOR

ð+ PREPARE

ð+ EXECUTE

 

 

Вариант 3.

Какие специальные операторы могут быть использованы в динамическом SQL для подготовки и выполнения SQL- запроса?

 

ð DECLARE TABLE

ð EXEC SQL

ð GET DIAGNOSTIC

ð+ PREPARE

ð+ EXECUTE

 


Задача 6. Характеристика интерфейсов программирования приложений (API).

 

Вариант 1.

Чем удобны интерфейсы программирования приложений?

 

ð не требуется изучать алгоритмический язык программирования

ð+ не требуется изучать специальные инструкции статического и динамического SQL

ð+ соответствующий подход может применяться с использованием разных языков программирования

ð не требуется изучать язык SQL

 

 

Вариант 2.

Как компилируется прикладная программа, использующая интерфейсы программирования приложений?

 

ð+ прикладная программа компилируется вместе с вызовом функций библиотек

ð вызов функций библиотек компилируется отдельно

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

ð+ в модуль прикладной программы вставляется вызов функции библиотеки

 

 

Вариант 3.

Как выполняется программа с использованием интерфейсов программирования приложений?

 

ð параметрами функций библиотеки интерфейсов программирования приложений являются имена таблиц, атрибутов и константы

ð+ параметрами функций библиотеки интерфейсов программирования приложений являются тексты SQL- запросов

ð+ переход из прикладной программы к запросу осуществляется вызовом специальной функции

ð скомпилированная вместе с текстом запроса прикладная программа автоматически выполняется

ð+ при неоднократном выполнении одного и того же запроса используется один и тот же программный модуль

ð при каждом выполнении одного и того же запроса используются разные программные модули

 


Задача 7. Что такое протокол ODBC?

 

 

Вариант 1.

Какова цель создания протокола ODBC?

 

ð создание интерфейса с конкретной СУБД

ð создание универсального интерфейса с СУБД

ð+ создание универсального интерфейса с СУБД на уровне конкретной операционной системы

ð создание библиотеки функций для обеспечения связи прикладной программы и СУБД

 

 

Вариант 2.

Что такое драйверы ODBC?

 

ð программа- интерфейс между прикладной программой на алгоритмическом языке и вызовом функции API

ð+ программа- интерфейс между вызовом функции API и программой, реализующей функции конкретной СУБД

ð программа- интерфейс между прикладной программой на алгоритмическом языке и программой, реализующей функции конкретной СУБД

ð программа- интерфейс между прикладной программой на алгоритмическом языке и программой, реализующей функции любой СУБД

 

 

Вариант 3.

Для чего в этом протоколе используются драйверы?

 

ð для сокращения времени реализации запроса

ð+ для создания возможности использования этого протокола в разных СУБД

ð для удобства разработки прикладных программ

ð для упрощения текста запроса к базе данных

 


Задача 8. Что такое протокол JDBC?

 

 

Вариант 1.

Какова цель создания протокола JDBC?

 

ð создание интерфейса с конкретной СУБД

ð создание универсального интерфейса с СУБД

ð создание универсального интерфейса с СУБД на уровне конкретной операционной системы

ð+ создание библиотеки функций для обеспечения связи прикладной программы и СУБД

ð+ создание интерфейса программы, написанной на определенном алгоритмическом языке, с СУБД

 

 

Вариант 2.

Что такое драйверы JDBC?

 

ð программа-интерфейс между прикладной программой на определенном алгоритмическом языке и вызовом функции API

ð+ программа-интерфейс между вызовом функции API и программой, реализующей функции конкретной СУБД

ð программа-интерфейс между прикладной программой на алгоритмическом языке и программой, реализующей функции конкретной СУБД

ð программа-интерфейс между прикладной программой на алгоритмическом языке и программой, реализующей функции любой СУБД

 

 

Вариант 3.

Для чего в этом протоколе используются драйверы?

 

ð для сокращения времени реализации запроса

ð+ для создания возможности использования этого протокола в разных СУБД

ð для удобства разработки прикладных программ

ð для упрощения текста запроса к базе данных

ð для создания возможности обращения к функциям API из программы, написанной на языке Java

 


Литература

1. Грофф Дж., Вайнберг П. Энциклопедия SQL. 3-е изд. СПб.: Питер, 2003.

2. Швецов В.И., Визгунов А.Н., Мееров И.Б. Базы данных. Учебное пособие. Н.Новгород: Изд-во ННГУ, 2004. 271 с.

 


Лекция 14. Направления развития баз данных

В лекции рассматриваются перспективные направления в теории и практике создания баз данных – объектно-ориентированные и распределенные базы данных, а также новое направление в аналитической обработке данных = хранилища данных.

Ключевые термины: направления развития баз данных, объектно-ориентированные базы данных, системы управления объектно-ориентированными базами данных, объект, класс, методы класса, наследование, системы управления объектно-реляционными базами данных, распределенные базы данных, системы управления распределенными базами данных, хранилища данных.

Цель лекции: выделить основные черты в новых направлениях развития теории и практики создания баз данных (новые свойства, присущие объектно-ориентированным и распределенным базам данных) и хранилищ данных.

 

14.1. Объектно-ориентированный подход к организации баз данных

В начале 90-х годов XX века начались активные попытки по внедрению объектно-ориентированных технологий в отрасль проектирования и разработки баз данных. Бытовала точка зрения о том, что соответствующие технологии быстро вытеснят все остальные, так же как и во многих других программистских отраслях, но ничего подобного не произошло.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...