dBase - dBase

DBase
DBaseLogo BlackWithRed glass 300.png
Парадигма Императивный , декларативный
Разработчик Сесил Уэйн Рэтлифф
Впервые появился 1979 ; 42 года назад ( 1979 )
Стабильный выпуск
dBASE 2019/2019 ; 2 года назад ( 2019 )
Язык реализации C
Операционные системы Microsoft DOS
Microsoft Windows
Лицензия Проприетарный
Веб-сайт www .dbase .com
Под влиянием
Клипер , товары WordTech, Харбор . FoxBASE +, FoxPro, Visual FoxPro , VP-информация

dBase (также стилизованная под dBASE ) была одной из первых систем управления базами данных для микрокомпьютеров и самой успешной в свое время. Система dBase включает ядро базы данных , систему запросов, механизм форм и язык программирования, который связывает все эти компоненты вместе. Базовый формат файла dBase, файл .dbf , широко используется в приложениях, которым требуется простой формат для хранения структурированных данных.

Первоначально выпущенный как Vulcan для PTDOS в 1978 году, порт CP / M привлек внимание Ashton-Tate в 1980 году. Они лицензировали его и переиздали как dBASE II , а затем портировали на компьютеры Apple II и IBM PC под управлением DOS . В частности, на платформе ПК dBase стала одной из самых продаваемых программных продуктов на протяжении ряда лет. Основное обновление было выпущено как dBase III и перенесено на более широкий спектр платформ с добавлением UNIX и VMS . К середине 1980-х годов Ashton-Tate был одним из «большой тройки» издателей программного обеспечения на раннем рынке программного обеспечения для бизнеса, а другими были Lotus Development и WordPerfect .

Начиная с середины 1980-х, несколько компаний создали свои собственные вариации продукта dBase и особенно языка программирования dBase. К ним относятся FoxBASE + (позже переименованная в FoxPro), Clipper и другие так называемые продукты xBase . Многие из них были технически сильнее dBase, но не могли вытеснить его на рынке. Ситуация изменилась из-за плохого приема dBase IV , конструкция и стабильность которого были настолько недостаточными, что многие пользователи переключились на другие продукты. В то же время в продуктах баз данных все чаще используется язык SQL (язык структурированных запросов), изобретенный IBM . Еще одним фактором было принятие пользователями Microsoft Windows на настольных компьютерах. Переход к SQL и Windows заставил производителей продуктов xBase инвестировать в серьезную модернизацию, чтобы обеспечить новые возможности.

В начале 1990-х продукты xBase составляли ведущую платформу баз данных для реализации бизнес-приложений. Размер и влияние рынка xBase не остались незамеченными, и в течение одного года три ведущие фирмы xBase были приобретены более крупными компаниями-разработчиками программного обеспечения:

К началу XXI века большая часть оригинальных продуктов xBase потеряла популярность, а многие полностью исчезли. Продукты, известные как dBase, все еще существуют и принадлежат dBase LLC.

История

Происхождение

В конце 1960 - х лет, Фред Томпсон в Лаборатории реактивного движения (JPL) был использование Tymshare продукта под названием RETRIEVE для управления базой данных электронных калькуляторов, которые были в то время очень дорогие продукты. В 1971 году Томпсон сотрудничал с Джеком Хэтфилдом, программистом из JPL, чтобы написать расширенную версию RETRIEVE, которая стала проектом JPLDIS. JPLDIS была написана на FORTRAN для мэйнфрейма UNIVAC 1108 и была публично представлена ​​в 1973 году. Когда Хэтфилд покинул JPL в 1974 году, его роль занял Джеб Лонг .

Работая подрядчиком в JPL, К. Уэйн Рэтлифф вошел в офисный футбольный бассейн . Он не интересовался игрой как таковой, но чувствовал, что может выиграть пул, обработав статистику после игры, найденную в газетах. Для этого он обратил внимание на систему баз данных и случайно наткнулся на документацию для JPLDIS. Он использовал это как основу для переноса на PTDOS на своем микрокомпьютере IMSAI 8080 , собранном в комплекте , и назвал получившуюся систему Vulcan (в честь мистера Спока из « Звездного пути» ).

Эштон-Тейт

