В состав BDE входят следующие функциональные подсистемы:
1. Администратор системных ресурсов – управляет процессом подключения к данным, при необходимости устанавливает нужные драйверы, а при завершении работы автоматически освобождает занятые ресурсы. Поэтому BDE всегда использует столько ресурсов, сколько необходимо
2. Система обработки запросов – обеспечивает выполнение запрос SQL от приложения к любым БД, для которых установлен драйвер, даже если сама СУБД не поддерживает прямое использование запросов SQL.
3. Система сортировки – является запатентованной технологией и обеспечивает быстрый поиск по запросам SQL, обеспечивает быстрый поиск по запросам SQL и через стандартые драйверы Paradox, dBase.
4. Система пакетной обработки – представляет собой механизм преобразования данных из одного формата в другой, при выполнении операции над целыми таблицами
5. Менеджер буфера – управляет единой для всех драйверов буферной областью памяти, которую одновременно могут использовать несколько драйверов, что позволяет экономить системные ресурсы.
6. Менеджер памяти – взаимодействие с ОС и обеспечивает эффективное использование выделяемой памяти. Ускоряет работу драйверов, которые для получения небольших фрагментов памяти, обращаются к нему, а не к ОС. Так как менеджер памяти выделяет большие объемы ОП и затем распределяет ее небольшими частями между драйверами согласно их потребностям.
7. Транслятор данных – обеспечивает преобразование форматов данных для различных типов БД
8. Кэш Blob – используется для ускорения работы с данными в формате Blob
9. SQL генератор – транслирует запросы QBE в SQL.
10. Система поддержки драйверов SQL – повышает эффективность механизма поиска, при выполнении запросов SQL.
11. Таблицы в памяти – этот механизм позволяет создавать таблицы непосредственно в ОП, используется для ускорения обработки больших массивов данных сортировки, преобразования форматов данных.
12. Менеджер конфигурации – обеспечивает разработчику доступ к информации о конфигурации драйверов.
Псевдонимы БД и настройкаBDE
Для успешного доступа БД приложения и BDE должны обладать информацией о местоположении файлов требуемой БД. Задание маршрута входит в обязанности разработчика. Самый простой способ заключается в явном задании пути к каталогу, в котором хранятся файлы БД. Но в случае изменения пути разработчик должен перекомпилировать проект с учетом будущего местонахождения БД или предусмотреть специальные элементы управления, в которых можно задать путь к БД.
Для решения такого рода проблем используется псевдоним БД, который представляет собой именованную структуру, содержащий путь к файлам БД и некоторые дополнительные параметры. А также обязательно содержит информацию о драйвере БД, которая используется для доступа к данным. Для управления псевдонимами БД настройки стандартных и дополнительных драйверов в составе BDE имеется специальная утилита BDE Administrator
Этапы создания приложения БД
Среда разработки делфи ориентирована на создание разнообразных приложений БД. Несмотря на сложность приложения в его основе всегда лежит базовый механизм обеспечения доступа к данным,
Он создается триадой компонентов:
1. Компонент набора данных (TTable, TDataSource, один или несколько компонентов отображения данных)
В основе работоспособности любого приложения БД лежат наборы данных, которые представляют собой группы записей, переданных из БД в приложения для просмотра и редактирования. Для обеспечения связей набора данных с компонентами отображения данных, используется специальный компонент TDataSource. Его роль заключается в управлении потоками данных между наборами данных и связанными с ними компонентами отображения данных.
Непосредственную связь приложения и БД осуществляет BDE. Процессор БД должен иметь установленный драйвер, через который запросы передаются в БД. Также BDE должен быть зарегистрирован псевдоним, который указывает местоположения файлов БД и тип используемого драйвера.
Приложение из BDE взаимодействует компонент из доступа к данным, которых инкапсулирует набор данных и обращается к функциям API BDE для выполнения различных операций. Компонент доступа к данным представляет собой “образ” таблицы БД в приложении. Общее количество таких компонентов неограничено. С каждым компонентом доступа к данным должен быть связан как минимум ОДИН компонент TDataSource.
В его обязанности входит:
1. Соединение набора данных с компонентами отображения данных. Он отправляет в эти компоненты текущие значения полей из набора данных, и передает обратно сделанные изменения.
2. Также компонент TDataSource синхронизирует поведение компонентов отображения данных состоянием набора данных с состоянием набора данных.
3. С одним компонентом TDataSource могут быть связаны несколько визуальных компонентов отображения данных.
При открытии набора данных BDE обеспечивает передачу набор данных записей из требуемой таблицы БД. Пользователь при помощи компонентов отображения данных может просматривать и редактировать данные.
Измененные значения передаются из элемента управления в набор данных, при помощи компонента TDataSource, затем изменения могут быть переданы в БД или отменены.