В начало

Лекция 32

Настройка драйверов. Создание таблиц.

Работа с запросами. Примеры

 

Настройка доступа к базе данных выполняется для серверов баз данных. Она рассматривается на примере операционной системы Microsoft Windows XP, СУБД Postgres v.8.2,  среды разработки Borland Delphi v.7.

Перед настройкой доступа к базе данных создается новая база данных (логическая), а также добавляются пользователи, от имени которых будет осуществляться работа с СУБД. Эти действия выполняются с помощью средств администрирования, входящих в состав СУБД.

32.1. Настройка драйверов и системной информации

После установки СУБД необходима ее настройка[1]. Обычно такая настройка сводится к установке и настройке драйверов СУБД, необходимых для работы с ней из других приложений, а также к заданию некоторых параметров СУБД, влияющих на ее функционирование.

В подавляющем большинстве случаев, основной драйвер для доступа к СУБД (по протоколу TCP/IP) устанавливается и настраивается автоматически в процессе инсталляции СУБД. Наибольшее распространение получили драйверы для следующих технологий доступа к СУБД:

      ODBC (Open Database Connectivity) – унифицированный доступ к СУБД из языка программирования высокого уровня;

      JDBC (Java Database Connectivity) – платформонезависимый доступ к СУБД из языка программирования Java;

      ADO (ActiveX Data Objects) – более современный доступ к базам данных, пришедший на смену ODBC.

Существует также драйвер-мост (bridge) ODBC-JDBC. Это JDBC-драйвер, но не к СУБД, а к ODBC-драйверу. Он используется в сложных случаях при отсутствии JDBC-драйвера (например, когда для новой СУБД еще не создан JDBC-драйвер). Обычно, такая цепочка ODBC-JDBC работает ненадежно (ограничиваются доступные функции языка SQL, снижается быстродействие).

Драйверы для перечисленных технологий поставляются в составе инсталлятора СУБД или в виде отдельных инсталляторов (в зависимости от политики производителя). В первом случае при установке СУБД предлагается и установка таких драйверов. Во втором случае, дополнительные драйверы должны быть установлены отдельно.

Обычно настройка ODBC-драйвера сводится к созданию и настройке источника данных (базы данных). Часть параметров может задаваться при соединении с сервером базы данных. Таким образом, часть настроек может задаваться статически, а часть – динамически. Причем эти множества настроек могут иметь пересечения, но в большинстве случаев не совпадают.

Управление такими источниками данных производится с помощью средства администрирования «Источники данных (ODBC)» (Пуск – Панель управления – Администрирование – Источники данных). При его запуске на экране появляется следующее окно (слайд 4). При нажатии на кнопку «Добавить» пользователю предоставляется возможность выбора ODBC-драйвера (из списка установленных). Затем появляется окно редактирования параметров источника данных (оно же возникает при нажатии на кнопку «Настройка» для существующего источника).

Внешний вид окна и состав параметров зависят от выбранной СУБД и могут сильно различаться (на слайде 5 приведен пример окна настройки СУБД Postgres v.8.2).

Однако в подавляющем большинстве случаев необходимо задать:

        логическое имя источника данных;

        логическое имя базы данных на сервере;

        имя (или ip-адрес) и номер порта сервера базы данных (в сети);

        логин и пароль пользователя (в базе данных), от имени которого будет осуществляться доступ.

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

Настройка JDBC-драйвера обычно устроена более сложно (слайд 7). Сам драйвер может представлять собой файл DLL или пакет языка Java (*.jar). При этом часть настроек задается в файле конфигурации, а часть может задаваться динамически при обращении к драйверу.

Для использования технологии ADO можно пользоваться и ODBC-драйверами. Однако в состав некоторых современных СУБД (например, Postgres) включаются специальные драйверы для использования с технологией ADO (слайд 8).