Джордж Тейт и Хэл Лэшли создали две успешные начинающие компании: Discount Software, которая была одной из первых, кто продавал ПО для ПК по почте потребителям, и Software Distributors, которая была одним из первых оптовых дистрибьюторов программного обеспечения для ПК в России. мир. Они заключили соглашение с Рэтлиффом о продвижении на рынок Vulcan и для этого создали компанию Ashton-Tate (название Эштон выбрано исключительно из маркетинговых соображений). Ratliff портирована Vulcan из PTDOS в CP / M . Хэл Павлюк, который занимался маркетингом зарождающейся компании, решил изменить название на более деловое «dBase». Павлюк разработал использование строчной буквы «d» и заглавных букв «BASE» для создания отличительного имени. Павлюк предложил назвать новую версию продукта второй («II»), чтобы предположить, что в ней меньше ошибок, чем в первоначальной версии. Результатом стал dBase II, который стал стандартным приложением CP / M вместе с WordStar и SuperCalc.

В 1981 году IBM заказала порт dBase для ПК, который тогда находился в стадии разработки. Полученная программа была одной из первых программ, доступных, когда IBM PC поступила в продажу осенью 1981 года. DBase была одной из очень немногих «профессиональных» программ на платформе в то время и имела огромный успех. Клиентская база включала не только конечных пользователей, но и все большее число «реселлеров с добавленной стоимостью» или VAR, которые покупали dBase, писали с его помощью приложения и продавали готовые системы своим клиентам. Выпуск dBase II RunTime в мае 1983 года еще больше укрепил dBase на рынке VAR, позволив VAR развертывать свои продукты с использованием более дешевой системы RunTime.

Хотя некоторые критики заявили, что dBase сложно изучить, его успех создал много возможностей для третьих сторон. К 1984 году более 1000 компаний предлагали разработку приложений, связанных с dBase, библиотеки кода для добавления функций, приложения, использующие среду выполнения dBase II, консультации, обучение и практические руководства. Компания в Сан-Диего (сегодня известная как Advisor Media) представила журнал, посвященный профессиональному использованию dBase, Data Based Advisor ; его тираж через восемь месяцев превысил 35 000 экземпляров. Все эти действия способствовали быстрому развитию dBase как ведущего продукта такого типа.

dBase III

Скриншот Dbase III Plus.

По мере распространения платформ и операционных систем в начале 1980-х компания столкнулась с трудностями при переносе dBase, основанной на ассемблере, на целевые системы. Это привело к переписыванию платформы на языке программирования C с использованием инструментов автоматического преобразования кода. Полученный код работал, но был по существу недокументирован и бесчеловечным по синтаксису, проблема, которая окажется серьезной в будущем.

В мае 1984 года был выпущен переписанный dBase III. Хотя рецензенты широко раскритиковали его заниженную производительность, в остальном продукт получил хорошие отзывы. После нескольких быстрых обновлений система стабилизировалась и снова стала бестселлером на протяжении 1980-х годов, образовав знаменитое «трио приложений» совместимых с ПК (dBase, Lotus 123 и WordPerfect ). К осени 1984 года в компании работало более 500 сотрудников, а годовой доход от продаж составлял 40 миллионов долларов США (что эквивалентно 100 миллионам долларов в 2020 году), подавляющее большинство из которых приходилось на продукцию dBase.

dBase IV

Представленный в 1988 году после задержек, dBase IV имел «более 300 новых или улучшенных функций». К тому времени FoxPro добился успеха, и даже поддержки dBase IV для запросов по примерам и SQL было недостаточно.

Попутно Borland , купившая Ashton Tate , в 1992 году выпустила обновленную версию dBase IV, но с упором на «разработанную для программистов», а не «для обычных пользователей».

Полный график для всех продуктов dBase.

История последних версий

