Разработка и эксплуатация удаленных баз данных
Локальные делятся на : Персональные(бд, СУБД и приложение находится на 1 ПК) и Архитектура файл-сервер — предназначена для работы в локальной сети при этом приложение и СУБД расположены на компьютере пользователя а база данных на локальном сервере.
Удаленные — называются клиент-сервер при этом приложение находится на компьютере пользователя а база данных и СУБД на удаленном компьютере в глобальной сети. Такая архитектура может быть использована для локальной сети.
Архитектуру клиент-сервер делят на 2 вида:
«С толстым клиентом» и «С тонким клиентом»(из приложения выделяют ряд общих правил по обработке базы данных и выносят их(«сервер приложений») на удалённый сервер).
Достоинства и недостатки различных архитектур:
— возможность многопользовательской обработки БД;
— не эффективна для решения задач по обработке больших БД т.к. выполнения запроса к базе данных хранящейся на сервере происходит в локальной копии данных на ПК пользователя и перед выполнением любого запроса данные копии обновляются в полном объёме;
— Обеспечение целостности базы данных производится из приложений, в результате возможно нарушение физической и логической целостности т.к. разные приложения могут по разному, иногда взаимоисключающими способами контролировать целостность данных.
— Снижается нагрузка на сеть за счет уменьшения объёма данных пересылаемых по сети;
— Повышается степень безопасности данных за счет контроля целостности на сервере;
— Снижаются требования к аппаратному обеспечению пользователя;
Сервер баз данных обычно используют для обозначения всей СУБД основанной на архитектуре клиент-сервер. В качестве основанного интерфейса между клиентской и серверными частями выступает язык SQL. Название SQL сервер относится ко всем серверам баз данных основанных на SQL. Их преимущество — стандартность интерфейса. Недостаток — на стороне клиента работает слишком мала программ.
Типичное разделение функций между клиентом и сервером на стороне клиента работает только такое ПО которое не имеет непосредственного доступа к БД а обращается для этого к серверу с использованием языка SQL. В состав клиентской части включают некоторые функции для работы с локальным кэшем БД, то есть той части которая наиболее интенсивно используется прикладной программой. При современной технологии это можно сделать только путем формального создания на стороне клиента локальной копии сервера базы данных. И рассмотрения всей системы как набора взаимодействующих серверов.
Технологии удаленного доступа к данным
В больших организациях главным препятствием для свободного использования баз данных является несовместимость системного программного обеспечения. Для решения этой проблемы можно или привести все программные продукты к единому типу или использовать интерфейса ODBC — это стандартный интерфейс между базой данных и приложением взаимодействующим с ней. Доступ к данным осуществляется с использованием SQL, обязательные требования чтобы клиентская и серверная части поддерживали стандарт ODBC. Для приложения неважно какая СУБД установлена на сервере.
Интерфейс ODBC состоит из 4х функциональных компонентов:
- Приложения — это та часть с которой работает пользователь.
- Диспетчер драйвера — это библиотека динамической компоновки, она загружает необходимые драйверы для источников данных.
- Драйвер — каждый драйвер получает вызовы функций через интерфейс ODBC и переводит их в код понятный источнику данных. Когда источник данных возвращает результат драйвер в обратном порядке преобразует его в стандартный для ODBC вид.
- Источник данных — реляционная база данных находящаяся на одном компьютере с приложением или на удаленном компьютере. Для каждого источника данных требуется свой драйвер.
- Сервер COM — это модуль кода(.exe или .dll) где хранится код одного или нескольких компонентов COM.
- Клиент COM — это программный код в котором происходит обращение к интерфейсу COM с запросом на выполнение услуг сервером COM. При этом клиент знает что надо получить от сервера но не знает как это будет реализовано и где сервер находится физически.
- Интерфейс COM — описывает методы и свойства доступные программам обращающемся к COM объектам.
- Клиентская программа — реализует пользовательский интерфейс и посылает запросы на выполнение нужных действий.
- Сервер приложений — организует работу всех компонентов системы и связи между ними.
- Удаленный сервер баз данных — это СУБД на выделенном компьютере обрабатывающая запросы от сервера приложений и по этим запросам возвращающая данные или вносящая изменения в таблицу.
- InterBase Server Manager – программа управления запуском сервера InterBase;
- IBConsole – консоль сервера InterBase;
- SQL Monitor – программа отслеживания порядка выполнения SQL-запросов к удалённым БД.
- Database – соединение с БД;
- Session – текущий сеанс работы с БД;
- StoredProc – вызов хранимой процедуры;
- UpdateSQL – модификация набора данных, основанного на SQL-запросе;
- DCOHConnection – DCOM-соединение;
- ADO, dbExpress и InterBase.
Средства управления удалёнными БД в C++ Builder
Если при выполнении SQL-запроса компонентом Query не требуется результирующий набор данных, то, целесообразно, SQL-запрос выполнять с помощью метода ExecSQL.
Пример SQL-запроса
Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("DELETE FROM SEmpioyee WHERE Post = 'не' "); Query1->ExecSQL();
При работе с таблицами и запросами можно использовать программы управления БД – Database Desktop и SQL Explorer.
Инструменты БД
Компоненты БД
Компоненты Database, UpdateSQL и Session используются при работе как с удалёнными, так и локальными БД. Например, компонент Database позволяет реализовать механизм транзакций при навигационном способе доступа к данным БД.
Компоненты ClientDataSet (клиентский набор данных) и DCOMConnection (соединение с сервером) предназначены для работы в трёхуровневой (трехзвенной) архитектуре «клиент-сервер» («тонкий» клиент), а так же для построения сервера приложений.
Язык SQL лежит в основе операций, выполняемых с удаленными БД с помощью инструментов и программно.
При создании таблицы в БД с помощью программы IBConsole (Interactive SQL) нужно выполнить стандартный SQL-запрос – CREATE TABLE.
При создании таблицы в БД с помощью механизма BDE используется набор данных Query, выполняющий запрос, и приложение, из которого вводится и запускается запрос.
Основное отличие состоит в том, каким образом будет выполняться SQL-запрос к удалённой БД. Для удалённых БД разница между средствами, используемыми в приложении, и инструментами намного меньше, чем для локальных баз данных.