Для СУБД, не предоставляющих доступ к базе данных по технологии клиент-сервер, создание и настройка источников информации могут производиться несколько иным способом. Например, при настройке источника данных СУБД MS Access необходимо выбрать файл базы данных (*.mdb). Если такой файл размещен на сервере (или другой машине), к нему должен быть предоставлен доступ. В случае СУБД MS Visual FoxPro предоставляется выбор: указать при настройке источника данных файл базы данных (*.dbc) или указать путь к файлам – отдельным таблицам базы данных.

32.2. Создание таблиц

Как отмечалось выше, создание таблиц в базе данных возможно несколькими способами:

1)   путем выполнения сценария;

2)   через встроенные средства администрирования СУБД;

3)   с помощью CASE-средств;

4)   средствами языка программирования;

5)   с помощью среды разработки языка программирования.

В промышленных условиях наибольшее распространение получил первый способ. Сценарий представляет собой текстовый файл, содержащий множество команд создания таблиц на языке SQL (create table) (слайд 11). Он запускается на выполнение с помощью средств администрирования, водящих в комплект поставки СУБД. В результате создается база данных с заданной структурой. В сценарий также могут помещаться команды создания триггеров, хранимых процедур, индексов, представлений и т.п. Обычно, в начале сценария обычно помещают команды удаления (drop table) одноименных таблиц. Это позволяет снизить трудоемкость изменения структуры базы данных. Достаточно отредактировать сценарий и снова запустить его.

Второй способ предполагает использование встроенных средств администрирования СУБД (в том числе визуальных). В некоторых СУБД такие визуальные средства входят в стандартный комплект поставки (например, в MS SQL Server, Oracle Database, MS Visual FoxPro и т.п.), а в других либо не поставляются вообще, либо поставляются сторонними разработчиками. Следует отметить, что в промышленных условиях этот способ чаще используется для оперативного изменения структуры базы данных.

Основой для третьего способа (слайд 12) служит то обстоятельство, что общие принципы структурного моделирования реляционных баз данных унифицированы, разработаны соответствующие стандарты (например, IDEF1x). Это позволило создать достаточно универсальные автоматизированные инструменты (CASE-средства) для управления структурой базы данных (например, AllFusion ERWin Data Modeler). Преимущество такого способа заключается в том, что CASE-средства как правило поддерживают несколько СУБД разных производителей, а также реализуют дополнительные механизмы (например, автоматизированное преобразование концептуальной информационной модели в структуру базы данных).

Четвертый способ предполагает управление структурой базы данных путем выполнения соответствующих SQL-команд (create table, alter table, drop table). Он является наиболее сложным и поэтому имеет ограниченное применение. Например, в специфических ситуациях, когда структуру базы данных необходимо корректировать в ходе эксплуатации приложения.

Последним пятым способом является применение встроенных средств управления структурой базы данных, которые входят в состав некоторых сред разработки. Например, в Borland Delphi v.7 имеется средство Database Desktop. Оно позволяет управлять структурой локальной базы данных. Средство SQL Explorer позволяет просматривать структуру баз данных, создавать новые базы данных, а также при необходимости управлять их структурой путем выполнения соответствующих SQL-команд.

32.3. Работа с запросами

Как отмечалось выше, запросы к базе данных можно выполнять следующими способами:

        с помощью общих невизуальных компонентов языка программирования;

        с помощью параметризованных запросов.

В первом случае основное внимание разработчика сосредоточено на настройке (по большей части в визуальном режиме) соответствующих компонентов. Этот способ в чем-то напоминает метод формирования запросов в языке QBE (Query By Example).

Во втором случае используется компонент обработки запросов (например, типа TQuery). При этом основное внимание разработчика сосредоточено на построении SQL-выражения.

Первый способ является более быстрым. Второй обладает большей гибкостью и большей переносимостью (SQL-запрос можно, например, оформить в виде хранимой процедуры в базе данных).

Преимущество источников данных в операционной системе Microsoft Windows заключается в унификации работы как с локальными, так и с удаленными базами данных. Это может быть важно, например, на начальных стадиях создания приложения, когда каждый разработчик использует свою локальную копию базы данных.

 

 



[1] Часть настроек выполняется в процессе установки СУБД.