Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование БД.docx
Скачиваний:
74
Добавлен:
08.03.2016
Размер:
712.24 Кб
Скачать
    1. Интерфейс odbc

ODBC(Open Database Connectivity) – это программный интерфейс (API) доступа к БД, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификацийCall Level Interface(CLI).CLIразрабатывался организациями SQL Access Group, X/Open и Microsoft. Впоследствии CLI был стандартизован ISO. Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.Организация работы с БД в приложениях.

В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных было необходимо написать свой код. Компания Microsoft и ряд других компаний сделали важный шаг к решению этой проблемы. Основная идея заключалась в разработке универсального интерфейса на уровне семейства операционных систем Windows, который мог бы быть поддержан в разных СУБД. Этот интерфейс был назван Open Database Connectivity, или открытый механизм взаимодействия с базами данных.

Рассмотрим кратко структуру программного обеспечения ODBC:

  • интерфейс вызовов функций ODBC: это так называемый верхний уровень ODBC, содержащий API, который и используется непосредственно приложениями. Данный API в частности реализован в виде библиотеки динамической компоновки Dll и входит в состав операционной системы Windows;

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

  • диспетчер драйверов ODBC: данный программный механизм представляет средний уровень ODBC, управляя процессом загрузки необходимых драйверов.

Схема выполнения программы с использованием протокола ODBC для доступа к данным приводится на рисунке 0.

Рисунок 0 – Схема выполнения программы со встроенными инструкциями динамического SQLс применением двухэтапной схемы

    1. Механизм использования бд, применяемый в современных графических средствах разработки

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

Примеры фреймворков: Zend Framework, VCL, MFC, .NET Framework, wxWidgets, Qt и т.д.

Фреймворки стали популярны с появлением графических интерфейсов пользователя, которые имели тенденцию к реализации стандартной структуры приложения.

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

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

Многие фреймворки, предназначенные для разработки графических приложений включают в себя средства для организации взаимодействаия с БД. Распространенный подход к взаимодействию с БД, используемый в популярных графических фреймворках основан на использовании трех уровней абстракции:

  1. Уровень драйверов;

  2. Уровень SQL API (программный);

  3. Уровень пользовательского интерфейса.

К уровню драйверовотносятся классы для получения данных специфичных БД на физическом уровне.

Программный уровеньпредназначен для обобщенной доступа в клиентском коде с любой БД, для которой определен соответствующий драйвер. На этом уровне как правило используются следующие основные абстракции (которые как правило определены в виде классов):

  • БД(илиподключение к БД) – обеспечивает подключение к БД;

  • Запрос– предоставляет средства для выполнения и получения результатовSQL-запросов;

  • Запись– класс, представляющий запись БД;

и т.д.

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

Классы уровня пользовательского интерфейса позволяют связать данные, получаемые в результате запросов к БД с графическими средствами представления информации (представлениями).