Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 9.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
423.94 Кб
Скачать

1.2. Сервер и удаленная бд

Удаленная БД, как и локальная, представляет собой совокупность взаимосвя­занных таблиц. Однако данные этих таблиц, как правило, содержатся в одном общем файле. Как и в случае с локальной БД, для таблиц удаленной БД могут устанавливаться связи (отношения), ограничения ссылочной целостности, огра­ничения на значения столбцов и т. д.

Замечание

Для удаленных БД поле называется столбцом.

Для управления БД сервер использует:

  • триггеры;

  • генераторы;

  • хранимые процедуры;

  • функции, определяемые пользователем;

  • механизм транзакций;

  • механизм кэшированных изменений;

  • механизм событий.

Многие из перечисленных элементов обеспечиваются возможностями языка SQL сервера, в котором, по сравнению с локальной версией, имеются сущест­венные особенности, рассматриваемые ниже.

1.3. Средства работы с удаленными бд

Система Delphi обеспечивает разработку приложений для различных серверов, предоставляя для этого соответствующие средства. Отметим, что многие изло­женные ранее принципы разработки приложений и средства для работы с ло­кальными БД относятся и к работе с удаленными БД. В частности, для разра­ботки приложений используются такие компоненты, как источник данных DataSource, наборы данных Table и Query, сетка DBGrid и др.

Замечание

Для реализации реляционного способа доступа к удаленной БД необходимо использовать только средства языка SQL. Поэтому в качестве компонентов должны выбираться такие, как Query, StoredProc или UpdateSQL. Кроме того, для набора данных нельзя использовать методы, характерные для навигаци­онного способа доступа, например, Next и Previous для перемещения текуще­го указателя или Edit, Insert, Append или Delete для изменения записей.

Напомним, что если при выполнении с помощью компонента Query модифи­цирующего БД запроса нет необходимости в получении результирующего набо­ра данных, то этот запрос предпочтительнее выполнять с помощью метода ExecSQL. Например:

Queryl.Close;

Queryl.SQL.Clear;

Queryl.SQL.Add('DELETE FROM Personnel WHERE Position = 'Менеджер');

Queryl.ExecSQL;

Для работы с таблицами и запросами по-прежнему можно использовать такие программы, как Database Desktop и SQL Explorer.

Средства Delphi, предназначенные для работы с удаленными БД, можно разде­лить на два вида:

  • инструментальные средства;

  • компоненты.

К инструментальным средствам относятся специальные программы и пакеты, обеспечивающие обслуживание БД вне разрабатываемых приложений. В их чис­ле могут быть выделены следующие средства:

  • InterBase Server Manager — программа управления запуском сервера InterBase;

  • IBConsole — консоль сервера InterBase;

  • SQL Monitor — программа отслеживания порядка выполнения SQL-запросов к удаленным БД.

Отметим, что в предыдущей версии сервера вместо программы IBConsole ис­пользовалась InterBase Windows Interactive SQL (WISQL). Кроме того, значи­тельно упростилась программа InterBase Server Manager, а многие ее функции теперь реализованы в программе IBConsole.

Компоненты предназначены для создания приложений, выполняющих опера­ции с удаленной БД. Перечислим наиболее важные из них:

  • Database — соединение с БД;

  • Session — текущий сеанс работы с БД;

  • StoredProc — вызов хранимой процедуры;

  • UpdateSQL — модификация набора данных, основанного на SQL-запросе;

  • DCOMConnectionDCOM-соединение;

  • компоненты страниц dbExpress и InterBase Палитры компонентов.

Отметим, что многие из названных компонентов, например, Database, UpdateSQL и Session, используются также при работе с локальными БД. Так, компонент Database позволяет реализовать механизм транзакций, как было по­казано в главе, посвященной навигационному способу доступа к данным. Одна­ко наиболее часто эти компоненты применяются именно при работе с удален­ными базами.

Часть компонентов, например, клиентский набор данных ClientDataSet и со­единение с сервером DCOMConnection, предназначена для работы в трехзвенной архитектуре "клиент-сервер" ("тонкий" клиент) и используется для построения сервера приложений.

В основе операций, выполняемых с удаленными БД как с помощью инструмен­тальных средств, так и программно, лежит язык SQL. Например, при создании таблицы с помощью программы IBConsole (в ее окне Interactive SQL) необхо­димо набрать и выполнить SQL-запрос (оператор) create table. Если создание таблицы осуществляется из приложения пользователя, то для этой цели исполь­зуется набор данных Query, который выполняет такой же запрос. Различие за­ключается в основном в том, каким образом выполняется SQL-запрос к удален­ной БД.

Итак, для удаленных БД разница между средствами, используемыми в приложе­нии, и инструментальными средствами намного меньше, чем для локальных баз данных. Поэтому далее для удаленных БД использование инструментальных средств (на примере программы IBConsole) и создание приложений рассматри­ваются параллельно.