Версия Выпущенный Примечания
dBASE PLUS 9 18 июня 2014 г. Дополнительные ключевые особенности dBASE PLUS 9 включают: dComplete - функция, подобная Intelli-Sense, для языка dBASE; dBlocks - добавление фрагментов кода dBASE парой нажатий клавиш, dLocator - теперь поиск информации в нескольких файлах; dBabel - теперь поддержка цветового выделения HTML, XML, SQL, JavaScript и других; dExtract - теперь экспортируйте исходный код в HTML, RTF, PDF, LaTex и XML; dbfExplorer - теперь открывать свойства файла в интерфейсе Windows Explorer; Обновленный редактор - он включает свертку кода, автоматический отступ, маркеры конца строки, направляющие отступа, номера строк и другие функции, на 60% больше сочетаний клавиш; Данные поиска - данные, не требующие лицензионных отчислений, которые включают данные о запасах, географическом положении и другие распространенные типы данных поиска; и Catalyst SocketTools элементы управления ActiveX и библиотеки помогают разработчикам быстро и легко создавать Интернет-приложения.
dbfExport 2 17 апреля 2015 г. Следующий крупный выпуск dbfExport 2 от dBase LLC. Может преобразовывать данные dBASE из файлов .dbf в CSV, HTML, Microsoft Excel 2003 и ниже, Microsoft Excel 2008 и выше или XML.
dbDOS PRO 4.0 6 мая 2015 года Компания dBase представляет новую версию dbDOS PRO 4! dbDOS PRO 4, последняя версия самого продаваемого решения для поддержки приложений на базе MS-DOS в операционных системах Windows Vista и выше.
dbDOS PRO 4.0N 18 мая 2015 года dBase, LLC представляет dbDOS PRO 4N - поддерживает многопользовательские приложения MS-DOS в операционных системах Windows Vista и выше. Добавлены сетевые коммуникации.
dBASE PLUS 10 21 июля 2015 г. Дополнительные ключевые особенности dBASE PLUS 10 включают: новый набор собственных компонентов, новые компоненты GridEx (dGrid) и ListView с учетом данных. Обновленный компилятор, который позволяет компилировать файлы большего размера, больше символов и на 30% быстрее. В dBASE PLUS 10 представлен новый отладчик - dBugger. Встроенная среда выполнения дает возможность создавать один .exe со встроенной в .exe средой выполнения dBASE PLUS 10. Также включена новая обработка ресурсов, которая теперь работает с графическими типами .BMP и .PNG из ресурсов .dll (s). Кроме того, dBASE PLUS 10 включает более 15 000 бесплатных изображений для использования в приложениях. В продукте также представлен обновленный dComplete 2.0, который добавляет значительную функциональность автозавершения кода.
dbDOS PRO 5 + N Июль, 2016 dBase, LLC представляет dbDOS PRO 5 + N - dbDOS PRO 5 + N, последнюю версию виртуальной машины (ВМ) на основе MS-DOS для запуска приложений на основе DOS в 64-разрядных операционных системах Windows.
dBASE PLUS 11 Январь 2017 г. Дополнительные новые функции dBASE PLUS 11: поддержка сенсорного экрана и планшета - dBASE PLUS 11 теперь поддерживает сенсорное управление и жесты с расширенной поддержкой планшетов. Вспомогательные технологии. dmAssist - конструктор модулей данных представляет гораздо более простой интерфейс для создания модулей данных и работы с ними. Новый dmAssist работает как с уровнями данных технологий BDE, так и с ADO. dBASE PLUS 11 упрощает создание веб-приложений с учетом данных с помощью новой адаптивной веб-инфраструктуры, которая работает как с технологиями Apache, так и с Microsoft IIS. dmOutput - новый dBASE PLUS 11 позволяет генерировать вывод из модулей данных. dmC.RUD - новый dBASE PLUS 11 позволяет сгенерировать стартовое приложение. dBASE PLUS 11 включает семь новых шрифтов с открытым исходным кодом, которые упрощают чтение и печать кода. databuttons.cc - стандартные компоненты с поддержкой данных были улучшены для поддержки компонентов с графикой от 24x24 до 64x64. Темы Windows - dBASE PLUS 11 теперь поддерживает 10 тем Microsoft Windows.

язык программирования dBase / xBase

Снимок экрана dBase III с экранной маской

Для обработки данных dBase предоставила подробные процедурные команды и функции для

  • открывать и просматривать записи в файлах данных (например, USE, SKIP, GO TOP, GO BOTTOM и GO recno),
  • манипулировать значениями полей (ЗАМЕНИТЬ и СОХРАНИТЬ) и
  • управлять текстовыми строками (например, STR () и SUBSTR ()), числами и датами.

