СРАВНИТЕЛЬНЫЙ ОБЗОР

Visual dBASE подходит для работы в среде клиент-сервер; Visual FoxPro превращается в SQL-клиента

Если кто-то решил, что базы данных Xbase изжили себя, ему следует взглянуть на проблему еще раз. Visual FoxPro 3.0 for Windows корпорации Microsoft и Visual dBASE 5.5 for Windows фирмы Borland International не просто полномасштабные СУБД для работы на уровне отдела. Объектно-ориентированные языки, улучшенные интерфейсы и поддержка SQL-баз данных превращают их в отличные инструменты для работы в клиент-серверной среде и для разработки приложений.

Проведенные Тестовым центром PC Week Labs испытания показали, что СУБД Visual dBASE (цена  -  $695) станет отличным инструментом для разработки клиент-серверных баз данных. В этот продукт (он выпущен в начале августа) входят улучшенная поддержка драйверов внешних баз данных, совместимый с ANSI SQL 92 сервер баз данных Interbase фирмы Borland и компилятор.

СУБД Visual FoxPro значительно улучшена по сравнению с предыдущими версиями и теперь обладает полностью пересмотренным интерфейсом, который облегчает управление проектами при помощи связанных с ними баз данных. Программа выпущена в июле (цена  -  $499).

Microsoft также значительно переработала язык FoxPro, добавив объектно-ориентированность, обслуживание совместимости файлов с существующими FoxPro-приложениями.         

Свойства форм, поля и средства управления программы

Visual dBASE легко доступны

Visual FoxPro тесно интегрирована с SQL Server 6.0, что превращает ее в хорошую среду разработки для этой платформы. Подключаться к базам данных с помощью Visual FoxPro значительно легче, чем при работе с предыдущими версиями.

К сожалению, разработчикам клиент-серверных систем по-прежнему придется передавать операторы SQL через SQL Server, вместо того чтобы использовать интерфейс или родной язык FoxPro.

ИНСТРУМЕНТЫ НЕПРОЦЕДУРНОЙ РАЗРАБОТКИ

Visual dBASE и Visual FoxPro предлагают высококлассные, внешне схожие инструменты разработки форм. Используя ассистенты Wizard программы Visual FoxPro и Experts программы dBASE, можно легко и быстро создавать удобные, красивые формы.

Впрочем, Form Expert пакета Visual dBASE обладает лучшими возможностями управления внешним видом форм. Например, мы выбрали цветовую палитру по списку из 29 наборов, а потом модифицировали цвета кнопок, заголовка и других элементов формы.

В конструкторе форм программы Visual FoxPro диалоговое окно Properties позволяет изменять свойства элементов нашей формы. Например, чтобы изменить цвет фона, мы выбрали форму и свойство Backcolor, затем дважды щелкнули на свойстве и открыли цветовую палитру.

Из окна Properties мы могли добавлять к любому элементу нашей формы методы, события и классы. Двойной щелчок на любом свойстве переключал его, открывая в зависимости от типа свойства редактор кода или цветовую палитру.

В конструкторе форм программы Visual dBASE мы использовали функцию Inspector и панель средств управления, чтобы добавлять свои средства управления VBX (расширения Visual Basic), объекты OLE (связывание и встраивание объектов), кнопки, кнопки с независимой фиксацией и свои классы. К тому же мы могли "переносить" поля из Field Palette в открытое пространство в форме.

Редактор запросов СУБД Visual FoxPro оказался незаменимым при создании специальных запросов. Хотя в СУБД входит Query Wizard, при помощи табличного конструктора запросов нам было легко создавать даже сложные запросы.

Пользователи могут получить доступ к таблицам SQL

Server при помощи функции View Designer СУБД Visual FoxPro

Конструктор запросов Visual dBASE остался таким же, как и в предыдущих Windows-версиях dBASE и Paradox,  -  он соответствует своему назначению, хотя и несколько устарел. Соединять таблицы и сортировать записи при помощи Visual dBASE оказалось труднее, чем при работе в Visual FoxPro.

Редакторы отчетов обеих СУБД вполне приемлемы. Работая в Visual dBASE, в которой по-прежнему используется модифицированная версия Crystal Reports, мы создали простой бизнес-отчет с логотипом компании, а также отчет, в который входил сложный фрагмент из другой таблицы.

Решенный в ленточном стиле генератор отчетов СУБД Visual FoxPro сходен с генератором отчетов Visual dBASE. Проще всего создавать отчеты, в том числе групповые и общие, используя Report Wizard. Однако в обеих СУБД отсутствуют возможности редактирования данных в процессе работы над отчетами, которыми обладают ReportSmith фирмы Borland и Approach корпорации Lotus Development.

