SQLBase 8.5: легкость обновления
© Мартин Титз (Martin Teetz), Gupta Technologies
Переведено БНТП по заказу Interface Ltd.
В данной статье подчеркнуты преимущества обновления программного продукта
SQLBase компании Gupta Technologies до SQLBase 8.5, достигнутые за счет введения
новых возможностей, и дается информация о том, что эти новые возможности реально
означают для разработчиков и конечных пользователей SQLBase.
Введение
SQLBase является основным продуктом компании Gupta Technologies, который обеспечивает
поддержку технологии, необходимой для работы современных корпоративных приложений,
независимо от того, рассредоточены ли эти приложения в сетях интернет или интранет,
или их предполагается эксплуатировать в высокоинтегрированной, распределенной
среде.
С помощью SQLBase компании смогут осуществлять управление данными далеко за
пределами корпоративного информационного центра, не требуя обслуживания со
стороны администраторов и выделения значительных ресурсов. Самым важным качеством
SQLBase является то, что этот продукт может значительно сократить общую стоимость
разработки и развертывания удаленных приложений со встроенной базой данных.
Благодаря своим новым функциональным возможностям, кардинальным улучшениям
технологии, а также внедрению развивающихся отраслевых стандартов, SQLBase
8.5 великолепно поддерживает развитие бизнес-приложений.
Применение SQLBase 8.5 значительно увеличивает возможности бизнес-приложений
за счет следующих особенностей:
- дальнейшее сокращение расходов, связанных с сопровождением;
- новая версия быстрее и обладает улучшенной производительностью;
- обеспечивается большая гибкость за счет применения нового синтаксиса объединений
ANSI SQL99;
- предлагается исключительная по своим возможностям поддержка встроенных
систем, позволяющая работать на одном компьютере с несколькими приложениями
независимых
поставщиков программного обеспечения;
- обеспечивается гладкое обновление до SQLBase 8.5.
Новые возможности SQLBase 8.5
Множественные внешние объединения и синтаксис объединений SQL99
SQLBase 8.5 позволяет сократить время разработки за счет поддержки множественных
внешних объединений (multiple outer-joins). Почему это важно? Это означает,
что запросы, отвечающие стандарту SQL99 ANSI, будут работать для всех провайдеров
баз данных, поддерживающих данный стандарт. SQLBase 8.5 включает в себя полный
синтаксис объединений ANSI/SQL99, в том числе такие типы объединений, как inner
join, natural join, right join, left join, full outer join. SQLBase
8.5 предоставляет
эти новые возможности в лучшем стиле SQLBase – экономично, интеллектуально
и быстро. Кроме того, SQLBase сохраняет свои требования к памяти на низком
уровне, при этом, позволяя выполнять современные сложные запросы с использованием
полного синтаксиса объединений ANSI, включая Multiple Outer Joins (множественные
внешние объединения).
Новые возможности:
- Right Outer Join, Left Outer Join, Full Outer Join: Анализ данных, использующий
новый синтаксис внешних объединений, включая внешние объединения, в SQLBase
8.5 осуществляется очень легко. Опрашивание всех клиентов, составление счетов-фактур
и фактурных пунктов, включающих клиентов, не имеющих счетов-фактур, или фактурных
пунктов без клиентских ассигнований, выполняются в SQLBase 8.5 в один щелчок.
- Natural Join: Новый синтаксис объединений ANSI SQL99 существенно сокращает
усилия по набору SQL-запросов. В типе объединения "Natural Join" автоматически
детектируются ключевые столбцы, которые будут использоваться для объединения.
Поэтому нет необходимости описывать ключевые столбцы в соответствующем утверждении.
Очень важной возможностью для разработчиков приложений является оптимизация
SQL-предложений для их обработки базами данных SQLBase, SQL Server или Oracle.
Это позволяет уменьшить объем кодирования для приложений, работающих с базами
данных различных типов.
- Join Using: Отличие от типа объединения Natural Join состоит в том, что
в данном случае столбец объединения указывается в используемом операторе.
К тому
же, для разработчиков приложений важна возможность оптимизации тех же
самых SQL-последовательностей для их обработки на нескольких серверах, поддерживающих
синтаксис объединений SQL99.
- Join On: Тип объединения Join on похож на старый синтаксис объединений,
но позволяет любой базе данных, поддерживающей синтаксис объединений
SQL99, выполнять
SQL-запросы.
Что это реально означает?
- Использование синтаксиса объединений SQL99 позволяет создавать код приложений,
сходный для различных серверов, таких как SQLBase, Oracle и SQL Server.
Это означает уменьшение усилий на написание кода для приложений, работающих
с несколькими
базами данных.
- Синтаксис объединений SQL99 включает в себя поддержку множественных внешних
объединений. При использовании SQLBase 8.5 обработка запросов на анализ
сложных данных значительно упрощается.
- Новый синтаксис SQL99 позволяет значительно сократить усилия по набору
SQL-предложений. Например, тип объединения Join Using автоматически
определяет правильные столбцы
объединений в объединенных таблицах.
- Некоторые средства обработки запросов и отчетов, например Crystal Reports
9, требуют использования синтаксиса объединений SQL99. Crystal Reports
9 генерирует запросы в терминах SQL99 и посылает их SQLBase, используя
драйвера
соединений
OLEDB или ODBC. Такие запросы не обрабатывается более ранними версиями
SQLBase.
Как это работает?
Любой клиент, взаимодействующий с SQLBase 8.5, может использовать новый синтаксис
объединений ANSI SQL99. Для демонстрации подобного использования компания Gupta
создала несколько примеров работы с инструментом SQLTalk и поставляемой в качестве
примера базой данных Island.
- Применение синтаксиса объединений ANSI SQL99 может быть сделано доступным
во время установки SQLBase 8.5 или позднее, используя в конфигурационном файле
ключевое слово ansijoinsyntax=0/1. Значение параметра Ansijoinsyntax, равное
0, означает, что SQLBase 8.5 работает в режиме обратной совместимости и не
допускает употребления синтаксиса ANSI SQL99. Этот режим может применяться,
если заказчик не желает изменять объекты своей базы данных в случае, когда
они содержат некоторые новые ключевые слова, зарезервированные в SQLBase
8.5.
Если ansijoinsyntax=1, то можно использовать преимущества нового синтаксиса
объединений, например, типы объединений natural join, join using и join on.
В приведенной ниже таблице перечислены эти четыре варианта применения нового
синтаксиса объединений в SQLBase 8.5 для простого объединения двух таблиц.
Первая синтаксическая последовательность использует старый синтаксис объединений
SQL89. Все четыре выбранных утверждения дают тот же результат. Это можно проверить
на примере работы SQLTalk с базой данных Island.
Вид объединения |
SQL -предложение |
SQL89 Equal Join |
select * from company, invoice where company.company_id = invoice.company_id; |
SQL99 Natural Join |
select * from company natural join invoice; |
SQL99 Join Using |
Select * from company join invoice using (company_id); |
SQL99 Join On |
Select * from company join invoice on company.company_id = invoice.company_id; |
- Тип Outer Joins является активным, когда синтаксис ANSI SQL99 доступен
для использования в SQLBase 8.5. Запросы могут содержать любое количество
типов Left Outer Join, Right Outer Joins, Full Outer Join и их комбинаций.
Для тестирования нового синтаксиса можно просто обработать соответствующие
запросы инструментом SQLTalk в сочетании с эталонной базой данных Island.
В приведенном примере используются типы объединений natural join для сокращения
усилий по набору SQL-команд.
Вид внешнего объединения |
SQL -предложение Select |
Left Outer Join |
select company_name, cont_first_name, cont_last_name from company natural
left outer join contact; |
Right Outer Join |
select company_name, cont_first_name, cont_last_name from company natural
right outer join contact; |
Full Outer Join |
select company_name, cont_first_name, cont_last_name from company natural
full outer join contact; |
- Под Multiple Outer Joins подразумевается произвольное число комбинаций
типов right outer joins, left outer joins и full outer joins. Ниже приведены
примеры, основанные на эталонной базе данных Island. Запросы, приведенные
в расположенной ниже таблице, можно использовать для тестирования нового
синтаксиса в SQLTalk. При употреблении типов outer joins происходит извлечение
всех строк из объединенных таблиц, даже в случае, когда в объединенной таблице
отсутствуют ассоциированные строки. Примером может служить запрос о получении
данных обо всех клиентах и их заказах, включая тех клиентов, которые не имеют
заказов. Пункты, отвечающие данным о заказах, будут пусты (значение NULL)
для клиентов, не имеющих заказов.
Вид множественного внешнего объединения |
SQL -предложение Select |
Multiple Left Outer Join |
select company.company_name, invoice_date, amount_paid, item_no, style
from company natural left outer join invoice natural left outer join invoice_item; |
Multiple Right Outer Join |
select company.company_name, invoice_date, amount_paid, item_no, style
from company natural right outer join invoice natural right outer join
invoice_item; |
Multiple Full Outer Join |
select company.company_name, invoice_date, amount_paid, item_no, style
from company natural full outer join invoice natural left outer join invoice_item; |
Mixed Multiple Outer Join |
select company.company_name, invoice_date, amount_paid, item_no, style
from company natural full outer join invoice natural right outer join invoice_item; |
- Nested Multiple Outer Joins являются примером продвинутого использования
типов объединений Multiple Outer Joins. Для получения в ответ на запрос желаемых
результатов можно группировать объединенные таблицы, используя круглые скобки.
Заключенные в скобки типы outer joins выполняются в первую очередь и могут
рассматриваться как временная таблица, которая в конечном результате будет
объединена с таблицами, получаемыми в результате обработки командных последовательностей
вне скобок.
Вложенное множественное внешнее объединение |
SQL -предложение Select |
|
select company.company_name, invoice_date, amount_paid, item_no, style
from company natural full outer join ( invoice natural full outer join
invoice_item ); |
|
select company.company_name, invoice_date, amount_paid, item_no, style
from ( company natural full outer join invoice ) natural right outer join
invoice_item; |
|
select company.company_name, invoice_date, amount_paid, item_no, style
from ( company natural full outer join invoice ) natural full outer join
invoice_item; |
Множественные, изолированные инсталляции SQLBase
Более простая процедура установки сокращает затрачиваемое на поддержку время.
SQLBase является мировым лидером на рынке встроенных баз данных. Из-за такой
популярности в процессе установки СУБД у заказчика могут возникнуть некоторые
сложности, если его клиенты работают с приложениями, использующими другую версию
SQLBase. Например, пользователи некоторых самых популярных приложений для работы
с платежными ведомостями, персональными финансовыми ресурсами или программного
обеспечения для мелкооптовой поставки товаров (во все эти приложения встроена
SQLBase) могут создать заказчику сложности с установкой и поддержкой СУБД.
Теперь эти трудности остались в прошлом. Любое приложение, использующее SQLBase
8.5, может быть установлено без всяких сложностей с конфигурированием. Приложение
со встроенной СУБД SQLBase 8.5 может работать в полной изоляции от существующих
старых инсталляций SQLBase, без всяких конфликтов с конфигурационным файлом
SQL.INI или динамическими файлами SQLBase в рамках архитектуры клиент-сервер.
Теперь приложение со встроенной СУБД SQLBase может иметь конфигурационный файл
с произвольным именем, например "yourinifile.ini". Файл SQL.INI больше
не является необходимым. Клиентские и серверная части SQLBase 8.5 могут использовать
любой заданный конфигурационный файл. Все драйвера в SQLBase, такие как JDBC,
OLEDB, ODBC, а также поставщики данных .NET и интерфейс SQLBase API поддерживают
конфигурационные файлы с произвольным названием. SQLBase 8.5 обеспечивает развертывание
и успешную работу приложений даже тогда, когда целевая система обладает другой
инсталляцией SQLBase, даже более ранней версии. Это уникальное свойство еще
больше уменьшает совокупную стоимость владения SQLBase, за счет значительного
сокращения усилий на поддержку процесса установки приложений.
Новые возможности
- Одновременный запуск нескольких копий SQLBase 8.5 на одном и том же компьютере.
- Одновременная работа SQLBase 8.5 и более ранних версий на одном и том
же компьютере.
- Полная изоляция клиентской части SQLBase.
- Полная изоляция серверной части SQLBase.
- Допускаются произвольные имена конфигурационного файла (My.Config.File
и т.п.).
Что это реально означает?
- Безболезненная конфигурация нескольких приложений поставщиков программного
обеспечения со встроенной SQLBase. Приложение, использующее старую версию
SQLBase, и одно или несколько новых приложений со встроенной SQLBase
8.5,
могут одновременно
работать на одном и том же компьютере. Для заказчиков вертикальных приложений
это означает меньше сложностей с установкой и конфигурацией. Кроме того,
это предоставляет больше возможностей в отношении потенциальных заказчиков
для
данного приложения.
- Теперь есть возможность создавать собственные программы установки для
вертикальных приложений, использующих SQLBase, что позволяет таким приложениям
работать
в полной изоляции от других инсталляций SQLBase на любом компьютере заказчика.
Как это работает? Пошаговая инструкция
Пусть клиент уже имеет на своем компьютере установленную СУБД SQLBase версии
8.1 или более поздней и желает установить еще одно приложение, которое должно
использовать SQLBase 8.5. И пусть требуется запустить одновременно, на одном
компьютере и без какого-либо конфликта в конфигурационных настройках, два приложения,
одно из которых использует SQLBase версии 8.1 или старше, а другое версию 8.5.
В предложенном ниже сценарии в качестве программного пакета для SQLBase
8.5 применяется SQLTalk. SQLTalk использован только в качестве примера того, как
клиентское приложение может работать в новых условиях множественных инсталляций.
- Установите SQLBase 8.5 на компьютере, на котором уже установлена SQLBase более старой версии. После установки SQLBase 8.5 образуются два каталога,
содержащих инсталляцию SQLBase. Программа установки SQLBase 8.5 не позволяет
производить
установку поверх существующей инсталляции SQLBase более старой версии. Во
время инсталляции программа установки проверяет, не используется ли предлагаемое
пользователем имя сервера другим сервером. Если имя сервера уже используется,
то пользователю будет предложено ввести другое имя. На предложение программы
установки запустить SQLBase сразу после инсталляции следует ответить "нет",
поскольку, прежде чем начать работать с СУБД, следует изменить несколько
параметров настройки.
- Используйте панель управления, чтобы удалить переменную path в новой инсталляции
SQLBase 8.5. По умолчанию эта переменная задана для сервера SQLBase
8.5 как "c:\Program
Files\Gupta\SQLBase 8.5". В этом случае только приложения, распложенные
в каталоге SQLBase 8.5, будут использовать эту конфигурацию. Все остальные
приложения для SQLBase будут использовать старую инсталляцию. В данном примере
в качестве клиентского приложения выступает SQLTalk.
- После завершения установки SQLBase 8.5 измените название конфигурационного
файла "sql.ini" на "My.SQLBase85.Config".
- Запустите SQLBase Connectivity Administrator из меню запуска (start menu).
Выберите кнопку справа от пути к "sql.ini", чтобы изменить название
конфигурационного файла.
- В диалоговом окне Select Configuration File выберите для конфигурационного
файла новое имя My.SQLBase85.Config и нажмите кнопку Open.
- Выберите SQLBase в древовидном списке инструмента Connectivity Administrator
и нажмите на кнопку Properties. Соответствующее диалоговое окно позволит определить
название клиентской части, которое уже было задано программой установки SQLBase
8.5. Нет необходимости что-либо менять в данном окне. Поле данных для Runtime
Directory можно использовать для указания местоположения рабочих DLL-библиотек
в SQLBase 8.5. Диалоговое окно закрывается нажатием на кнопку Cancel.
- Теперь выберите TCP/IP в древовидном списке и снова нажмите кнопку Properties.
Откроется диалоговое окно TCP/IP Server Settings. В этом окне можно задать
имя файла автозапуска SQLBase и имя конфигурационного файла (по желанию),
которые должны использоваться во время автозапуска сервера. Следует отметить,
что в настоящее время режим автозапуска работает только с протоколом TCP/IP
SQLWS32 при использовании локальных подключений. Первое поле данных диалогового
окна должно быть уже заполнено заданными при установке параметрами. Нажатие
кнопки справа от имени конфигурационного файла открывает новое диалоговое
окно, позволяющее выбрать новый конфигурационный файл. Выберите новый конфигурационный
файл под названием My.SQLBase85.Config и нажмите кнопку Open. Процесс определения
новой конфигурации почти завершен.
- На следующем шаге работы с Connectivity Administrator нужно указать для
новой инсталляции SQLBase 8.5 другой порт TCP/IP. В существующей инсталляции
SQLBase используется порт 2155. В новой инсталляции для клиентской и серверной
частей необходимо задать другой номер порта. Для указания нового IP-порта выберите
строку с именем нужного сервера, которая появляется при выделении в древовидном
списке протокола TCP/IP и нажатии на кнопку Properties. В открывшемся окне
можно указать новый порт. В данном случае для клиента SQLBase можно использовать
порт 2185. Необходимо убедиться в том, что тот же номер порта также используется
и для сервера. В следующем пункте показано, как можно задать для сервера порт
прослушивания (listen port).
- Теперь, на заключительном этапе работы с Connectivity Administrator перейдите
на вкладку Server. Эта вкладка показывает список доступных серверов SQLBase,
включая старую инсталляцию SQLBase. Откройте сервер SQLBase 8.5 из новой
инсталляции, а затем пункт Listening Protocols. Теперь выделите строку с протоколом
TCP/IP
и нажмите кнопку Properties. Введите число 2185 для нового порта TCP/IP,
чтобы сделать номера портов для клиентской и серверной частей одинаковыми.
Работа
с Connectivity Administrator завершена. Нажмите кнопку OK на вкладке Server,
а затем нажмите OK еще раз.
- Завершающие шаги заключаются в определении нового имени конфигурационного
файла с помощью консоли управления SQLBase Management Console. Это
необходимо для того, чтобы СУБД SQLBase использовала новое имя конфигурационного
файла
даже при запуске в качестве службы. Для того, чтобы это сделать запустите
консоль SQLBase Management Console из меню запуска операционной системы
Windows. Появится
окно, подобное распложенному ниже окну.
- . Откройте сначала пункт SQLBase Services, а затем пункт Server Installations.
Должны появиться имена серверов для обеих инсталляций SQLBase. Поместите
курсор мыши над пунктом, отвечающим инсталляции SQLBase 8.5, и щелкните
правой кнопкой
мыши. В появившемся меню выберите опцию Unregister the server.
- . Выберите пункт Server Installations в древовидном списке на левой панели
консоли управления SQLBase Management Console и откройте меню свойств, щелкнув
правой кнопкой мыши. В меню выберите опцию Register, чтобы создать новый
пункт для инсталляции SQLBase 8.5, включая ссылку на новый конфигурационный
файл. Кнопки с правой стороны от путей к исполняемому и конфигурационному
файлам позволяют легко задать имена сервера и нового конфигурационного файла,
которые должны быть использованы. Выберите нужный исполняемый файл для сервера.
Имя файла зависит от установленного уровня пользователя. На данном этапе
процесс установки с учетом задания нового имени конфигурационного файла My.SQLBase85.Config
практически завершен. Нажмите OK, чтобы сохранить изменения. Теперь все готово
для запуска. Консоль SQLBase Management Console уже можно закрыть.
- Для тестирования новой конфигурации просто запустите SQLTalk из меню
запуска. Прежде чем подключаться к базе данных, необходимо указать приложению
SQLTalk
другой конфигурационный файл для использования. В меню Options выберите опцию
Session Settings. Диалог Session Settings позволяет указать заново созданный
конфигурационный файл. Чтобы это сделать, просто нажмите на кнопку, которая
находится с правой стороны от поля данных для конфигурационного файла. В
открывшемся диалоговом окне выберите My.SQLBase85.Config в качестве своего
конфигурационного
файла и нажмите OK. В диалоговом окне Session Settings можно установить флажок
Save Settings on Exit, чтобы приложение SQLTalk использовало новый конфигурационный
файл и в дальнейшем. Нажмите OK и вернитесь в основное окно приложения SQLTalk.
В верхней панели просто наберите "connect island;" и выполните
команду, нажав комбинацию клавиш Ctrl+Enter. SQLBase 8.5 запустится автоматически,
используя
новые конфигурационные параметры. Поздравляем! Вы использовали новое свойство
SQLBase 8.5 – работу со множественными инсталляциями. Теперь также можно
запустить старую инсталляцию SQLBase и работать с использующими ее приложениями.
Обе
инсталляции SQLBase будут прекрасно функционировать в полной изоляции друг
от друга.
- Компания Gupta предоставляет средства проверки того, какой конфигурационный
файл спользуют сервер SQLBase 8.5 или приложение SQLTalk. Если выбрать
пункт About в меню Help сервера SQLBase 8.5 или приложения SQLTalk 8.5, то
будет
показан используемый конфигурационный файл, включая путь к нему. Окно About
также отображает пути и имена DLL-библиотек, которые были загружены программой.
Для разработчиков и администраторов баз данных это упрощает управление
множественными инсталляциями и процесс их тестирования.
- Все описанные выше шаги могут быть выполнены вручную путем редактирования
конфигурационного файла с помощью текстового редактора, такого как Notepad.
Ниже приведен полный список изменений в файле My.SQLBase85.Config, внесенных
в течение описанного выше процесса конфигурации. Важные строки, относящиеся
к SQLBase 8.5, выделены жирным шрифтом. За детальным описанием элементов
нового конфигурационного файла обращайтесь к справочному руководству по SQLBase
8.5.
Создание собственных программ установки с помощью продуктов пакета SQLBase
8.5 EDP
Использование продуктов из пакета SQLBase 8.5 EDP позволяет заказчикам создавать
собственные программы установки для заказного программного обеспечения и для
SQLBase, которая установит себя в полной изоляции от других имеющихся инсталляций
SQLBase. За подробной информацией о создании собственных программ установки
и эффективном использовании нового свойства работы со множественными инсталляциями
в SQLBase 8.5 обращайтесь к справочному руководству комплекта SQLBase EDK.
Лицензии для множественных инсталляций SQLBase
- При одновременной работе с несколькими экземплярами SQLBase на одном компьютере
нужно иметь действительную лицензию для каждого экземпляра. Одна лицензия
на SQLBase не может быть использована для одновременного запуска на одном
компьютере
нескольких копий СУБД.
- Если лицензия на старую версию SQLBase была обновлена до SQLBase
8.5,
то она не является действительной для одновременного запуска SQLBase
8.5 и старой
инсталляции SQLBase. Для того, чтобы воспользоваться такой возможностью
необходимо приобрести дополнительную лицензию на SQLBase 8.5.
- Покупка одной лицензии на SQLBase 8.5 не дает право на одновременную работу
нескольких копий СУБД. Для работы с несколькими копиями SQLBase на
одном компьютере необходимо приобрести столько лицензий, сколько экземпляров
СУБД планируется
для одновременного запуска.
- В случае множественного запуска вертикальных приложений, установленных
на одном компьютере, таких как программное обеспечение для отгрузки
товаров и
новые приложения на основе SQLBase 8.5, необходимо обладать действующей
лицензией на SQLBase для всех установленных и параллельно работающих
экземпляров SQLBase.
Улучшение общей производительности баз данных
Новый уровень производительности обеспечит рост положительной реакции со стороны
клиентов. Задайтесь вопросом: как много в последнее время было получено положительных
откликов со стороны клиентов? Использование SQLBase 8.5 позволит значительно
увеличить число подобных откликов. Занимающая много времени обработка сложных
запросов ускорена в SQLBase 8.5 за счет использования существенно усовершенствованного
алгоритма сортировки с выделением кэш-памяти и нового механизма распределения
памяти. Таким образом, совершенно очевидно, что использование SQLBase
8.5 вызовет
несомненную положительную реакцию со стороны клиентов.
Также был улучшен менеджер блокировок SQLBase Lock Manager, чтобы минимизировать
число конфликтов, таких как простой и взаимоблокировка, между процессами чтения
и записи при их одновременном обращении к одной и той же базе данных. Это увеличивает
общую производительность приложений и улучшает поведение многопользовательских
инсталляций.
Новые возможности
- Общая производительность увеличена на 10%-40% по сравнению с SQLBase 7.5.1.
- Эффективность сортировки значительно возросла.
- Усовершенствования в борьбе с простоями и взаимоблокировками еще больше
повысили многопользовательскую производительность.
Что это реально означает?
При переходе от SQLBase 7.5 общая производительность увеличится на 40%, тогда
как при переходе с версии 8.1 эта разница составит 10%. Запросы, выполняющие
сортировку (ORDER BY, GROUP BY), в большинстве случаев будут обрабатываться
более чем в 25 раз быстрее (+2500%), а в некоторых ситуациях скорость обработки
возрастет в 800 раз (+80000%). Кроме того, число неудачных транзакций в результате
конфликта при блокировках сократилось более чем на 30%.
Таким образом, переход к SQLBase 8.5 обязательно вызовет положительный отклик
со стороны клиентов благодаря радикальному повышению производительности индивидуальных
заданий, росту пропускной способности и увеличению положительного опыта работы
пользователей за счет сокращения числа конфликтов при блокировках.
Обновлены драйверы баз данных
Все драйверы баз данных SQLBase были обновлены для поддержки нового синтаксиса
объединений ANSI SQL99. Можно продолжать использовать свои излюбленные среды
разработки, такие как Visual Studio, Visual Studio.NET, Delphi или Java IDE,
для создания использующих SQLBase приложений и пользоваться всеми преимуществами
нового синтаксиса объединений, включая множественные внешние объединения.
Новые возможности
- Провайдер .NET Data Provider в SQLBase 8.5 включает в себя поддержку результирующих
наборов данных с возможностью прокрутки и управляющие последовательности
ODBC.
- Обновленный провайдер OLE DB поддерживает управляющие последовательности
ODBC.
- Создание Java-приложений для SQLBase стало еще легче. JDBC-драйвер в SQLBase
8.5 был обновлен для охвата намного большего числа методов интерфейсов
JDBC 1.2 API и JDBC 2 API с целью усиления поддержки J2EE.
Как это работает?
Во время инсталляции SQLBase 8.5 будут установлены обновленные драйверы. Эти
драйверы доступны для загрузки с web-сайта компании Gupta. Они входят в состав
пакета SQLBase Driver Pack, который можно найти в разделе, посвященном продуктам,
представленным для скачивания.
Плавный переход к SQLBase 8.5
Большинство заказчиков выбирают SQLBase потому, что у них есть более важные
дела, чем постоянно присматривать за базой данных. Компания Gupta неуклонно
уменьшает совокупную стоимость владения SQLBase. Многие процедуры, которые
обычно выполняет администратор баз данных, полностью автоматизированы в SQLBase.
В SQLBase 8.5 компания Gupta идет на шаг еще дальше в удержании на минимально
возможном уровне усилий заказчиков, затрачиваемых на переход к новой версии
базы данных. Это является одним из важных факторов, обуславливающих чрезвычайно
низкую совокупную стоимость владения SQLBase.
- За два месяца до выхода SQLBase 8.5 компания Gupta предоставила для загрузки
со своего Web-сайта инструмент проверки ключевых слов. Этот инструмент может
быть использован для проверки существующих баз данных на согласование с зарезервированными
ключевыми словами, недавно введенными в SQLBase 8.5. Он способствует гладкому
переходу на SQLBase 8.5. Новый синтаксис оператора ANSI SQL99 потребовал от
Gupta резервирования нескольких новых ключевых слов, таких как “join, inner,
outer, left, right, full”. Эти ключевые слова нельзя использовать в названиях
объектов баз данных SQLBase 8.5. Инструмент проверки ключевых слов анализирует
существующие базы данных и предоставляет список имен объектов, которые необходимо
изменить для согласования с SQLBase 8.5. Загрузите
инструмент проверки ключевых
слов для SQLBase 8.5.
- Для гладкого перехода к SQLBase 8.5 можно отключить использование нового
синтаксиса объединений ANSI SQL99 и работать с СУБД в режиме обратной
совместимости. В этом случае нет необходимости делать какие-либо изменения
в существующих
базах данных.
- Обновление больших инсталляций SQLBase очень удобно при работе с SQLBase
8.5. SQLBase 8.5 автоматически преобразует существующие старые базы
данных SQLBase в самый последний формат баз данных. Автоматическое преобразование
имеющихся инсталляций осуществляется для SQLBase версии 6.1 и выше.
Это
сберегает огромный объем работ по техническому обслуживанию, которое обычно
требуется
при переходе к новой версии баз данных. Таким образом, работать с SQLBase
8.5 стало еще проще.
Новые возможности
- Автоматическое преобразование существующих баз данных SQLBase в формат
SQLBase 8.5.
- Наличие режима обратной совместимости, в котором отключен новый синтаксис
объединений ANSI SQL99, чтобы избежать конфликта имен с новыми ключевыми
словами.
Как это работает?
Следуя расположенной ниже ссылке можно найти руководство по работе с инструментом
SQL Base 8.5 Keyword Checker.
Руководство
по работе с SQLBase 8.5 Keyword Checker
Поддержка национальных языков в SQLBase 8.5
В SQLBase 8.5 компания Gupta предоставляет выбор между двумя типами поведения
поддержки национальных языков (National Language Support, NLS). Настройка NLS
определяется в конфигурационном файле новым параметром под названием LimitNLSCompares.
Этот параметр принимает значения 0 или 1. Во время установки по умолчанию параметру
задается значение равное 1. Это означает, что SQLBase NLS будет вести себя
таким же образом, как и в SQLBase версии 7.5.1 PTF1 и ранее. Если значение
параметра равно 0, SQLBase будет проводить сравнение и сортировку подобно версии
7.5.1 PTF2 и позднее.
Как это работает?
В SQLBase 7.5.1 PTF2 были внесены изменения в работу NLS-баз данных в соответствии
с требованиями заказчиков. Фактически, в версиях предшествующих 7.5.1 PTF2
в секции #translate использовались только параметры order by и group by, а
содержимое этой секции не влияло на процесс сравнения. В версиях СУБД, вышедших
после 7.5.1-PTF1, содержимое секции #translate стало влиять на процесс сравнения.
Некоторые клиенты считают правильным новое поведение, тогда как другие полагают,
что более корректным является старое поведение. В SQLBase 8.5 по желанию можно
выбрать любое из двух типов поведений с помощью параметра LimitNLSCompares.
Ниже, на примере реальных данных показано, как параметр LimitNLSCompares влияет
на работу базы данных.
Секция #translate файла country.sql содержит следующую последовательность:
A a
A a
U u
U u
u u
Пусть имеется таблица ADR, которая содержит один столбец NAME со значениями:
Abt Rene
Aschbacher Kurt
Aze Angela
Marxer Petra
Muller Heinz
Muntz Sonja
select * from adr order by name;
Для случая LimitNLSCompares=1 результат сортировки показан выше. Если LimitNLSCompares=0,
то в результате сортировки строка ‘‘Muller’ будет размещена после ‘Muntz’,
а ‘‘Aschbacher’ будет перемещена в конец списка.
select * from adr where name= 'Aschbacher Kurt'; Возвращается 1 строка в обоих
случаях.
select * from adr where name like 'M%'; Возвращается 3 строки в обоих случаях.
select * from adr where name like 'Mu%'; Возвращается 1 строка при LimitNLSCompares=1
и 2 строки для LimitNLSCompares=0.
select * from adr where name like 'A%'; Возвращается 2 строки при LimitNLSCompares=1
и 3 строки для LimitNLSCompares=0.
select * from adr where name like ‘A%'; Возвращается 1 строка при LimitNLSCompares=1
и 3 строки для LimitNLSCompares=0.
В случае LimitNLSCompares=0 ссылочная целостность соблюдаться не будет.
Что необходимо сделать для обновления NLS-баз данных до SQLBase 8.5
Обновление версий: До SQLBase 7.5.1 PTF 1 После SQLBase 7.5.1 PTF1
LimitNLSCompares=0 Выгрузка/Загрузка Выгрузка/Загрузка
LimitNLSCompares=1 Автоматическое преобразование, выгрузка/загрузка не нужна
Выгрузка/Загрузка
SQLBase NLS Support Background
- После запуска процесс Support Backround считывает файл sql.ini и запоминает
заданную в нем конфигурацию. Это является одноразовой проверкой вне зависимости
от параметров настройки баз данных.
- Во время создания файла start.dbs для формирования индексов системного
каталога используется только параметр LimitNLSCompares. В принципе, это
не является
необходимым, поскольку в системном каталоге нет NLS-символов, однако
кто знает, что может быть помещено в секцию #translate файла country.sql.
- Затем из файла start.dbs создается база данных. Когда индексы компонуются
в таблицу, проверяется значение параметра LimitNLSCompares, чтобы определить,
нужно ли использовать параметры секции #translate во время компоновки.
- После завершения процесса сравнения значение параметра LimitNLSCompares
используется для определения должного порядка индексов.
- Если база данных была преобразована из версии 7.5.1 PTF2 или позднее,
то индексы будут иметь порядок, определяемый установкой LimitNLSCompares=0,
т.е.
уже учитывая значения параметров секции #translate. Для того, чтобы
использовать значение LimitNLSCompares=1, необходимо компоновать заново
все индексы
(или выгрузить/загрузить базу данных, что рекомендуется в обоих случаях).
- Если база данных была преобразована из версии 7.5.1 PTF1 или ранее,
то индексы будут иметь порядок, определяемый установкой LimitNLSCompares=1,
т.е. не учитывая
значения параметров секции #translate. Для того, чтобы использовать
значение LimitNLSCompares=0 необходимо компоновать заново все
индексы (или выгрузить/загрузить
базу данных).
Дополнительная литература о SQLBase 8.5
Компания Gupta предоставляет руководство "Введение в новые возможности
SQLBase", которое содержит подробную информацию обо всех новых возможностях
SQLBase 8.5 и их технических особенностях. Это и все другие справочные руководства
по SQLBase 8.5 можно найти в меню запуска, группа SQLBase
8.5.
Обзор справочных руководств по SQLBase 8.5
Введение в новые возможности SQLBase |
Предоставляется подробная информация обо всех новых возможностях SQLBase
8.5 |
SQLBase: руководство для начинающих |
|
Подключение к SQLBase |
|
Руководство администратора баз данных SQLBase |
Здесь содержится подробная информация о множественных инсталляциях |
Программный интерфейс для SQLBase SQL |
|
Язык ссылок SQLBase SQL |
Руководство содержит описание синтаксиса оператора join SQL99, включая
множественные внешние объединения |
Руководство по SQLConsole |
|
SQLBase для опытных пользователей |
|
Дополнительная информация
За дополнительной информацией обращайтесь в компанию Interface Ltd.
Обсудить на форуме Gupta