* Добавлен набор символов по умолчанию, который установлен в ISO8859_1, со- - вместимый с данными на английском языке в empdml.sql.
* Был добавлен оператор SET SQL DIALECT 3, поскольку без него некоторые инструменты создавали базу данных с диалектом 1, а отдельные эксперименты, которые проводились с родным диалектом SQL Firebird, завершались с ошибкой или давали неожиданный результат.
* Был добавлен полный путь в оператор CREATE DATABASE, чтобы показать, как реально создаются базы данных. Эта строка создает базу данных на сервере POSIX в каталоге с именем /data/examples. Закомментированная строка будет создавать базу данных в каталоге C:\data\examples. Комментируйте, убирайте комментарий и изменяйте код в соответствии с вашими потребностями.
* Кавычки в пути у CREATE DATABASE были заменены на апострофы.
* Скрипт empdml.sql начинается с оператора SET NAMES ISO8859_I для обеспечения того, что дальнейшие текстовые данные будут сохраняться в правильном наборе символов.
Несмотря на эти небольшие изменения, база данных Employee остается в значительной степени тем, чем она всегда и была, - примером того, как не надо проектировать базы данных! Новый пример базы данных для Firebird сейчас создается. Он должен быть готов к концу 2004 года на http://www.apress.com и на других сайтах сообщества Firebird. В конце концов этот пример будет поставляться в комплекте Firebird.
Приложение 7. Ограничения Firebird
Большинство фактических ограничений Firebird практически шире того, что нужно в программах. Например, вы можете определить до 32 767 [169] На самом деле, как показывает практика, не более 16 000 столбцов INTEGER.- Прим. науч. ред.
столбцов в таблице, однако зачем вы будете это делать? В табл. 7.1 представлены теоретические и практические ограничения, применимые к Firebird 1.0.x и 1.5. Некоторые из этих ограничений будут изменены в сторону улучшения в следующих версиях, так что просматривайте заметки по релизу, чтобы отследить изменения.
Таблица П7.1. Ограничения Firebird 1.0.x и 1.5
Объект
|
Элемент
|
Firebird 1.0.x
|
Firebird 1.5
|
Замечания
|
Идентификаторы
|
Почти все объекты
|
31 символ
|
31 символ
|
Нельзя использовать символы вне диапазона US ASCII (ASCIIZ)
|
|
Имена ограничений
|
27 символов
|
27 символов
|
|
Даты
|
Самые ранние и самые поздние даты
|
|
|
января 100 г.
|
|
Самая поздняя
|
|
|
31 декабря 9999 г. Замечание: считается, что сервер может аварийно завершаться, если системная дата на сервере установлена больше, чем 2039 [170] Мало какие нынешние приложения переживут 19 января 2038 года - это проблема переполнения даты еще более худшая, чем проблема 2000 года. Устаревший формат даты в языке С (структура time t) не способен хранить года более 2038. С другой стороны, так долго приложения не эксплуатируются, а для внедряемой сейчас 64-битовой архитектуры и новых приложений такой проблемы нет. - Прим. науч. ред. .
|
Сервер
|
Максимальное количество подключенных клиентов [171] 3 Это число больше реального числа, которое способна обеспечить операционная система. Например, RedHat Linux без изменения настроек и перекомпиляции ядра допускает до -600 соединений. Чаще всего проблема с числом соединений возникает из за "несконфигурированного" xinetd на Linux, где по умолчанию задано ограничение в -50-60 соединений на конкретное приложение. - Прим. науч. ред.
|
024 (TCP/IP)
|
024 (TCP/IP)
|
Теоретическое ограничение меньше для Windows с именованными каналами (NetBEUI) - сервер, скорее всего, зависнет при более чем 930 одновременных соединениях. Практически нормальным будет не более 150 одновременных подключений клиентов Суперсервера при обычных интерактивных приложениях для сервера с низкими спецификациями. Для Классического сервера это количество может быть меньше по причине того, что каждый клиент использует больше ресурсов
|
|
Максимальное количество баз данных, открытых в одной транзакции
|
|
|
Количество баз данных, открытых при запуске транзакции с помощью isc_start_multiple(), ограничивается только доступными системными ресурсами. Транзакция, запущенная с помощью isc start transaction(), ограничивает количество одновременно подключенных баз данных 16
|
База данных
|
Количество таблиц
|
32 767
|
32 767
|
|
|
Максимальный размер
|
7 Тбайт
|
7 Тбайт
|
Приблизительное теоретическое ограничение. Не известна база данных Firebird с таким количеством записей, чтобы ее размер превышал 7 Тбайт
|
Читать дальше