- •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. Некоторые компоненты визуализации данных
4. Типы баз данных
4.1. Локальные и файл серверные бд
В локальных БД базы данные располагаются на машине клиента. В файл серверных БД базы данные располагаются на сетевом файл-сервере.
Локальный вариант может обеспечить лишь однопользователький режим доступа к данным.
В файл-серверных БД данные располагаются на сетевом файл-сервере, который может быть доступен одновременно нескольким пользователям. Данные в БД хранятся в единственном экземпляре, а каждый клиент в каждый момент времени работает с некоторой локальной копией данных, причем управление данными целиком возлагается на клиентские программы. Именно они должны заботиться о синхронизации локальных копий данных на каждом клиентском месте с содержимым основной (и единственной) базы данных.
При выполнении запроса к БД, расположенной на файловом сервере, в действительности происходит запрос к локальной копии данных на компьютере пользователя. Поэтому перед выполнением запроса данные в локальной копии в полном объеме обновляются из реальной БД. Так, если таблица БД состоит из 10000 записей, а для выполнения запроса нужно только 10 записей, все равно клиенту передаются все 10000 записей. Таким образом серьезно загружается сеть.
4.2. Клиент-серверные бд
В архитектуре клиент-сервер между BDE и базой данных появляется важное промежуточное звено – сервер БД (специальная программа, управляющая базой данных).
Клиент формирует запрос к серверу на языке запросов SQL (Structured Query Language – структурированный язык запросов), являющемсяпромышленным стандартом для реляционных баз данных. SQL-сервер обеспечивает интерпретацию запроса, его выполнение, формирование результата и выдачу этого результата клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса: клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю. По сети передаытся только те данные, которые нужны клиенту.
При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются на сервере и являются едиными для всех приложений, использующих эту БД. Мощный аппарат транзакций, поддерживаемый SQL-серверами, блокирует одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно. (Создание приложений для работы с базами данных.html)
5. Механизм доступа к Базам данных
Имеются несколько основных компонент(объектов), которые используются постоянно для доступа к БД. Эти объекты могут быть разделены на три группы:
-
невизуальные: TTable, TQuery, TDataSet, TField – используются для управления таблицами и запросами.
-
визуальные: TDBGrid, TDBEdit, TDBImage и TDBComboBox и др. – показывают данные пользователю, и позволяют ему просматривать и модифицировать их.
-
связующие: TDataSource – связать предыдущие два типа объектов.
Рис. 6. Схема взаимодействия компонентов с базой данных
Обычно между программой и BDE располагается слой компонентов, существенно упрощающих разработку программ. Невизуальные компоненты осуществляют непосредственную работу с BDE, и три из них (TTable, TQuery, TStoredProc) служат наборами данных, в то время как визуальные компоненты отображают поставляемые им данные и служат для создания удобного интерфейса пользователя. Между наборами данных и визуальными компонентами обязательно располагаются компоненты TDataSource, играющие роль клапанов, открывающих или закрывающих потоки данных, которыми обмениваются источники с визуальными компонентами (см рис.).
Любой компонент доступа к данным имеет в иерархии наследования класс TBDEDataSet, унаследованные методы которого используются для установления связи с базой данных через BDE. Любой компонент доступа к данным имеет свойство DatabaseName, в котором необходимо задать нужный псевдоним, вся остальная работа выполняется автоматически. Важнейшее свойство – Active, имеющее тип Boolean, позволяет открыть или закрыть сеанс связи с базой данных.
Чтобы найти базу данных, подключиться к таблице и получить набор данных, достаточно лишь задать значения трех свойств компонента доступа к данным, а всю работу выполняют BDE и унаследованные методы компонента.
Приложение должно уметь вносить сделанные изменения в базу данных. Эту часть обычно выполняет компонент TDataSourse.
TDataSourse выполняет работу по передаче данных от компонента доступа к данным в компоненты отображения данных. Его основная задача – управление данными, при необходимости – разделение набора данных на поля и передача их по назначению. Он же отвечает за возврат сделанных изменений и передачу сигналов управления от пользователя в набор данных.
Любой компонент отображения данных умеет визуализировать полученные от компонента TDataSourse данные в соответствии с их типом отслеживает правильность вносимых изменений и передает их в TDataSourse.
TDataSet класс - один из наиболее важных объектов БД. TDataSet - инструмент, для открытия таблицы, и перемещения по ней. Dataset это просто набор записей.
В большинстве случаев Dataset будет иметь прямое, один к одному, соответствие с физической таблицей, которая существует на диске. В программе используются объекты типа TTable или TQuery