Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИОСУ Ч.1 _2016.docx
Скачиваний:
2
Добавлен:
31.01.2024
Размер:
2.97 Mб
Скачать

6.4 Odbc – открытый интерфейс к бд на платформе ms Windows

Важный шаг к созданию переносимых приложений обработки данных сделала фирма Microsoft, опубликовавшая в 1992 году программный интерфейс ODBC (Open Database Connetcivity – открытый интерфейс доступа к базам данных). ODBC основан на спецификации CLI и предназначен для унификации программного взаимодействия клиентских приложений, работающих под управлением операционной системы Windows, с СУБД, делает его независимым от поставщика СУБД и программно-аппаратной платформы. Структурная схема доступа к данным с использованием ODBC приведена на рис. 57.

Рис. 57. – Структурная схема доступа к данным

с использованием ODBC

За реализацию особенностей доступа к каждой отдельной СУБД отвечает специальный ODBC-драйвер. Пользовательское приложение этих особенностей не видит, т.к. взаимодействует с универсальным программным слоем более высокого уровня. Таким образом, приложение становится в значительной степени независимым от СУБД. Однако этот способ также не лишен недостатков:

 приложения становятся привязанными к платформе MS Windows;

 увеличивается время обработки запросов (как следствие введения дополнительного программного слоя);

 необходимо предварительная инсталляция ODBC-драйвера и настройка ODBC (указание драйвера, сетевого пути к серверу, базе данных и т.д.) на каждом рабочем месте. Параметры настройки являются статическими, т.е. приложение их самостоятельно изменять не может [6].

6.5 Jdbc - интерфейс к базам данных на платформе Java

JDBC (Java DataBase Connectivity) – это интерфейс прикладного программирования (API) для выполнения SQL-запросов к базам данных из программ, написанных на языке Java или, другими словами, это платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД.

JDBC основан на концепции так называемых драйверов, позволяющих получать соединение с базой данных по специально описанному URL. Драйверы могут загружаться динамически (во время работы программы). Загрузившись, драйвер сам регистрирует себя и вызывается автоматически, когда программа требует URL, содержащий протокол, за который драйвер отвечает.

Структура подключения к БД с помощью JDBC (рис. 58) во многом подобна ODBC, JDBC также построен на основе спецификации CLI, однако имеет ряд преимуществ.

Рис. 58. – Структурная схема доступа к данным с использованием JDBC

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

Во-вторых, JDBC, как и Java в целом, не привязан к конкретной аппаратной платформе, и, как следствие, проблемы с переносимостью приложений практически снимаются.

В-третьих, использование Java-приложений и связанной с ними идеологии «тонких клиентов» снижает требования к оборудованию клиентских рабочих мест [6].

При создании JDBC были установлены следующие приоритеты:

  • передача запроса к БД в виде строки. Таким образом, могут использоваться конструкции SQL, специфичные для данной базы данных и/или ее JDBC-драйвера.

  • универсальный метод работы с базами данных. JDBC предполагает конкретные требования к базовому SQL. Базовым требованием JDBC является удовлетворение входного уровня ANSI-стандарта SQL-92 (SQL-2). Такие требования обусловлены наличием определенного понятийного поля, то есть минимального набора предопределенных сущностей, характерных для реляционных СУБД.

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

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

Соседние файлы в предмете Информационное обеспечение систем управления