Adabas , сокращение от «адаптируемая система баз данных», [1] [2] представляет собой пакет баз данных , разработанный Software AG для работы на мэйнфреймах IBM. Он был запущен в 1971 году как нереляционная [3] база данных. В 2019 году Adabas продается [4] для использования на более широком спектре платформ, включая Linux , Unix и Windows . [5]
Adabas может хранить несколько отношений данных в одной таблице.
Первоначально выпущенный компанией Software AG в 1971 году [6] на мэйнфреймах IBM , использующих DOS/360 , OS/MFT или OS/MVT , Adabas в настоящее время доступен на ряде корпоративных систем, включая BS2000 , z/VSE , z/OS , Unix , Linux и Microsoft Windows . [7] Adabas часто используется вместе с языком программирования Natural от Software AG; многие приложения, использующие Adabas в качестве серверной базы данных, разработаны с использованием Natural. В 2016 году Software AG объявила, что Adabas и Natural будут поддерживаться до 2050 года и далее. [8]
Adabas — один из трех основных пакетов СУБД с обратным списком , два других — это Model 204 от Computer Corporation of America и Datacom/DB от ADR. [9]
С момента появления Natural [10] [11] в 1979 году популярность баз данных Adabas выросла. К 1990 году компания SAS [12] поддерживала Adabas.
В официальном документе IBM от 2015 года говорится: «Приложения, написанные в дореляционных базах данных, таких как Adabas, больше не являются массовыми и не соответствуют принятым стандартам ИТ-индустрии». [13] Однако база данных Adabas может быть спроектирована в соответствии с реляционной моделью. Хотя существуют инструменты и сервисы, облегчающие преобразование Adabas в различные реляционные базы данных, [14] [15] такие миграции обычно являются дорогостоящими. [16] [17]
Процессоры специального назначения zIIP (System z Integrated Information Processor) от IBM обеспечивают «прямой SQL-доступ к Adabas в реальном времени» (даже несмотря на то, что данные все еще могут храниться в нереляционной форме). [18]
Adabas — это аббревиатура от « Адаптируемая система баз данных » [19] (первоначально она была написана заглавными буквами; сегодня в названии продукта используется только начальная заглавная буква ) .
Adabas — это база данных с инвертированным списком , имеющая следующие характеристики и терминологию:
Adabas обычно используется в приложениях, требующих обработки больших объемов данных , или в средах онлайн-аналитической обработки с большим количеством транзакций . [21]
Доступ к Adabas обычно осуществляется через модули Natural с использованием одного из нескольких операторов Natural, включая READ, FIND и HISTOGRAM. Эти операторы генерируют дополнительные команды, такие как открытие и закрытие файла. Данные Adabas также можно получить с помощью прямых вызовов. [ нужна цитата ]
НАЙТИ СОТРУДНИКА ПО ИМЯ = «ДЖОНС» ИЛИ = «ПЕКАРЬ» И ГОРОДУ = «БОСТОН» ЧЕРЕЗ «НЬЮ-ЙОРК» И ГОРОДУ NE «ЧЕЙПЕЛ ХИЛЛ» СОРТИРОВАТЬ ПО ИМЕНИ ГДЕ ЗАРПЛАТА < 28000 ОТОБРАЖАЕМОЕ ИМЯ ИМЯ ГОРОД ЗАРПЛАТА КОНЕЦ - НАЙТИ КОНЕЦ
В приведенной выше программе критерии поиска, указанные в предложении With, обрабатываются Adabas, тогда как дополнительная фильтрация, указанная в предложении WHERE, выполняется Natural.
Выход программы:
ИМЯ ИМЯ ГОРОД ЗАРПЛАТА ---------------------------------- БЕЙКЕР ПОЛИНА ДЕРБИ 4450 ДЖОНС МАРТА КАЛАМАЗУ 21000 ДЖОНС КЕВИН ДЕРБИ 7000
Natural — это собственный язык программирования четвертого поколения . Он не входил в первоначальный выпуск Adabas (1971 г.). [22]
Естественные программы можно «запускать» интерпретативно или «исполнять» как скомпилированные объекты. [23] Скомпилированные программы могут более напрямую использовать службы операционной системы и работать быстрее.
Сторонники говорят, что Natural превратился из конкурента COBOL в «конкурента с Java как предпочтительного языка для написания сервисов ( SOA )». [24]
Natural, включающий встроенный экранно-ориентированный редактор, состоит из двух основных компонентов: системы и языка.
Система является центральным средством связи между пользователем и всеми другими компонентами среды обработки.
Язык структурирован и менее процедурен, чем обычные языки.
Естественные объекты (программы, карты, области данных и т.п.) хранятся в библиотеках, аналогичных по структуре каталогу DOS, и могут быть названы идентификаторами длиной до 8 символов.
Объекты, даже если они разных типов, не могут иметь одинаковое имя (внутри одной библиотеки).
Natural обеспечивает как онлайновое, так и пакетное выполнение. Пакетные программы могут читать/записывать до 32 рабочих файлов и печатать до 32 отчетов. Natural также поддерживает интерактивный отладчик, который позволяет разработчикам пошагово выполнять код и отображать содержимое переменных.
Существуют версии для z/OS, z/VSE, BS2000/OS, Linux, Unix и Windows. [25]
Natural работает не только с файлами Adabas, но также поддерживает Oracle , DB2 и другие.
Образец кода:
ОПРЕДЕЛИТЬ ДАННЫЕ ЛОКАЛЬНЫЕ 01 СОТРУДНИКИ ПРОСМОТР СОТРУДНИКОВ 02 ЗАРПЛАТА ( 1 ) END -ОПРЕДЕЛИТЬ ПРОЧИТАТЬ СОТРУДНИКОВ ПО ИМЯ В КОНЦЕ ОТОБРАЖЕНИЯ ДАННЫХ MIN ( СОТРУДНИКИ . ЗАРПЛАТА ( 1 ) ) ( EM = ZZZ , ZZZ , ZZ9 ) AVER ( СОТРУДНИКИ . ЗАРПЛАТА ( 1 ) )) ( EM = ZZZ , ZZZ , ZZ9 ) MAX ( СОТРУДНИКИ . ЗАРПЛАТА ( 1 )) ( EM = ZZZ , ZZZ , ZZ9 ) END-ENDDATA END-READ END
Выход:
Страница 1 18-08-22 16:42:22 ГОДОВОЙ ГОДОВОЙ ГОДОВОЙ ЗАРПЛАТА ЗАРПЛАТА ЗАРПЛАТА ----------- ----------- ----------- 0 240 976 6 380 000
Язык строго типизирован , в нем используется явная типизация переменных, которые могут быть одними из:
Системный файл представляет собой файл Adabas, зарезервированный для использования Natural, который содержит, помимо прочего, следующее:
Системный файл не ограничивается Adabas. Natural также может хранить программы в VSAM в операционных системах мэйнфреймов. Natural использует файловую систему Windows и различные реализации Unix.
Природные объекты идентифицируются по названиям длиной до 8 символов, первый из которых должен быть алфавитным.
Редактор программ Natural позволяет использовать исходные тексты в строках длиной до 72 позиций. Строки нумеруются 4 цифрами. Эта нумерация генерируется Natural во время создания программы. Номера строк используются компилятором и редакторами и могут иметь важные логические функции в программах.
Комментарии можно добавлять двумя способами:
Примеры:
0010 * Эти две строки (0010 и 0020)0020** — комментарии.0030 FORMAT LS = 80 /* А также эта часть строки (0030)0040 * ПРИМЕЧАНИЕ. В форме «/*» между косой чертой и звездочкой пробела нет...0200 КОНЕЦ
«КОНЕЦ» или «». указывает на конец программы.
Пример кода Hello World:
* Привет, мир в ЕСТЕСТВЕННОМ режимеНАПИШИТЕ «Привет, мир!»КОНЕЦ
Большинство установок Natural включают дополнительные продукты, такие как:
ADABAS была ... одной из трех основных СУБД с обратным списком, двумя другими были модель 204 Computer Corporation of America и Datacom/DB компании ADR.