Оператор 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. Файловый сервер предоставляет клиентам доступ к файлам так, что клиентская машина может читать и писать в памяти сервера, как если бы операции ввода/вывода проводились в ее собственной локальной системе памяти.
Настольная система управления данными имеет недостаток - собственная внутренняя реализация управления запросами ввода/вывода, поступающими из сети, сама является клиентом файлового сервера. Когда сервер получает запросы на ввод/вывод от своих клиентов, он полагается на средства управления операционной системы для обеспечения центрального блокирования и организации очереди, необходимые для управления конфликтными запросами.
Такие файл-серверные СУБД не являются клиент-серверными системами баз данных. Программное обеспечение клиента и СУБД- клиенты сервера совместного доступа к файлам. Хотя входной и часто выходной потоки являются до известной степени управляемыми программой СУБД, физическая целостность данных находится под управлением сервисов файловой системы.