Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_8_9_БД.doc
Скачиваний:
1
Добавлен:
08.12.2018
Размер:
350.21 Кб
Скачать

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