Процесс доступа к данным из приложения

Работа с базами данных

Архитектура и функции BDE

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

В состав BDE входят следующие функциональные подсистемы.

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

· Система обработки запросов обеспечивает выполнение запросов SQL или QBE от приложения к любым базам данных, для которых установлен драйвер, даже если сама СУБД не поддерживает прямое использование запросов SQL.

· Система сортировки является запатентованной технологией и обеспечивает очень быстрый поиск по запросам SQL и через стандартные драйверы аля Paradox и dBASE.

· Система пакетной обработки представляет собой механизм преобразования данных из одного формата в другой при выполнении операций над целыми таблицами. Эта система использована в качестве основы для компонента TBatcMove и утилиты DataPump (автоматического переноса структур данных между базами данных), входящей в стандартную поставку BDE.

· Менеджер буфера управляет единой для всех драйверов буферной областью памяти, которую одновременно могут использовать несколько драйверов. Это позволяет существенно экономить системные ресурсы.

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

· Транслятор данных обеспечивает преобразование форматов данных для различных типов БД.

· Кэш BLOB используется для ускорения работы с данными в формате BLOB.

· SQL-генератор транслирует запросы в формате QBE в запросы SQL.

· Система реструктуризации обеспечивает преобразование наборов данных в таблицы Paradox или dBASE.

· Система поддержки драйверов SQL повышает эффективность механизма поиска при выполнении запросов SQL.

· Таблицы в памяти. Этот механизм позволяет создавать таблицы непосредственно в оперативной памяти. Используется для ускорения обработки больших массивов данных, сортировки, преобразования форматов данных.

· Связанные курсоры обеспечивают низкоуровневое выполнение межтабличных соединений. Позволяют разработчику не задумываться над реализацией подобных связей при работе на уровне VCL — для этого достаточно установить значения нескольких свойств.

· Менеджер конфигурации обеспечивает разработчику доступ к информации о конфигурации драйверов.

Перечисленные функции реализованы в динамических библиотеках, которые, собственно, и называются процессором БД (табл. 1).

Процесс доступа к данным из приложения

1. Компонент доступа к данным приложения получает команду на открытие набора данных и при помощи унаследованных от предка (TBDEDataSet) методов обращается к BDE с соответствующим запросом.

2. BDE выделяет для нового процесса необходимые ресурсы и, при необходимости, транслирует запрос в соответствии с особенностями драйвера запрашиваемой СУБД.

3. При обращении к локальной базе данных драйвер напрямую обращается к таблицам; при обращении к серверу SQL вызывается соответствующее клиентское ПО.(1)

 
  Процесс доступа к данным из приложения - student2.ru

Наши рекомендации