Dbase является интегрированным языком разработки приложений и системы управления базами данных , навигационной которой Ashton-Tate помечен как « реляционный » , но он не отвечает критерии , определенному доктор Кодд «s реляционной модели . Он использовал архитектуру интерпретатора времени выполнения, которая позволяла пользователю выполнять команды, вводя их в командной строке «точечная подсказка».

Точно так же программные скрипты (текстовые файлы с расширениями PRG) выполнялись в интерпретаторе (с командой DO). Программы dBase было легко писать и тестировать; деловой человек без опыта программирования мог разрабатывать приложения.

Со временем конкуренты Ashton-Tate представили так называемые продукты-клоны и компиляторы, которые обладали более надежными функциями программирования, такими как определяемые пользователем функции (UDF), массивы для сложной обработки данных. Ashton-Tate и ее конкуренты также начали использовать SQL , стандартный язык ANSI / ISO для создания, изменения и извлечения данных, хранящихся в системах управления реляционными базами данных.

В конце концов стало ясно, что мир dBase расширился далеко за пределы Эштон-Тейт. Сформировано «стороннее» сообщество, состоящее из Fox Software, Nantucket, Alpha Software, Data Based Advisor Magazine, SBT и других фирм по разработке приложений, а также основных групп разработчиков. Softback Software выпустила гибкий и быстрый VP-Info с уникальным встроенным компилятором. Сообщество вариантов dBase стремилось создать стандарт языка dBase при поддержке комитета IEEE X3J19 и инициативы IEEE 1192. Они сказали «xBase», чтобы отличить его от продукта Ashton-Tate.

Компания Ashton-Tate увидела рост xBase как незаконную угрозу своей запатентованной технологии. В 1988 году они подали иск против Fox Software и Santa Cruz Operation (SCO) за копирование «структуры и последовательности» dBase в FoxBase + (SCO продавала XENIX и UNIX версии продуктов Fox). В декабре 1990 года окружной судья США Терри Хаттер-младший отклонил иск Эштон-Тейт и признал недействительными авторские права Эштон-Тейт за неразглашение информации о том, что dBase частично основывалась на общественном достоянии JPLDIS . В октябре 1991 года, когда дело все еще находилось на апелляции, Borland International приобрела Ashton-Tate, и в качестве одного из условий слияния Министерство юстиции США потребовало от Borland прекратить судебный процесс против Fox и разрешить другим компаниям использовать язык dBase / xBase без угроза судебного иска.

К концу 1992 года крупные компании-разработчики программного обеспечения повысили ставки, приобретя ведущие продукты xBase. Borland приобрела продукты dBase Ashton-Tate (а затем продукты xBase WordTech), Microsoft приобрела продукты FoxBASE + и FoxPro Fox Software, а Computer Associates приобрела продукты Clipper в Нантакете. Advisor Media построил свой журнал Data Based Advisor, запустив FoxPro Advisor и Clipper Advisor (и другие) журналы и журналы для разработчиков, а также живые конференции для разработчиков. Однако запланированный выпуск журнала dBase Advisor Magazine был прерван из-за сбоя рынка dBase IV.

К 2000 году рынок xBase угас, поскольку разработчики перешли на новые системы баз данных и языки программирования. Computer Associates (позже известная как CA) в конце концов отказалась от Clipper. Borland реструктурировал и продал dBase. Из основных приобретателей Microsoft продолжала придерживаться xBase, превратив FoxPro в Visual FoxPro, но этот продукт больше не предлагается. В 2006 году компания Advisor Media прекратила выпуск своего последнего выжившего журнала xBase - FoxPro Advisor. Эпоха доминирования xBase закончилась, но продукты xBase все еще существуют. Линия продуктов dBase теперь принадлежит dBase LLC, которая в настоящее время продает dBASE PLUS 12.3 и dBASE CLASSIC на основе DOS (dbDOS для работы в 64-битной Windows).

Доступны некоторые реализации с открытым исходным кодом, такие как Harbour , xHarbour и Clip .

