- •1. Архитектура и функции bde
- •Процесс доступа к данным из приложения
- •2. Псевдонимы баз данных и настройка вdе
- •3. Принципы построения баз данных
- •4. Типы баз данных
- •4.1. Локальные и файл серверные бд
- •4.2. Клиент-серверные бд
- •5. Механизм доступа к Базам данных
- •6. Создание таблиц с помощью Database Desktop
- •7. Основные свойства компонента Table и простейшие приложения на его основе
- •7.1. Установка связей между компонентами и базой данных, навигация по таблице
- •7.2. Свойства полей
- •7.3. Ограничения вводимых значений
- •7.4. Вычисляемые поля
- •7.5. Фильтрация данных
- •8. Некоторые компоненты визуализации данных
Работа с базами данных
1. Архитектура и функции bde
BDE представляет собой набор динамических библиотек, которые "умеют" передавать запросы на получение или модификацию данных из приложения в нужную базу данных и возвращать результат обработки. В процессе работы библиотеки используют вспомогательные файлы языковой поддержки и информацию о настройках среды.
В состав BDE входят следующие функциональные подсистемы.
-
Администратор системных ресурсов управляет процессом подключения к данным — при необходимости устанавливает нужные драйверы, а при завершении работы автоматически освобождает занятые ресурсы. Поэтому BDE всегда использует ровно столько ресурсов, сколько необходимо.
-
Система обработки запросов обеспечивает выполнение запросов SQL или QBE от приложения к любым базам данных, для которых установлен драйвер, даже если сама СУБД не поддерживает прямое использование запросов SQL.
-
Система сортировки является запатентованной технологией и обеспечивает очень быстрый поиск по запросам SQL и через стандартные драйверы аля Paradox и dBASE.
-
Система пакетной обработки представляет собой механизм преобразования данных из одного формата в другой при выполнении операций над целыми таблицами. Эта система использована в качестве основы для компонента TBatcMove и утилиты DataPump (автоматического переноса структур данных между базами данных), входящей в стандартную поставку BDE.
-
Менеджер буфера управляет единой для всех драйверов буферной областью памяти, которую одновременно могут использовать несколько драйверов. Это позволяет существенно экономить системные ресурсы.
-
Менеджер памяти взаимодействует с ОС и обеспечивает эффективное использование выделяемой памяти. Ускоряет работу драйверов, которые для получения небольших фрагментов памяти обращаются к нему, а не к ОС. Дело в том, что менеджер памяти выделяет большие объемы оперативной памяти и затем распределяет ее небольшими кусками между драйверами согласно их потребностям.
-
Транслятор данных обеспечивает преобразование форматов данных для различных типов БД.
-
Кэш BLOB используется для ускорения работы с данными в формате BLOB.
-
SQL-генератор транслирует запросы в формате QBE в запросы SQL.
-
Система реструктуризации обеспечивает преобразование наборов данных в таблицы Paradox или dBASE.
-
Система поддержки драйверов SQL повышает эффективность механизма поиска при выполнении запросов SQL.
-
Таблицы в памяти. Этот механизм позволяет создавать таблицы непосредственно в оперативной памяти. Используется для ускорения обработки больших массивов данных, сортировки, преобразования форматов данных.
-
Связанные курсоры обеспечивают низкоуровневое выполнение межтабличных соединений. Позволяют разработчику не задумываться над реализацией подобных связей при работе на уровне VCL — для этого достаточно установить значения нескольких свойств.
-
Менеджер конфигурации обеспечивает разработчику доступ к информации о конфигурации драйверов.
Перечисленные функции реализованы в динамических библиотеках, которые, собственно, и называются процессором БД (табл. 1).