Чтобы вернуться к подсказке командной строки, введите
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. Файловый сервер предоставляет клиентам доступ к файлам так, что клиентская машина может читать и писать в памяти сервера, как если бы операции ввода/вывода проводились в ее собственной локальной системе памяти.
Настольная система управления данными имеет недостаток - собственная внутренняя реализация управления запросами ввода/вывода, поступающими из сети, сама является клиентом файлового сервера. Когда сервер получает запросы на ввод/вывод от своих клиентов, он полагается на средства управления операционной системы для обеспечения центрального блокирования и организации очереди, необходимые для управления конфликтными запросами.
Такие файл-серверные СУБД не являются клиент-серверными системами баз данных. Программное обеспечение клиента и СУБД- клиенты сервера совместного доступа к файлам. Хотя входной и часто выходной потоки являются до известной степени управляемыми программой СУБД, физическая целостность данных находится под управлением сервисов файловой системы.
В базах данных клиент-сервер клиенты - даже если они расположены на той же машине, что и сервер, - никогда не обращаются к физическим данным, кроме как отправляя сообщения серверу с указанием того, что они хотят сделать. Сервер самостоятельно обрабатывает эти сообщения и выполняет запросы, управляя обращениями к дискам и правами доступа. Сервер также выполняет все физические изменения метаданных и структур хранения данных, используя физическую структуру на диске (On-Disk Structure, ODS), которая независима от программ ввода/вывода файловой системы хоста.
Характеристики СУБД клиент-сервер
Масштабируемость
Появление сравнительно недорогих компьютерных сетей между 1980-ми и 1990-ми годами вызвало увеличенный спрос на масштабируемые информационные системы с дружественным пользователю интерфейсом. Программное обеспечение электронных таблиц и настольных баз данных, а также графический интерфейс дали пользователям, не являющимся специалистами, понимание мощности использования компьютеров. Когда совместное использование файлов в сетях и различного вида программного обеспечения стало стандартной практикой на больших предприятиях, заказчики запросили большего. Настольные и основанные на локальных сетях (Local Area Network, LAN ) системы управления данными также стали использоваться и в весьма малых бизнесах. Сегодня практически немыслимо проектировать информационную систему предприятия для монолитной модели на мэйнфрейме с текстовым терминалом.
Масштабируемость оценивается в двух размерностях: горизонтальной и вертикальной. Горизонтальная масштабируемость - способность системы добавлять дополнительных пользователей без воздействия на возможности программного обеспечения или используемые ресурсы. Вертикальная масштабируемость связана с тем, что будет сделано для переноса системы на более простые или более сложные платформы и конфигурации аппаратных средств в ответ на изменение требований нагрузки и доступа. Диапазон меняется от нижнего уровня - например, сделать систему доступной для пользователей мобильных устройств - до верхнего уровня, который не имеет концептуальных ограничений.
Функциональная совместимость
Архитектура клиент-сервер для систем баз данных развивалась как ответ на уязвимость, низкий уровень нагрузки и ограничения по скорости модели базы данных совместного доступа к файлам в компьютерных сетях при потребности увеличения количества пользователей. Острая необходимость в этом совпала с параллельной разработкой языка SQL. Оба направления отчасти были стратегиями нейтрализации зависимости аппаратного обеспечения мэйнфреймов и программного обеспечения, которая преобладала в 1980-x годах. Настоящая архитектура баз данных клиент- сервер является неоднородной и функционально совместимой (интероперабельной) - она не ограничивается одной платформой аппаратных средств или одной операционной системой. Эта модель позволяет клиентам и серверам независимо размещаться в узлах сети на аппаратных средствах и в операционных системах, соответствующих их функциям. Приложения клиентов могут одновременно связываться с множеством серверов, выполняющихся в различных операционных системах.