В 2015 году родился новый член семейства xBase: язык XSharp (X #), поддерживаемый как проект с открытым исходным кодом, с компилятором, собственной IDE и интеграцией с Microsoft Visual Studio. XSharp создает сборки .NET и использует знакомый язык xBase. Продукт XSharp изначально был создан группой из четырех энтузиастов, которые в прошлом работали над проектом Vulcan.NET. Компилятор создается поверх кода компилятора Roslyn, кода компиляторов C # и VB от Microsoft.

Примеры программирования

Сегодня реализации языка dBase расширились и включают в себя множество функций, предназначенных для бизнес-приложений, включая объектно-ориентированное программирование, управление удаленными и распределенными данными через SQL, функции Интернета и взаимодействие с современными устройствами.

В следующем примере открывается таблица сотрудников (empl), каждому руководителю, который контролирует 1 или более сотрудников, повышается 10-процентное повышение, а затем печатаются имена и зарплаты.

 USE empl
 REPLACE ALL salary WITH salary * 1.1 FOR supervisors > 0
 LIST ALL fname, lname, salary TO PRINT
 * (comment: reserved words shown in CAPITALS for illustration purposes)

Обратите внимание, как не нужно постоянно упоминать имя таблицы. Предполагаемая («текущая») таблица остается неизменной, пока не будет указано иное. Из-за своего происхождения как интерпретируемого интерактивного языка, dBase использовала различные контекстные методы, чтобы уменьшить количество необходимого набора текста. Это облегчало инкрементную интерактивную разработку, но также затрудняло крупномасштабное модульное программирование. Принцип модульного программирования заключается в том, что на правильное выполнение программного модуля не должны влиять внешние факторы, такие как состояние переменных памяти или таблиц, которыми манипулируют в других программных модулях. Поскольку при разработке dBase это не учитывалось, разработчикам приходилось проявлять осторожность при переносе (заимствовании) программного кода, предполагающего определенный контекст, и это затрудняло бы написание крупномасштабного модульного кода. Ссылки на конкретные рабочие области по-прежнему были возможны с использованием обозначения стрелки («B-> customer»), так что можно было управлять несколькими таблицами одновременно. Кроме того, если бы разработчик предусмотрительно назвал свои таблицы соответствующим образом, они могли бы явно ссылаться на большое количество одновременно открытых таблиц с помощью таких обозначений, как («сотрудник-> зарплата») и («отпуск-> начальная_дата» ). В качестве альтернативы, команда псевдонима может быть добавлена ​​к начальному открытию оператора таблицы, что делает ссылку на поле таблицы однозначной и простой. Например. можно открыть таблицу и присвоить ей псевдоним следующим образом: «использовать псевдоним EMP Employee», и в дальнейшем ссылаться на переменные таблицы как «Employee-> Name».

Еще одна примечательная особенность - повторное использование одних и тех же предложений для разных команд. Например, предложение FOR ограничивает область действия данной команды. (Это несколько сравнимо с предложением WHERE в SQL.) Различные команды, такие как LIST, DELETE, REPLACE, BROWSE и т. Д., Могут принимать предложение FOR для ограничения (фильтрации) области своей деятельности. Это упрощает изучение языка.

dBase также был одним из первых бизнес-ориентированных языков, реализовавших оценку строк .

 i = 2
 myMacro = "i + 10"
 i = &myMacro
 * comment: i now has the value 12

Здесь «&» указывает интерпретатору оценить строку, хранящуюся в «myMacro», как если бы это был программный код. Это пример функции, которая сделала программирование dBase гибким и динамичным, что в профессии иногда называют «мета-способностями». Это может позволить помещать программные выражения в таблицы, чем-то напоминающие формулы в программах для работы с электронными таблицами.

Однако это также может быть проблематично для предварительной компиляции и для защиты программного кода от взлома. Но dBase, как правило, использовалась для пользовательских внутренних приложений для малых и средних компаний, где отсутствие защиты от копирования по сравнению с скомпилированным программным обеспечением часто было меньшей проблемой.

Приложение ASSIST в dBase III +.

Интерактивность

В дополнение к точечной подсказке, dBase III, III + и IV поставлялись в комплекте с приложением ASSIST для управления данными и запросами, а также приложением APPSGEN, которое позволяло пользователю создавать приложения, не прибегая к написанию кода, например 4GL. Инструмент dBase IV APPSGEN был в значительной степени основан на частях раннего продукта CP / M под названием Personal Pearl.

Ниши

Хотя этот язык потерял популярность в качестве основного делового языка, некоторые считают dBase отличным интерактивным инструментом для произвольной обработки данных. В то время как SQL извлекает наборы данных из реляционной базы данных (РСУБД), с помощью dBase можно более легко манипулировать, форматировать, анализировать и выполнять вычисления с отдельными записями, строками, числами и т. Д. В пошаговом императивном (процедурном) порядке. вместо того, чтобы пытаться понять, как использовать декларативные операции SQL.

Его степень детализации операций обычно меньше, чем у SQL, что упрощает разделение запросов и обработки таблиц на простые для понимания и легкие для тестирования части. Например, можно вставить операцию BROWSE между фильтрацией и этапом агрегации, чтобы изучить промежуточную таблицу или представление (примененный фильтр) перед применением этапа агрегации.

В качестве платформы для разработки приложений dBase заполняет пробел между низкоуровневыми языками, такими как C, C ++ и Java, и высокоуровневыми проприетарными 4GL (языками четвертого поколения) и чисто визуальными инструментами, обеспечивая относительную простоту использования для деловых людей. с менее формальными навыками программирования и высокой производительностью для профессиональных разработчиков, готовых отказаться от низкоуровневого управления.

dBase оставался популярным обучающим инструментом даже после спада продаж, потому что текстовые команды было легче представить в печатных учебных материалах, чем ориентированные на мышь конкуренты. Со временем в продукт были добавлены команды, ориентированные на мышь, но язык команд оставался популярным де-факто стандартом, в то время как команды мыши, как правило, зависели от производителя.

Форматы файлов

Основное наследие dBase - это формат файла .dbf , который был принят в ряде других приложений. Например, формат шейп-файлов , разработанный ESRI для пространственных данных в географической информационной системе ArcInfo для ПК , использует файлы .dbf для хранения данных атрибутов объектов.

Microsoft рекомендует сохранять файл базы данных Microsoft Works в формате файла dBase, чтобы его можно было прочитать в Microsoft Excel .

Для Emacs доступен пакет для чтения файлов xbase.

LibreOffice и OpenOffice Calc могут читать и записывать все общие файлы dbf.

Система базы данных dBase была одной из первых, кто предоставил раздел заголовка для описания структуры данных в файле. Это означало, что программе больше не требовалось предварительных знаний о структуре данных, а она могла спрашивать файл данных, как он структурирован. Существует несколько вариантов файловой структуры .dbf, и не все продукты, связанные с dBase, и файловые структуры .dbf совместимы. VP-Info уникален тем, что может читать все варианты файловой структуры dbf.

Второй тип файла является .DBT формат файла для мемо - полей. В то время как символьные поля ограничены 254 символами каждое, мемо-поле представляет собой 10-байтовый указатель на файл .dbt, который может включать текстовое поле гораздо большего размера. Возможности dBase для обработки мемо-полей были очень ограничены, но некоторые другие языки xBase, такие как Clipper, обрабатывали мемо-поля как строки, как и символьные поля, для всех целей, кроме постоянного хранения.

dBase использует файлы .ndx для одиночных индексов и файлы .mdx ( многоиндексные ) для хранения от 1 до 48 индексов. Некоторые языки xBase, такие как VP-Info, включают совместимость с файлами .ndx, в то время как другие используют другие форматы файлов, такие как .ntx, используемый Clipper, и .idx / .cdx, используемый FoxPro или FlagShip . Более поздние версии Clipper включали драйверы для индексов .ndx, .mdx, .idx и .cdx .

Прием

Джерри Пурнелль в июле 1980 года назвал Vulcan «безумно превосходным», потому что программное обеспечение было мощным, но документация была плохой. Он похвалил его скорость и сложные запросы, но сказал, что «мы много колотим по столу и кричим от ярости на документацию».

В популярной культуре

В фильме « Офисное пространство» персонаж Питер Гиббонс, программист, которого играет Рон Ливингстон , работает над тем, чтобы системы компании соответствовали требованиям 2000 года . На его книжной полке отчетливо видна книга Алана Симпсона « Understanding dBase III Plus ».

В сериале « Звездные врата SG-1» , эпизод 5 сезона 3 под названием « Вознесение », книгу под названием « Использование Клипера» можно увидеть на книжной полке в доме майора Саманты Картер. Clipper - широко используемый компилятор DBASE .

использованная литература

внешние ссылки