В качестве механизма создания диаграмм в Visual FoxPro используется Graph корпорации Microsoft, связь с которым осуществляется через OLE. В Visual dBASE, однако, подобный механизм отсутствует, из-за чего разработчикам приходится строить диаграммы при помощи процедур.

В Visual dBASE входит превосходный редактор меню. Используя графический конструктор, мы просто вводили те пункты, которые хотели добавить к меню. Затем мы подключили к форме меню из DOS-файла, выбрав соответствующее свойство в системе Inspector. Точно так же мы связывали с пунктами меню код и события.         

Конструктор меню программы Visual FoxPro, напротив, оказался очень посредственным, в нем не используются традиционные принципы редактирования меню. В большинстве редакторов меню амперсенд (&) перед буквой указывает на то, что эта буква должна стать "горячей клавишей". Чтобы создать "горячую клавишу" в Visual FoxPro, приходится вводить обратную косую черту и символ "меньше" (<).

ПРОИЗВОДИТЕЛЬНОСТЬ

Поскольку производительность СУБД важна и для пользователей, и для разработчиков, мы воспользовались нашей стандартной системой тестирования (см. врезку "Методика тестирования"), задействовав 8 (минимум, необходимый для работы обоих продуктов) и 16 Мб ОЗУ.

Тестирование с малым объемом памяти дает оценку производительности, на которую могут рассчитывать клиенты при работе с этими программами.

В тестах, которые раньше проводил Тестовый центр PC Week Labs, производительность FoxPro всегда оказывалась самой высокой. Даже учитывая большое количество новых возможностей, включенных в последнюю версию, показанные Visual FoxPro результаты удивили нас. В целом, производительность Visual FoxPro составила до 15% от производительности FoxPro 2.6 for Windows, самой быстрой из протестированных СУБД.         

Зато в тестах на создание запросов Visual FoxPro работала в два раза быстрее, чем FoxPro 2.6 (см. результаты эталонного теста).

Visual dBASE также показала хорошую производительность, обогнав Visual FoxPro в большинстве тестов, кроме теста на создание запросов, в котором мы искали данные, используя два условия фильтрации.

Visual dBASE оказалась быстрее, выполняя те же самые тесты на системе с 8 Мб памяти. Хотя оба продукта с трудом работали с небольшим объемом памяти, на Visual FoxPro это отразилось сильнее, чем на Visual dBASE, прежде всего из-за того, что она медленнее отображала таблицы результатов. В целом в Visual dBASE более быстрое обновление экрана.

ОПРЕДЕЛЕНИЕ БАЗ ДАННЫХ

В Visual FoxPro и Visual dBASE входят неплохие инструменты определения баз данных для создания таблиц, включения правил проверки и поддержки ссылочной целостности. Обе программы определяли взаимосвязь таблиц на уровне формы и отчета.

В программируемые базы данных входят агенты, ускоряющие построение таблиц. Table Expert СУБД Visual dBASE сложнее и включает больше образцов стилей таблиц, чем Table Wizard СУБД Visual FoxPro. Однако разработчики, возможно, предпочтут обойтись без этих агентов, создавая таблицы с самого начала так, чтобы они точно соответствовали их требованиям.

Методика тестирования

Тесты СУБД под Windows, проведенные PC Week Labs, воспроизводили нагрузку рабочей группы на уровне отдела. Мы использовали базы данных с таблицами, состоящими из 6 полей и 10000, 50 000 и 100 000 записей с информацией о некоторых предприятиях Лос-Анджелеса и Сан-Франциско, а также состоящие из трех полей таблицы, включающих SIC_Codes этих предприятий. Мы использовали только символьные поля с фиксированной длиной.

Мы протестировали производительность Visual dBASE 5.5 for Windows фирмы Borland International и Visual FoxPro for Windows корпорации Microsoft при загрузке, индексировании, сканировании файлов и работе с запросами.

Мы инсталлировали эти СУБД на машину фирмы Micron Technologies с 90 МГц процессором Pentium, 16 Мб ОЗУ и 500 Мб жестким диском. Мы тестировали работу Visual dBASE и Visual FoxPro под MS-DOS 6.22 и Microsoft Windows for Workgroups 3.11 с 20 Мб постоянным файлом подкачки и разрешенным 32-разрядным доступом к диску и файлам с установками размера кэш-памяти по умолчанию.

Управлять защитой таблиц в Visual dBASE было проще, и она обладает более мощными функциями сохранения целостности данных. Мы смогли устанавливать право доступа на уровне поля для всех таблиц dBASE и Paradox.

В отличие от Visual FoxPro в Visual dBASE отсутствует словарь данных для отслеживания длинных имен таблиц, бизнес-правил, связей с SQL-базами данных и триггеров.

