Выбрать главу

Оператор CONNECT

Оператор CONNECT является стандартным оператором SQL для соединения с базой данных. Здесь предполагается, что вы пока не изменили пароль у пользователя SYSDBA. Если вы это уже сделали (что рекомендуется), то используйте ваш пароль пользователя SYSDBA.

Каждый из операторов командной строки в следующих примерах является одним оператором.

Для соединения с сервером Linux/UNIX введите:

SQL> CONNECT 'hotchicken:/opt/firebird/examples/employee.fdb' user 'sysdba' password 'masterkey';

Для соединения с сервером Windows:

SQL> CONNECT

'WINSERVER:С:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb'

user 'SYSDBA' password 'masterkey';

! ! !

ПРИМЕЧАНИЕ. В Классическом сервере под Linux и в Суперсервере под Windows существует возможность соединения с базой данных локально, например:

CONNECT '/opt/firebird/examples/employee.fdb' - Linux Классический сервер.

CONNECT 'c:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb' - Windows Суперсервер.

. ! .

Убедитесь, что вы заканчиваете каждый оператор SQL символом точка с запятой (;). Если вы забудете это сделать, то увидите следующее в подсказке продолжения утилиты isqclass="underline"

CON>

Когда вы увидите подсказку продолжения, просто введите точку с запятой и нажмите клавишу <Enter/Return>. В этот момент isql проинформирует вас, что вы соединены:

DATABASE 'hotchicken:/opt/firebird/examples/employee.fdb', User: sysdba SQL>

Если сервер работает под Windows, вы увидите следующее:

DATABASE "WINSERVER:С:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb",

User: sysdba

SQL>

Продолжим играть с базой данных employee.fdb. Вы можете использовать isql для запроса данных, получения информации о метаданных, создания объектов базы данных, выполнения скриптов определения данных и многого другого.

Чтобы вернуться к подсказке командной строки, введите

SQL> QUIT;

Создание базы данных с использованием isql

Существует более одного способа создания базы данных с использованием isql. Здесь приведен один простой способ интерактивного создания базы данных - тем не менее для работы с серьезной базой данных вы должны создавать и поддерживать объекты метаданных, используя скрипты определения данных (они также называются скриптами DDL, скриптами SQL, скриптами метаданных и скриптами схемы). Эта тема детально рассматривается в разд. "Скрипты схемы"главы 14.

Если сейчас вы соединены с базой данных через утилиту isql, отсоединитесь с помощью следующей команды:

SQL> QUIT;

Затем заново стартуйте утилиту без соединения с базой данных. Для сервера Linux:

[chick@hotchicken]# ./isql

Use CONNECT or CREATE DATABASE to specify a database

Для сервера Windows:

С:\Program Files\Firebird\Firebird_1_5\bin>isql Use CONNECT or CREATE DATABASE to specify a database

Оператор CREATE DATABASE

Теперь вы можете создать вашу новую базу данных интерактивно. Предположим, что вы хотите создать базу данных test.fdb на сервере Windows и сохранить ее в каталоге data на диске D:

SQL> CREATE DATABASE 'D:\data\test.fdb' user 'SYSDBA' password 'masterkey';

База данных будет создана, и через некоторое время снова появится подсказка. Теперь вы соединены с новой базой данных и можете продолжать создавать в ней тестовые объекты.

Для проверки того, что база данных действительно существует, введите запрос:

SQL> SELECT * FROM RDB$RELATIONS; <нажмите Enter>

Экран будет заполнен большим количеством данных! Этот запрос выбирает все строки из системной таблицы, в которой Firebird сохраняет метаданные для таблиц. "Пустая" база данных не является пустой - она содержит базу данных, которая будет заполняться метаданными, как только вы начнете в ней создавать объекты.

! ! !

СОВЕТ. Почти все объекты метаданных в базах данных Firebird имеют идентификаторы, начинающиеся с символов "RDB$".

. ! .

Чтобы вернуться назад в подсказку командной строки, введите:

SQL> QUIT;

Полную информации по использованию isql см. в главе 57.

Пора дальше

Часть II рассказывает об архитектуре клиент-сервер. В главе 5 рассматривается терминология и различные модели реализации сетей клиент-сервер. В главах 6 и 7 более подробно рассматриваются серверы и клиенты Firebird соответственно.

ЧАСТЬ II. Клиент-сервер.

ГЛАВА 5. Введение в архитектуру клиент-сервер.

Обычно система клиент-сервер является парой программных модулей, разработанных для связи друг с другом через сеть посредством согласованного протокола. Клиентский модуль отправляет запросы через сеть слушающей программе сервера, а сервер отвечает на запросы.

Например, клиент электронной почты направляет сообщение по сети на почтовый сервер с требованием к серверу перенаправить это сообщение по адресу какого-то сервера. Если запрос соответствует принятому протоколу и адрес назначения является действительным, сервер реагирует, перенаправляя сообщение и возвращая клиенту подтверждение.

Ключевой принцип в том, что задача расщепляется - или распределяется - между двумя программными компонентами, которые выполняются независимо на двух физически разделенных компьютерах. Эта модель даже не требует, чтобы компоненты выполнялись в совместимых операционных или файловых системах. Клиент электронной почты должен быть почтовой клиентской программой, которая выполняется под Windows, Mac или любой другой операционной системой, а почтовый сервер обычно выполняется в системах UNIX или Linux. Клиентская и серверная программы способны успешно взаимодействовать, поскольку они были спроектированы функционально совместимыми.

В системе клиент-серверной базы данных модель идентична. На хост-машине в сети выполняется программа, которая управляет базами данных и клиентскими соединениями - сервер базы данных. Он расположен на узле сети, который известен клиентским программам, выполняющимся в других узлах сети. Сервер слушает запросы из сети от клиентов, которые хотят соединиться с базой данных, а также от других клиентов, которые уже соединены с базами данных.

В примере с электронной почтой протокол коммуникации имеет два уровня. Как и система электронной почты, система баз данных клиент-сервер использует стандартный сетевой протокол и перекрывает его другими протоколами специального назначения. Для электронной почты перекрытие (overlay) будет POP3, IMAP и SMTP; для системы базы данных это протоколы соединения с базой данных, безопасности, переноса данных и языка.

Базы данных клиент-сервер в сравнении с файл-серверами

Системы совместного доступа к файлам являются другим примером систем клиент- сервер. Файловые серверы и серверы файловых систем обслуживают запросы клиентов к файлам и файловым системам иногда весьма запутанными способами. Примеры этому- сервисы NFS, Windows Named Pipes и NetBEUI. Файловый сервер предоставляет клиентам доступ к файлам так, что клиентская машина может читать и писать в памяти сервера, как если бы операции ввода/вывода проводились в ее собственной локальной системе памяти.

Настольная система управления данными имеет недостаток - собственная внутренняя реализация управления запросами ввода/вывода, поступающими из сети, сама является клиентом файлового сервера. Когда сервер получает запросы на ввод/вывод от своих клиентов, он полагается на средства управления операционной системы для обеспечения центрального блокирования и организации очереди, необходимые для управления конфликтными запросами.

Такие файл-серверные СУБД не являются клиент-серверными системами баз данных. Программное обеспечение клиента и СУБД- клиенты сервера совместного доступа к файлам. Хотя входной и часто выходной потоки являются до известной степени управляемыми программой СУБД, физическая целостность данных находится под управлением сервисов файловой системы.