AccesSoft - Статьи - Работа с базами данных в СУБД MS Access
Главная | Заказ программы | Каталог программ | Форум MS Access | Литература | Статьи | Новости | Гостевая | Контакты | Карта    
СУБД MS Access
Этапы разработки
Понятие таблицы
Свойства таблицы
Создание таблицы
Связывание таблиц
Схема данных
Запросы
Формы
Отчеты
Макросы
Модули
Внешние данные
Сетевая работа
Клиент сервер
Защита данных

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

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

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

Выполнение этого принципа позволяет:

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

Важнейшим инструментом форматно независимого доступа к данным из программ стала технология ODBC (Open Data Base Connectivity), созданная фирмой Microsoft. Ее принципиальная схема изображена на рис. Как следует из него, в рамках ODBC:

  • программное приложение непосредственно взаимодействует с диспетчером драйверов, посылая ему ODBC-вызовы
  • диспетчер драйверов отвечает за динамическую загрузку нужного ODBC-драйвера, через который обращается к СУБД (серверу баз данных)
  • ODBC-драйвер выполняет все вызовы ODBC-функций, "переводит" их на язык источника данных
  • СУБД хранит и выводит данные в ответ на запросы со стороны ODBC-драйвера (или же возвращает код ошибки)


В настоящее время в состав подавляющего большинства систем управления данными входят соответствующие ODBC-драйверы.

Таким образом, при работе с базой данной через ODBC-драйвер она выступает как некоторый виртуальный источник данных, которым можно управлять с помощью SQL подобных команд.

Задание ODBC-источника данных (DSN - data source name) является действием, которое осуществляется средствами операционной системы, управляющей компьютером. В частности, в операционных средах Windows 95/Windows 98 для этого в Панели управления предусмотрен пункт Источники Данных ODBC (32 разр), из которого вызывается Администратор источников данных ODBC. С его помощью могут быть заданы:

  • пользовательский DSN - источник данных, доступный только текущему пользователю на текущем компьютере
  • файловый DSN - источник данных, которые могут применять совместно различные пользователи, у которых установлены одинаковые ODBC-драйверы
  • системный DSN - источник данных, доступный всем пользователям и службам текущего компьютера

Доступ из MS Access к источникам данных в формате других программных приложений

В MS Access предусмотрены две принципиальные возможности работы с внешними данными. Это импорт данных и связь с внешними таблицами данных. Оба режима доступны из меню главного окна базы данных: Файл > Внешние данные.

В случае импорта происходит создание дубликата внешних данных во вновь создаваемой таблице. Среди преимуществ такого решения могут быть названы:

  • доступность всего арсенала средств СУБД Access при манипуляциях импортированными данными
  • высокое быстродействие при обращении к ним
  • независимость от исходного источника данных

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

Eсли актуальность данных является для нас критичным фактором, то необходимо использовать другой способ работы с внешними данными - связь. В этом случае в базе данных добавляется лишь ссылка на внешние источники данных и работа с ними происходит с помощью специальных драйверов. В поставку MS Access традиционно входят драйверы для работы с данными, созданными в форматах Paradox" Excel, dBase, FoxPRO, а также в текстовом (*.txt) и гипертекстовом (*.htm) форматах. Базы данных Paradox, Excel, dBase, FoxPRO и некоторых других форматов также называют базами данных с индексно-последовательной организацией (англ. - ISAM - Indexed Sequential Access Method). Специфические IS AM-драйверы, учитывающие конкретные особенности перечисленных форматов организации данных, как правило, обеспечивают высокую эффективность и быстродействие при работе с ними. Одновременно в Access существует возможность работы с обширным множеством универсальных источников данных, для которых установлены ODBC-драйверы. Для этого при указании типа файла, с которым устанавливается связь, необходимо выбрать Базы данных ODBC.

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

Технологические решения по организации доступа к данным

Рассмотрим чуть подробнее архитектуру доступа к данным в Access. Схематично она представлена на рис. В представленной схеме блок пользовательского интерфейса олицетворяет видимую часть СУБД, то есть то, с чем пользователь взаимодействует непосредственно (формы, отчеты и другие объекты). Под хранилищем данных понимаются файл (файлы), содержащие таблицы данных (например, в Access это mdb-файлы).

Хранилище - это некоторый пассивный элемент, в нем данные просто содержатся. Осуществлять манипуляции с ними - это задача процессора базы данных (или, как еще говорят, ядра базы данных). Он транслирует команды приложения в физические операции, непосредственно меняющие файл (файлы) хранилища данных. Основным достоинством описанной схемы является независимость приложения от типа базы данных, к которой она обращается: будут ли это данные во внутреннем формате Access или данные какой-то другой структуры - в приложении используются одни и те же объекты и методы доступа к ним.

В СУБД MS Access используется процессор, получивший название Jet (Join* Engine Technology). Он реализован в виде набора файлов динамически компонуемых библиотек (DLL), которые связываются с прикладной программой Access в период ее выполнения. В состав процессора Jet входят процессор запросов SQL и процессор обработки результатов, возвращаемых этими запросами.

Рассмотренная ранее модель объектного интерфейса доступа к данным ОАО представляет собой программную надстройку над процессором Jet. Jet также реализует описанные в 7.3.1 возможности по доступу к внешним данным в формате ISAM и источникам данных ODBC.

Для работы СУБД MS Access 97 был использован процессор Jet версии 3.5 для 32-разрядных приложений. Среди принципиальных преимуществ новой версии могут быть названы:

  • ODBCDirect - альтернативный режим DAO, который предоставляет возможности прямого обращения к источникам данных ODBC в обход ядра Jet. Это позволяет в некоторых случаях оптимизировать процесс работы с данными за счет использования специфических характеристик удаленных ODBC-источников
  • для баз данных, управляемых процессором Jet, определены новые объекты, свойства и методы, позволяющие использовать новые возможности частичной репликаций

Также следует отметить, что в Jet реализована технология Rushmore - специальная методика управления запросами, которая позволяет очень эффективно отбирать Наборы записей при использовании в их критериях определенных типов выражений.

Обсудить на форуме...

Автор: Ю. Н. Антонов Оптимизация приложений Добавлен: 21.06.2008

Главная | Заказ программы | Каталог программ | Форум MS Access | Литература | Статьи | Новости | Гостевая | Контакты | Карта    
Торговые стратегии на рынке форекс. Робот торговой системы форекс. | Личный кабинет клиента, интегрированный с CRM системой - удобно, выгодно, эффективно! | радиоуправление кранами легко управляемое для складских нужд

Copyright © 2007 - 2012 AccesSoft. All Rights Reserved