ВЗАИМОСВЯЗЬ ПРИЛОЖЕНИЙ

Как мы и ожидали от продукта Microsoft, Visual FoxPro обеспечивает отличную поддержку OLE, в том числе редактирование объектов без их перемещения. Чтобы добавить объекты OLE 2.0, мы просто "переносили" их в наши формы.

Visual dBASE предлагает сходные возможности "перетащи и оставь". Однако эта СУБД не поддерживает присущие OLE возможности редактирования без перемещения.

Возможности обеих СУБД по импорту и экспорту оказались весьма средними. Мы смогли экспортировать данные в очень незначительное число электронных таблиц и форматов баз данных.

Впрочем, в Visual dBASE входит DataPump  -  отдельная утилита перевода баз данных в другой формат.    

МНОГОТАБЛИЧНАЯ СТРУКТУРА ДАННЫХ

Поддержка драйверов базы данных СУБД Visual dBASE лучше, чем в Visual FoxPro. В версию 5.5 входят драйверы для SQL Links фирмы Borland, набор оригинальных драйверов для СУБД Oracle 7.0, Sybase SQL Server, Microsoft SQL Server (но не версии 6.0), Informix Online и InterBase. Visual FoxPro включает драйверы только для Microsoft SQL Server и Oracle 7.0. В версию 3.0 входит 32-разрядная версия ODBC (открытая связь баз данных), что позволяет подключать Visual FoxPro к более широкому кругу баз данных. На данный момент разработчикам придется приобретать 32-разрядные ODBC-драйверы независимых поставщиков, например фирм Intersolv и Visgenic Software.

БАЗОВАЯ АРХИТЕКТУРА

Visual FoxPro и Visual dBASE предлагают великолепные языки программирования, поддерживая самые существенные качества объектно-ориентированного языка  -  наследование объектов, инкапсуляцию и полиморфизм. Поддержка инкапсуляции позволяет разработчикам защищать свойства и методы своих классов объектов. Visual FoxPro отслеживает все классы с помощью файла контейнера базы данных (DBC), который СУБД использует как репозитарий объектов.

Visual dBASE сохраняет классы как имена DOS-файлов, разработчики могут делать к ним индивидуальные вызовы из системы контроля свойств Inspector.

Хотя ни в Visual dBASE, ни в Visual FoxPro нет отдельного языка макрокоманд, обе СУБД предлагают инструменты по типу макрокоманд. Например, Visual dBASE содержит инструментарий Two-Way Tools для визуального и процедурного программирования, а в Visual FoxPro входит Visual Class Designer  -  инструмент для создания классов объектов без процедурного кодирования.

Переключаться с написания кода на визуальное программирование и обратно в Visual FoxPro оказалось труднее. Например, мы легко создали форму с кнопкой в визуальном режиме, но, когда мы редактировали ее в процедурном виде, наши действия не привели ни к какому результату.

Visual dBASE поддерживает 16-разрядные средства управления VBX, a Visual FoxPro - 32-разрядные системы управления ОСХ (расширенные средства управления OLE). Хотя средств управления VBX больше, разработчики постепенно склоняются к использованию 32-разрядных ОСХ.

РАСПРОСТРАНЕНИЕ ПРИЛОЖЕНИЙ

В обе базы данных входит инструмент для компиляции законченных приложений и создания дистрибутивных дискет. Кроме того, программы имеют собственные компиляторы оперативной помощи.

Инструмент создания инсталляторов программы Visual dBASE несколько лучше, чем в Visual FoxPro. Application Deployer фирмы Borland позволил нам определять, какие файлы включать на инсталляционные диски.

Кроме того, в Visual dBASE входит система Resource Workshop, с помощью которой мы создавали специальные курсоры и пиктограммы и управляли файлами ресурсов.

ИНСТАЛЛЯЦИЯ И ОБУЧЕНИЕ

Visual FoxPro обладает великолепной программой инсталляции. Мы могли выбирать все необходимые нам черты из единого интерфейса, организованного по принципу "укажи и щелкни". Версия 3.0 требует присутствия Win32s при инсталляции на систему под Windows З.х. Она автоматически определяет, требуется ли поддержка Win32s и устанавливает ее при необходимости. Инсталляционная программа Visual dBASE не интегрирована с сопутствующими продуктами и в целом плохо разработана.

Нам пришлось просмотреть запутанную структуру каталогов на CD-ROM, чтобы найти инсталляционные программы для Resource Workshop, компилятора, Interbase и DataPump. Visual dBASE сильно выиграла бы, имей она единую программу установки.

ДЖОН ТАШЕК

Версия для печати