Для синтаксических шаблонов применяются определенные соглашения по используемым символам. Для иллюстрации этих соглашений возьмем из главы 20 пример, показывающий синтаксический шаблон для оператора SQL SELECT:
SELECT
[FIRST (m) ] [SKIP (n) ] [[ALL] | DISTINCT]
<список-столбцов> [, [ими столбца] | выражение | константа ]
AS имя-алиаса
FROM <таблица-или-процедура-или-просмотр>
[{[INNER] | [{LEFT | RIGHT | FULL} [OUTER]] JOIN}]
<таблица -или-процедура -или-просмотр>
ON <условия-соединения> [{JOIN..}]
[WHERE <условия-поиска>]
[GROUP BY <список-группируемых столбцов>]
[HAVING <условие-поиска>]
[OTIION <выражение-выбора> [ALL] ]
[PLAN <выражение-плана>]
[ORDER BY <список-столбцов>]
[FOR UPDATE [OF столбец1 [, столбец2. .]] [WITH LOCK]]
Специальные символы
Элементы (ключевые слова, параметры), которые обязательны во всех случаях, появляются без каких-либо дополнительных пометок, они выделены таким шрифтом, как и весь код в книге. В предыдущем примере ключевые слова SELECT и FROM являются обязательными для каждого оператора SELECT.
Некоторые символы, которые никогда не появляются в операторах SQL или в командах командной строки, используются в синтаксических шаблонах для указания особых правил по их использованию. Это символы [],{}, |, <строка> и ... (многоточие). Они используются в шаблонах следующим образом.
Квадратные скобки [ ] указывают, что элемент(n) в скобках являются необязательными. Когда встречаются вложенные квадратные скобки, то вложенные или внешние элементы являются необязательными.
Фигурные скобки { } указывают, что элементы внутри скобок являются обязательными. Обычное использование фигурных скобок - это представление необязательного элемента (заключенного в квадратные скобки), означающее: "Если необязательный элемент используется, часть, заключенная в фигурные скобки, является обязательной". В предыдущем примере, если используется необязательная явная фраза
JOIN,
[{[INNER] | [{LEFT | RIGHT | FULL} [OUTER]] JOIN}]
то внешняя пара фигурных скобок указывает, что ключевое слово JOIN является обязательным. Внутренняя пара фигурных скобок означает, что если задано соединение OUTER, то оно должно быть определено как LEFT, RIGHT или FULL С необязательным использованием ключевого слова OUTER.
Символ вертикальной черты | используется для разделения взаимоисключающих элементов. В предыдущем примере LEFT, RIGHT и FULL являются взаимоисключающими, также внутреннее (INNER) и внешнее (OUTER) соединения являются взаимоисключающими.
Параметры задаются строкой, которая заключается в угловые скобки < >. Например, [WHERE <условия-поиска>] указывает, что одно или более условий поиска требуется в качестве параметров для необязательного предложения WHERE В синтаксисе оператора SELECT.
В некоторых случаях <строка> может быть сокращением для более сложной конструкции, которая в последующих строках синтаксического шаблона будет раскрываться уровень за уровнем для получения полной детализации. Например, вы можете увидеть приблизительно следующее выражение:
<условия-поиска> = <выражение-столбца> = <константа> ( <выражение>
Пара точек или многоточие ... могут быть использованы в некоторых синтаксических шаблонах для указания того, что текущий элемент является повторяемым.
! ! !
ПРИМЕЧАНИЕ. Ни один из этих символов не является допустимым ни в операторах SQL, ни в командах командной строки[1].
. ! .
Достаточно вводных слов! Первые четыре главы предназначены для того, чтобы вы начали работать с Firebird - загрузка и инсталляция серверных и клиентских программ, изменение некоторых основных установок сети, конфигурирование нескольких установок, если значения по умолчанию не совсем подходят для вашей среды. И, в заключение, в главе 4 начало работы с сервером и базой данных с использованием основного клиентского инструмента.
ЧАСТЬ I. Учебный лагерь.
ГЛАВА 1. Инсталляция.
В этой главе описывается, как получить инсталляционный комплект для платформы, а также версии сервера Firebird, которые вы хотите установить на вашу серверную машину. Полный вариант инсталлятора устанавливает и сервер и клиент на одну машину.
Удаленным клиентам не требуется сервер Firebird вовсе. Процедура инсталляции клиента Firebird несколько изменяется в зависимости от платформы (см. разд. "Инсталляция клиентов" в главе 7). Если вы в Firebird новичок, не пытайтесь устанавливать только клиента, пока не разберетесь, как все части инсталляции по умолчанию соответствуют друг другу.
Системные требования
Память на сервере (все платформы)
Оценка памяти сервера включает множество факторов.
* Работа сервера Firebird. Сервер Firebird осуществляет эффективное использование ресурсов сервера. Суперсервер (Superserver) после старта использует приблизительно 2 Мбайта памяти. Классический сервер (Classic server) в POSIX не использует памяти, пока не установлено клиентское соединение. В Windows небольшие сервисы прослушивают запросы на соединения.
* Клиентские соединения. Каждое соединение с Суперсервером добавляет приблизительно 115 Кбайт, больше или меньше, в соответствии со стилем и характеристиками клиентских приложений, а также спроектированной схемой базы данных. Каждое соединение с Классическим сервером использует приблизительно 2 Мбайта (в зависимости от количества применяемых соединением таблиц, триггеров, процедур и других объектов - может быть и до 30-40 Мбайт. Для баз данных среднего размера - от 4 до 15 Мбайт).
* Кэш базы данных. Значение по умолчанию может конфигурироваться - в страницах базы данных. Суперсервер использует единый кэш (с размером по умолчанию 2048 страниц) для всех соединений и автоматически увеличивает кэш при необходимости. Классический сервер создает индивидуальный кэш (по умолчанию 75 страниц) на каждое соединение.
На основании существующих оценок отводите 64 Мбайта RAM для сервера и 16 Мбайт для локального клиента. Чем больше клиентов вы добавляете, тем больше памяти будет использовано. Базы данных с большим размером страниц используют ресурсы из большего участка памяти, чем базы данных с меньшим размером страниц. Использование ресурсов для Классического сервера увеличивается линейно с каждым новым подключением клиента; для Суперсервера ресурсы разделяются между несколькими подключениями, и будут динамически увеличиваться при необходимости. Firebird 1.5 будет использовать для сортировки, если она необходима, дополнительную RAM. Использование памяти более подробно обсуждается в главе 6.
Инсталляционные диски
Сервер Firebird - и любые базы данных, которые вы создаете или с которыми соединяетесь, - должны находиться на жестком диске, который физически подключен к машине. Вы не можете разместить компоненты сервера или любой базы данных на назначенном диске, в разделяемой файловой системе или в сетевой файловой системе.
Вы не можете запускать сервер Firebird с CD-ROM. При этом вы можете соединяться с базой данных только для чтения, находящейся на устройстве CD-ROM, физически подключенным к серверу[2].
При оценке дискового пространства, необходимого для инсталляции, просмотрите размеры следующих исполняемых файлов. Дисковое пространство сверх указанного минимума требуется для файлов баз данных, оперативных копий (если используются), файлов сортировки, протоколов и копий баз данных.
* Сервер. Минимальная инсталляция сервера требует дискового пространства в пределах от 9 до 12 Мбайт в зависимости от платформы и архитектуры.
1
Квадратные скобки могут присутствовать в операторах DDL для задания размерности массивов. -Прим. перев.
2
Не думайте, что копирование файла базы данных на компакт-диск сделает базу данных базой только для чтения. База данных должна быть сделана только для чтения с использованием утилит gbak или gfix до записи на компакт-диск. См. соответствующие главы по инструментам в части IX.